Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be0b165b authored by Santiago Seifert's avatar Santiago Seifert Committed by Android (Google) Code Review
Browse files

Merge "Defer extractor init until after sniff" into rvc-dev

parents 153d5f6b aba783aa
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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) {