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

Commit 41e096e6 authored by Marco Nelissen's avatar Marco Nelissen Committed by Automerger Merge Worker
Browse files

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

Change-Id: I3315634e405a89e57a676152e1839526d962d486
parents 1f890407 0ad9221e
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;
                }