diff options
| -rw-r--r-- | media/jni/Android.bp | 3 | ||||
| -rw-r--r-- | media/jni/android_media_MediaPlayer2.cpp | 15 |
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; } |