summaryrefslogtreecommitdiff
path: root/apex/media
diff options
context:
space:
mode:
authorshubang <shubang@google.com>2021-03-18 07:10:22 -0700
committershubang <shubang@google.com>2021-03-23 22:49:42 -0700
commitc56cc00ab8f98fb93e9039248fa252ace2c2465b (patch)
treec10964cc2206eb83600bd36d01ad919092998090 /apex/media
parentdc2a0a63f908e263af28a03749cdb40e03f094ef (diff)
Change session ID string to ID object
Based on API review feedback from jmtrivi@ to reduce unexpected usage of the APIs. And add some stub APIs Reference CLs: MediaDrm ag/13835091 by robertshih@ MediaExtractor: ag/13607751 by aquilescanta@ MediaParser: ag/13714647 by aquilescanta@ MediaRecorder: ag/13545885 by dichenzhang@ AudioTrack & AudioRecord: ag/13712857 by hunga@ Bug: 183095725 Test: pending CTS CTS-Coverage-Bug: 183366721 Change-Id: I931edf021a5ec6b27a25bc6142a129b92da0fc9a Merged-In: I931edf021a5ec6b27a25bc6142a129b92da0fc9a
Diffstat (limited to 'apex/media')
-rw-r--r--apex/media/framework/api/current.txt2
-rw-r--r--apex/media/framework/java/android/media/MediaParser.java14
2 files changed, 16 insertions, 0 deletions
diff --git a/apex/media/framework/api/current.txt b/apex/media/framework/api/current.txt
index 80698f7cedc9..bebf0190191b 100644
--- a/apex/media/framework/api/current.txt
+++ b/apex/media/framework/api/current.txt
@@ -69,10 +69,12 @@ package android.media {
method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException;
method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...);
method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
+ method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
method @NonNull public String getParserName();
method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat);
method public void release();
method public void seek(@NonNull android.media.MediaParser.SeekPoint);
+ method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object);
method public boolean supportsParameter(@NonNull String);
field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking";
diff --git a/apex/media/framework/java/android/media/MediaParser.java b/apex/media/framework/java/android/media/MediaParser.java
index 8bdca766e0dd..cff422d0aafe 100644
--- a/apex/media/framework/java/android/media/MediaParser.java
+++ b/apex/media/framework/java/android/media/MediaParser.java
@@ -21,6 +21,7 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.StringDef;
import android.media.MediaCodec.CryptoInfo;
+import android.media.metrics.LogSessionId;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
@@ -74,6 +75,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Function;
@@ -1066,6 +1068,7 @@ public final class MediaParser {
private boolean mReleased;
// MediaMetrics fields.
+ @NonNull private LogSessionId mLogSessionId = LogSessionId.LOG_SESSION_ID_NONE;
private final boolean mCreatedByName;
private final SparseArray<Format> mTrackFormats;
private String mLastObservedExceptionName;
@@ -1328,6 +1331,7 @@ public final class MediaParser {
MEDIAMETRICS_PARAMETER_LIST_MAX_LENGTH));
nativeSubmitMetrics(
+ // TODO: mLogSessionId,
mParserName,
mCreatedByName,
String.join(MEDIAMETRICS_ELEMENT_SEPARATOR, mParserNamesPool),
@@ -1341,6 +1345,15 @@ public final class MediaParser {
videoHeight);
}
+ public void setLogSessionId(@NonNull LogSessionId sessionId) {
+ this.mLogSessionId = Objects.requireNonNull(sessionId);
+ }
+
+ @NonNull
+ public LogSessionId getLogSessionId() {
+ return mLogSessionId;
+ }
+
// Private methods.
private MediaParser(
@@ -2184,6 +2197,7 @@ public final class MediaParser {
// Native methods.
private native void nativeSubmitMetrics(
+ // TODO: String logSessionId,
String parserName,
boolean createdByName,
String parserPool,