Merge "Fix extractor creation" into rvc-dev am: 82544c804d

Change-Id: Ieab99c32cecd230b88a32c0133d6ad0617456b38
This commit is contained in:
TreeHugger Robot
2020-04-15 20:19:00 +00:00
committed by Automerger Merge Worker

View File

@@ -850,7 +850,7 @@ public final class MediaParser {
private final InputReadingDataSource mDataSource; private final InputReadingDataSource mDataSource;
private final DataReaderAdapter mScratchDataReaderAdapter; private final DataReaderAdapter mScratchDataReaderAdapter;
private final ParsableByteArrayAdapter mScratchParsableByteArrayAdapter; private final ParsableByteArrayAdapter mScratchParsableByteArrayAdapter;
private String mExtractorName; private String mParserName;
private Extractor mExtractor; private Extractor mExtractor;
private ExtractorInput mExtractorInput; private ExtractorInput mExtractorInput;
private long mPendingSeekPosition; private long mPendingSeekPosition;
@@ -924,7 +924,7 @@ public final class MediaParser {
@NonNull @NonNull
@ParserName @ParserName
public String getParserName() { public String getParserName() {
return mExtractorName; return mParserName;
} }
/** /**
@@ -958,15 +958,15 @@ 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.equals(PARSER_NAME_UNKNOWN)) { if (!mParserName.equals(PARSER_NAME_UNKNOWN)) {
mExtractor = EXTRACTOR_FACTORIES_BY_NAME.get(mExtractorName).createInstance(); mExtractor = createExtractor(mParserName);
mExtractor.init(new ExtractorOutputAdapter()); mExtractor.init(new ExtractorOutputAdapter());
} else { } else {
for (String parserName : mParserNamesPool) { for (String parserName : mParserNamesPool) {
Extractor extractor = createExtractor(parserName); Extractor extractor = createExtractor(parserName);
try { try {
if (extractor.sniff(mExtractorInput)) { if (extractor.sniff(mExtractorInput)) {
mExtractorName = parserName; mParserName = parserName;
mExtractor = extractor; mExtractor = extractor;
mExtractor.init(new ExtractorOutputAdapter()); mExtractor.init(new ExtractorOutputAdapter());
break; break;
@@ -1044,7 +1044,7 @@ public final class MediaParser {
mParserParameters = new HashMap<>(); mParserParameters = new HashMap<>();
mOutputConsumer = outputConsumer; mOutputConsumer = outputConsumer;
mParserNamesPool = parserNamesPool; mParserNamesPool = parserNamesPool;
mExtractorName = sniff ? PARSER_NAME_UNKNOWN : parserNamesPool[0]; mParserName = sniff ? PARSER_NAME_UNKNOWN : parserNamesPool[0];
mPositionHolder = new PositionHolder(); mPositionHolder = new PositionHolder();
mDataSource = new InputReadingDataSource(); mDataSource = new InputReadingDataSource();
removePendingSeek(); removePendingSeek();
@@ -1090,7 +1090,7 @@ public final class MediaParser {
getBooleanParameter(PARAMETER_MP4_IGNORE_EDIT_LISTS) getBooleanParameter(PARAMETER_MP4_IGNORE_EDIT_LISTS)
? Mp4Extractor.FLAG_WORKAROUND_IGNORE_EDIT_LISTS ? Mp4Extractor.FLAG_WORKAROUND_IGNORE_EDIT_LISTS
: 0; : 0;
return new Mp4Extractor(); return new Mp4Extractor(flags);
case PARSER_NAME_MP3: case PARSER_NAME_MP3:
flags |= flags |=
getBooleanParameter(PARAMETER_MP3_DISABLE_ID3) getBooleanParameter(PARAMETER_MP3_DISABLE_ID3)