diff options
author | Andreas Huber <andih@google.com> | 2012-05-15 14:12:30 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-05-15 14:12:30 -0700 |
commit | 259b39cbfc03cb94c48e66d752836e153e9a2f8b (patch) | |
tree | ad14ff6b63b39be8b3ee12de88a6cb21dcd7592d /media | |
parent | 2986460984580833161bdaabc7f17da1005a8961 (diff) | |
download | frameworks_av-259b39cbfc03cb94c48e66d752836e153e9a2f8b.zip frameworks_av-259b39cbfc03cb94c48e66d752836e153e9a2f8b.tar.gz frameworks_av-259b39cbfc03cb94c48e66d752836e153e9a2f8b.tar.bz2 |
Ignore sideband parsing errors and spit out a frame of silence.
Change-Id: I274d8e9018e02eb42121a2440b42caefeca94fb0
related-to-bug: 6498193
Diffstat (limited to 'media')
-rw-r--r-- | media/libstagefright/codecs/mp3dec/SoftMP3.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/media/libstagefright/codecs/mp3dec/SoftMP3.cpp b/media/libstagefright/codecs/mp3dec/SoftMP3.cpp index 92009ee..8f2a3aa 100644 --- a/media/libstagefright/codecs/mp3dec/SoftMP3.cpp +++ b/media/libstagefright/codecs/mp3dec/SoftMP3.cpp @@ -225,19 +225,19 @@ void SoftMP3::onQueueFilled(OMX_U32 portIndex) { != NO_DECODING_ERROR) { ALOGV("mp3 decoder returned error %d", decoderErr); - if (decoderErr != NO_ENOUGH_MAIN_DATA_ERROR || - mConfig->outputFrameSize == 0) { + if (decoderErr != NO_ENOUGH_MAIN_DATA_ERROR + && decoderErr != SIDE_INFO_ERROR) { ALOGE("mp3 decoder returned error %d", decoderErr); - if (mConfig->outputFrameSize == 0) { - ALOGE("Output frame size is 0"); - } - notify(OMX_EventError, OMX_ErrorUndefined, decoderErr, NULL); mSignalledError = true; return; } + if (mConfig->outputFrameSize == 0) { + mConfig->outputFrameSize = kOutputBufferSize / sizeof(int16_t); + } + // This is recoverable, just ignore the current frame and // play silence instead. memset(outHeader->pBuffer, |