From 3c78a1b58957e31d2991fb6a609abecbb1987b3b Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Thu, 13 May 2010 09:15:21 -0700 Subject: [PATCH] Return a runtime error instead of asserting if the AACDecoder is passed an unsupported config. Change-Id: Ie084ed4df5a5d286abd36d9149c2138f8e7ed08a related-to-bug: 2682221 QA-impact: none --- media/libstagefright/AwesomePlayer.cpp | 7 ++++++- media/libstagefright/codecs/aacdec/AACDecoder.cpp | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 475160eeb45c7..f668caacc2393 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -778,7 +778,12 @@ status_t AwesomePlayer::initAudioDecoder() { } } - mAudioSource->start(); + status_t err = mAudioSource->start(); + + if (err != OK) { + mAudioSource.clear(); + return err; + } } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_QCELP)) { // For legacy reasons we're simply going to ignore the absence // of an audio decoder for QCELP instead of aborting playback diff --git a/media/libstagefright/codecs/aacdec/AACDecoder.cpp b/media/libstagefright/codecs/aacdec/AACDecoder.cpp index ae23691db9e39..2bc44483fd3f9 100644 --- a/media/libstagefright/codecs/aacdec/AACDecoder.cpp +++ b/media/libstagefright/codecs/aacdec/AACDecoder.cpp @@ -90,8 +90,10 @@ status_t AACDecoder::start(MetaData *params) { mConfig->pOutputBuffer_plus = NULL; mConfig->repositionFlag = false; - CHECK_EQ(PVMP4AudioDecoderConfig(mConfig, mDecoderBuf), - MP4AUDEC_SUCCESS); + if (PVMP4AudioDecoderConfig(mConfig, mDecoderBuf) + != MP4AUDEC_SUCCESS) { + return ERROR_UNSUPPORTED; + } } mSource->start();