Merge "Defer extractor init until after sniff" into rvc-dev am: be0b165b6e am: 79f5400823
Change-Id: Ib8a78da9b4a6945f66b5ccd7a6190d069cfc6556
This commit is contained in:
@@ -856,6 +856,7 @@ public final class MediaParser {
|
||||
private String mParserName;
|
||||
private Extractor mExtractor;
|
||||
private ExtractorInput mExtractorInput;
|
||||
private boolean mPendingExtractorInit;
|
||||
private long mPendingSeekPosition;
|
||||
private long mPendingSeekTimeMicros;
|
||||
private boolean mLoggedSchemeInitDataCreationException;
|
||||
@@ -972,7 +973,7 @@ public final class MediaParser {
|
||||
if (extractor.sniff(mExtractorInput)) {
|
||||
mParserName = parserName;
|
||||
mExtractor = extractor;
|
||||
mExtractor.init(new ExtractorOutputAdapter());
|
||||
mPendingExtractorInit = true;
|
||||
break;
|
||||
}
|
||||
} catch (EOFException e) {
|
||||
@@ -988,13 +989,17 @@ public final class MediaParser {
|
||||
}
|
||||
}
|
||||
|
||||
if (mPendingExtractorInit) {
|
||||
mExtractor.init(new ExtractorOutputAdapter());
|
||||
mPendingExtractorInit = false;
|
||||
}
|
||||
if (isPendingSeek()) {
|
||||
mExtractor.seek(mPendingSeekPosition, mPendingSeekTimeMicros);
|
||||
removePendingSeek();
|
||||
}
|
||||
|
||||
mPositionHolder.position = seekableInputReader.getPosition();
|
||||
int result = 0;
|
||||
int result;
|
||||
try {
|
||||
result = mExtractor.read(mExtractorInput, mPositionHolder);
|
||||
} catch (ParserException e) {
|
||||
|
||||
Reference in New Issue
Block a user