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

Commit ed43500b authored by Santiago Seifert's avatar Santiago Seifert Committed by Automerger Merge Worker
Browse files

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

Change-Id: I4a99dea2ac622b67fe299751874e8ffab2561c07
parents c6e9c5d5 be0b165b
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) {