summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/jni/Android.bp3
-rw-r--r--media/jni/android_media_MediaPlayer2.cpp15
2 files changed, 6 insertions, 12 deletions
diff --git a/media/jni/Android.bp b/media/jni/Android.bp
index 88ef30479674..852d2962ee66 100644
--- a/media/jni/Android.bp
+++ b/media/jni/Android.bp
@@ -101,8 +101,7 @@ cc_library_shared {
"libhidlbase",
"libhidlmemory",
- "libmediametrics_stable",
- "libmediametrics", // until player2 starts calling the stable interface
+ "libmediametrics",
"libbinder", // Used by JWakeLock and MediaMetrics.
"libutils", // Have to use shared lib to make libandroid_runtime behave correctly.
diff --git a/media/jni/android_media_MediaPlayer2.cpp b/media/jni/android_media_MediaPlayer2.cpp
index 9b4e730cfb5e..306916121740 100644
--- a/media/jni/android_media_MediaPlayer2.cpp
+++ b/media/jni/android_media_MediaPlayer2.cpp
@@ -786,22 +786,17 @@ android_media_MediaPlayer2_native_getMetrics(JNIEnv *env, jobject thiz)
return 0;
}
- Parcel p;
- int key = FOURCC('m','t','r','X');
- status_t status = mp->getParameter(key, &p);
+ char *buffer = NULL;
+ size_t length = 0;
+ status_t status = mp->getMetrics(&buffer, &length);
if (status != OK) {
ALOGD("getMetrics() failed: %d", status);
return (jobject) NULL;
}
- p.setDataPosition(0);
- MediaAnalyticsItem *item = new MediaAnalyticsItem;
- item->readFromParcel(p);
- jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL);
+ jobject mybundle = MediaMetricsJNI::writeAttributesToBundle(env, NULL, buffer, length);
- // housekeeping
- delete item;
- item = NULL;
+ free(buffer);
return mybundle;
}