summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/jni/android_media_MediaCodec.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 4492c858c084..001653b08f0c 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -1461,6 +1461,21 @@ void JMediaCodec::handleCallback(const sp<AMessage> &msg) {
break;
}
+ case MediaCodec::CB_METRICS_FLUSHED:
+ {
+ sp<WrapperObject<std::unique_ptr<mediametrics::Item>>> metrics;
+ CHECK(msg->findObject("metrics", (sp<RefBase>*)&metrics));
+
+ // metrics should never be null. Not sure if checking it here adds any value.
+ if (metrics == nullptr) {
+ return;
+ }
+
+ mediametrics::Item *item = metrics->value.get();
+ obj = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL);
+ break;
+ }
+
default:
TRESPASS();
}