Loading apex/media/framework/Android.bp +4 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ java_library { installable: true, sdk_version: "module_current", libs: ["framework-annotations-lib"], libs: [ "androidx.annotation_annotation", "framework-annotations-lib", ], static_libs: [ "exoplayer2-extractor", "mediatranscoding_aidl_interface-java", Loading apex/media/framework/java/android/media/MediaParser.java +17 −6 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ import android.util.Log; import android.util.Pair; import android.util.SparseArray; import androidx.annotation.RequiresApi; import com.android.modules.utils.build.SdkLevel; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.ParserException; Loading Loading @@ -1068,7 +1072,7 @@ public final class MediaParser { private boolean mReleased; // MediaMetrics fields. @NonNull private LogSessionId mLogSessionId = LogSessionId.LOG_SESSION_ID_NONE; @Nullable private LogSessionId mLogSessionId; private final boolean mCreatedByName; private final SparseArray<Format> mTrackFormats; private String mLastObservedExceptionName; Loading Loading @@ -1331,7 +1335,7 @@ public final class MediaParser { MEDIAMETRICS_PARAMETER_LIST_MAX_LENGTH)); nativeSubmitMetrics( // TODO: mLogSessionId, SdkLevel.isAtLeastS() ? getLogSessionIdStringV31() : "", mParserName, mCreatedByName, String.join(MEDIAMETRICS_ELEMENT_SEPARATOR, mParserNamesPool), Loading @@ -1345,13 +1349,15 @@ public final class MediaParser { videoHeight); } public void setLogSessionId(@NonNull LogSessionId sessionId) { this.mLogSessionId = Objects.requireNonNull(sessionId); @RequiresApi(31) public void setLogSessionId(@NonNull LogSessionId logSessionId) { this.mLogSessionId = Objects.requireNonNull(logSessionId); } @RequiresApi(31) @NonNull public LogSessionId getLogSessionId() { return mLogSessionId; return mLogSessionId != null ? mLogSessionId : LogSessionId.LOG_SESSION_ID_NONE; } // Private methods. Loading Loading @@ -1548,6 +1554,11 @@ public final class MediaParser { return (String) mParserParameters.getOrDefault(name, defaultValue); } @RequiresApi(31) private String getLogSessionIdStringV31() { return mLogSessionId != null ? mLogSessionId.getStringId() : ""; } // Private classes. private static final class InputReadingDataReader implements DataReader { Loading Loading @@ -2197,7 +2208,7 @@ public final class MediaParser { // Native methods. private native void nativeSubmitMetrics( // TODO: String logSessionId, String logSessionId, String parserName, boolean createdByName, String parserPool, Loading apex/media/framework/jni/android_media_MediaParserJNI.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ namespace { constexpr char kMediaMetricsKey[] = "mediaparser"; constexpr char kAttributeLogSessionId[] = "android.media.mediaparser.logSessionId"; constexpr char kAttributeParserName[] = "android.media.mediaparser.parserName"; constexpr char kAttributeCreatedByName[] = "android.media.mediaparser.createdByName"; constexpr char kAttributeParserPool[] = "android.media.mediaparser.parserPool"; Loading Loading @@ -65,11 +66,14 @@ public: } // namespace JNI_FUNCTION(void, nativeSubmitMetrics, jstring parserNameJstring, jboolean createdByName, jstring parserPoolJstring, jstring lastExceptionJstring, jlong resourceByteCount, jlong durationMillis, jstring trackMimeTypesJstring, jstring trackCodecsJstring, jstring alteredParameters, jint videoWidth, jint videoHeight) { JNI_FUNCTION(void, nativeSubmitMetrics, jstring logSessionIdJstring, jstring parserNameJstring, jboolean createdByName, jstring parserPoolJstring, jstring lastExceptionJstring, jlong resourceByteCount, jlong durationMillis, jstring trackMimeTypesJstring, jstring trackCodecsJstring, jstring alteredParameters, jint videoWidth, jint videoHeight) { mediametrics_handle_t item(mediametrics_create(kMediaMetricsKey)); mediametrics_setCString(item, kAttributeLogSessionId, JstringHandle(env, logSessionIdJstring).value()); mediametrics_setCString(item, kAttributeParserName, JstringHandle(env, parserNameJstring).value()); mediametrics_setInt32(item, kAttributeCreatedByName, createdByName ? 1 : 0); Loading Loading
apex/media/framework/Android.bp +4 −1 Original line number Diff line number Diff line Loading @@ -41,7 +41,10 @@ java_library { installable: true, sdk_version: "module_current", libs: ["framework-annotations-lib"], libs: [ "androidx.annotation_annotation", "framework-annotations-lib", ], static_libs: [ "exoplayer2-extractor", "mediatranscoding_aidl_interface-java", Loading
apex/media/framework/java/android/media/MediaParser.java +17 −6 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ import android.util.Log; import android.util.Pair; import android.util.SparseArray; import androidx.annotation.RequiresApi; import com.android.modules.utils.build.SdkLevel; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.Format; import com.google.android.exoplayer2.ParserException; Loading Loading @@ -1068,7 +1072,7 @@ public final class MediaParser { private boolean mReleased; // MediaMetrics fields. @NonNull private LogSessionId mLogSessionId = LogSessionId.LOG_SESSION_ID_NONE; @Nullable private LogSessionId mLogSessionId; private final boolean mCreatedByName; private final SparseArray<Format> mTrackFormats; private String mLastObservedExceptionName; Loading Loading @@ -1331,7 +1335,7 @@ public final class MediaParser { MEDIAMETRICS_PARAMETER_LIST_MAX_LENGTH)); nativeSubmitMetrics( // TODO: mLogSessionId, SdkLevel.isAtLeastS() ? getLogSessionIdStringV31() : "", mParserName, mCreatedByName, String.join(MEDIAMETRICS_ELEMENT_SEPARATOR, mParserNamesPool), Loading @@ -1345,13 +1349,15 @@ public final class MediaParser { videoHeight); } public void setLogSessionId(@NonNull LogSessionId sessionId) { this.mLogSessionId = Objects.requireNonNull(sessionId); @RequiresApi(31) public void setLogSessionId(@NonNull LogSessionId logSessionId) { this.mLogSessionId = Objects.requireNonNull(logSessionId); } @RequiresApi(31) @NonNull public LogSessionId getLogSessionId() { return mLogSessionId; return mLogSessionId != null ? mLogSessionId : LogSessionId.LOG_SESSION_ID_NONE; } // Private methods. Loading Loading @@ -1548,6 +1554,11 @@ public final class MediaParser { return (String) mParserParameters.getOrDefault(name, defaultValue); } @RequiresApi(31) private String getLogSessionIdStringV31() { return mLogSessionId != null ? mLogSessionId.getStringId() : ""; } // Private classes. private static final class InputReadingDataReader implements DataReader { Loading Loading @@ -2197,7 +2208,7 @@ public final class MediaParser { // Native methods. private native void nativeSubmitMetrics( // TODO: String logSessionId, String logSessionId, String parserName, boolean createdByName, String parserPool, Loading
apex/media/framework/jni/android_media_MediaParserJNI.cpp +8 −4 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ namespace { constexpr char kMediaMetricsKey[] = "mediaparser"; constexpr char kAttributeLogSessionId[] = "android.media.mediaparser.logSessionId"; constexpr char kAttributeParserName[] = "android.media.mediaparser.parserName"; constexpr char kAttributeCreatedByName[] = "android.media.mediaparser.createdByName"; constexpr char kAttributeParserPool[] = "android.media.mediaparser.parserPool"; Loading Loading @@ -65,11 +66,14 @@ public: } // namespace JNI_FUNCTION(void, nativeSubmitMetrics, jstring parserNameJstring, jboolean createdByName, jstring parserPoolJstring, jstring lastExceptionJstring, jlong resourceByteCount, jlong durationMillis, jstring trackMimeTypesJstring, jstring trackCodecsJstring, jstring alteredParameters, jint videoWidth, jint videoHeight) { JNI_FUNCTION(void, nativeSubmitMetrics, jstring logSessionIdJstring, jstring parserNameJstring, jboolean createdByName, jstring parserPoolJstring, jstring lastExceptionJstring, jlong resourceByteCount, jlong durationMillis, jstring trackMimeTypesJstring, jstring trackCodecsJstring, jstring alteredParameters, jint videoWidth, jint videoHeight) { mediametrics_handle_t item(mediametrics_create(kMediaMetricsKey)); mediametrics_setCString(item, kAttributeLogSessionId, JstringHandle(env, logSessionIdJstring).value()); mediametrics_setCString(item, kAttributeParserName, JstringHandle(env, parserNameJstring).value()); mediametrics_setInt32(item, kAttributeCreatedByName, createdByName ? 1 : 0); Loading