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

Commit 462a6943 authored by Danny Baumann's avatar Danny Baumann
Browse files

Fix endless loop of mediascanner with some MPEG files.

parent b86f3a81
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -146,6 +146,11 @@ sp<ABuffer> ElementaryStreamQueue::dequeueAccessUnitAAC() {
        bits.skipBits(2);

        unsigned aac_frame_length = bits.getBits(13);
        size_t headerSize = protection_absent ? 7 : 9;

        if (aac_frame_length < headerSize) {
            break;
        }

        bits.skipBits(11);  // adts_buffer_fullness

@@ -160,8 +165,6 @@ sp<ABuffer> ElementaryStreamQueue::dequeueAccessUnitAAC() {
            break;
        }

        size_t headerSize = protection_absent ? 7 : 9;

        frameOffsets.push(offset + headerSize);
        frameSizes.push(aac_frame_length - headerSize);
        auSize += aac_frame_length - headerSize;