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

Commit 0ad9221e authored by Marco Nelissen's avatar Marco Nelissen Committed by Android (Google) Code Review
Browse files

Merge "MatroskaExtractor: release buffers in error cases" into rvc-dev

parents cc79094c 3c4150d6
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -814,11 +814,13 @@ media_status_t MatroskaSource::readBlock() {
            int32_t sampleRate;
            if (!AMediaFormat_getInt32(trackInfo->mMeta, AMEDIAFORMAT_KEY_SAMPLE_RATE,
                                       &sampleRate)) {
                mbuf->release();
                return AMEDIA_ERROR_MALFORMED;
            }
            int64_t durationUs;
            if (!AMediaFormat_getInt64(trackInfo->mMeta, AMEDIAFORMAT_KEY_DURATION,
                                       &durationUs)) {
                mbuf->release();
                return AMEDIA_ERROR_MALFORMED;
            }
            // TODO: Explore if this can be handled similar to MPEG4 extractor where padding is
@@ -981,6 +983,7 @@ media_status_t MatroskaSource::mp3FrameRead(
        while (mPendingFrames.empty()) {
            media_status_t err = readBlock();
            if (err != OK) {
                buffer->release();
                clearPendingFrames();
                return err;
            }
@@ -1000,6 +1003,7 @@ media_status_t MatroskaSource::mp3FrameRead(
            while (mPendingFrames.empty()) {
                media_status_t err = readBlock();
                if (err != OK) {
                    buffer->release();
                    clearPendingFrames();
                    return err;
                }