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

Commit e3fdb601 authored by Andy Hung's avatar Andy Hung
Browse files

Fix WAVExtractor to output full audio frames only

Fixes NuPlayer crash from MediaBuffers ending in partial audio frames.

Bug: 16881623
Change-Id: Ia80a9910f99245e645860c00ae85118cc85bef57
parent 0912a573
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -439,6 +439,10 @@ status_t WAVSource::read(
        maxBytesToRead = maxBytesAvailable;
    }

    // read only integral amounts of audio unit frames.
    const size_t inputUnitFrameSize = mNumChannels * mBitsPerSample / 8;
    maxBytesToRead -= maxBytesToRead % inputUnitFrameSize;

    if (mWaveFormat == WAVE_FORMAT_MSGSM) {
        // Microsoft packs 2 frames into 65 bytes, rather than using separate 33-byte frames,
        // so read multiples of 65, and use smaller buffers to account for ~10:1 expansion ratio