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

Commit 149cf6a4 authored by Phil Burk's avatar Phil Burk
Browse files

MediaExtractor: stop rendering when an error occurs

Bug: 68664359
Bug: 110435401
Test: Try to play a bogus OTA file. See bug for details.
Change-Id: If1322524fcfebc6c5f139288f044b0189da66c1b
parent e8924ce0
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -247,8 +247,9 @@ MediaBufferBase* MidiEngine::readBuffer() {
        EAS_I32 numRendered;
        EAS_I32 numRendered;
        EAS_RESULT result = EAS_Render(mEasData, p, mEasConfig->mixBufferSize, &numRendered);
        EAS_RESULT result = EAS_Render(mEasData, p, mEasConfig->mixBufferSize, &numRendered);
        if (result != EAS_SUCCESS) {
        if (result != EAS_SUCCESS) {
            ALOGE("EAS_Render returned %ld", result);
            ALOGE("EAS_Render() returned %ld, numBytesOutput = %d", result, numBytesOutput);
            break;
            buffer->release();
            return NULL; // Stop processing to prevent infinite loops.
        }
        }
        p += numRendered * mEasConfig->numChannels;
        p += numRendered * mEasConfig->numChannels;
        numBytesOutput += numRendered * mEasConfig->numChannels * sizeof(EAS_PCM);
        numBytesOutput += numRendered * mEasConfig->numChannels * sizeof(EAS_PCM);