Merge "Add special value for unknown current parser name" into rvc-dev

This commit is contained in:
Santiago Seifert
2020-03-27 12:41:37 +00:00
committed by Android (Google) Code Review
3 changed files with 12 additions and 10 deletions

View File

@@ -29,7 +29,7 @@ package android.media {
method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; 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 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 static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
method @Nullable public String getParserName(); method @NonNull public String getParserName();
method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat);
method public void release(); method public void release();
method public void seek(@NonNull android.media.MediaParser.SeekPoint); method public void seek(@NonNull android.media.MediaParser.SeekPoint);
@@ -65,6 +65,7 @@ package android.media {
field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser";
field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser";
field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser";
field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN";
field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser";
} }

View File

@@ -452,6 +452,7 @@ public final class MediaParser {
@StringDef( @StringDef(
prefix = {"PARSER_NAME_"}, prefix = {"PARSER_NAME_"},
value = { value = {
PARSER_NAME_UNKNOWN,
PARSER_NAME_MATROSKA, PARSER_NAME_MATROSKA,
PARSER_NAME_FMP4, PARSER_NAME_FMP4,
PARSER_NAME_MP4, PARSER_NAME_MP4,
@@ -469,6 +470,7 @@ public final class MediaParser {
}) })
public @interface ParserName {} public @interface ParserName {}
public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN";
public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser"; public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser";
public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser"; public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser";
public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser"; public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser";
@@ -836,14 +838,14 @@ public final class MediaParser {
* Returns the name of the backing parser implementation. * Returns the name of the backing parser implementation.
* *
* <p>If this instance was creating using {@link #createByName}, the provided name is returned. * <p>If this instance was creating using {@link #createByName}, the provided name is returned.
* If this instance was created using {@link #create}, this method will return null until the * If this instance was created using {@link #create}, this method will return {@link
* first call to {@link #advance}, after which the name of the backing parser implementation is * #PARSER_NAME_UNKNOWN} until the first call to {@link #advance}, after which the name of the
* returned. * backing parser implementation is returned.
* *
* @return The name of the backing parser implementation, or null if the backing parser * @return The name of the backing parser implementation, or null if the backing parser
* implementation has not yet been selected. * implementation has not yet been selected.
*/ */
@Nullable @NonNull
@ParserName @ParserName
public String getParserName() { public String getParserName() {
return mExtractorName; return mExtractorName;
@@ -880,7 +882,7 @@ public final class MediaParser {
// TODO: Apply parameters when creating extractor instances. // TODO: Apply parameters when creating extractor instances.
if (mExtractor == null) { if (mExtractor == null) {
if (mExtractorName != null) { if (!mExtractorName.equals(PARSER_NAME_UNKNOWN)) {
mExtractor = EXTRACTOR_FACTORIES_BY_NAME.get(mExtractorName).createInstance(); mExtractor = EXTRACTOR_FACTORIES_BY_NAME.get(mExtractorName).createInstance();
mExtractor.init(new ExtractorOutputAdapter()); mExtractor.init(new ExtractorOutputAdapter());
} else { } else {
@@ -974,9 +976,7 @@ public final class MediaParser {
mParserParameters = new HashMap<>(); mParserParameters = new HashMap<>();
mOutputConsumer = outputConsumer; mOutputConsumer = outputConsumer;
mParserNamesPool = parserNamesPool; mParserNamesPool = parserNamesPool;
if (!sniff) { mExtractorName = sniff ? PARSER_NAME_UNKNOWN : parserNamesPool[0];
mExtractorName = parserNamesPool[0];
}
mPositionHolder = new PositionHolder(); mPositionHolder = new PositionHolder();
mDataSource = new InputReadingDataSource(); mDataSource = new InputReadingDataSource();
removePendingSeek(); removePendingSeek();

View File

@@ -26400,7 +26400,7 @@ package android.media {
method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; 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 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 static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
method @Nullable public String getParserName(); method @NonNull public String getParserName();
method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat);
method public void release(); method public void release();
method public void seek(@NonNull android.media.MediaParser.SeekPoint); method public void seek(@NonNull android.media.MediaParser.SeekPoint);
@@ -26436,6 +26436,7 @@ package android.media {
field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser";
field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser";
field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser";
field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN";
field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser";
} }