summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs
diff options
context:
space:
mode:
authorHarish Mahendrakar <harish.mahendrakar@ittiam.com>2015-10-02 15:37:47 +0530
committerMarco Nelissen <marcone@google.com>2015-10-16 20:21:33 +0000
commitb4ec8d0558c78b94ec7bf09018a7bf653cfca525 (patch)
tree806361a260af3d38d80e7db7da100e58a1d2a0f9 /media/libstagefright/codecs
parenta3f29527044ad61ae8e38b93ab9355a20c5fd2c0 (diff)
downloadframeworks_av-b4ec8d0558c78b94ec7bf09018a7bf653cfca525.zip
frameworks_av-b4ec8d0558c78b94ec7bf09018a7bf653cfca525.tar.gz
frameworks_av-b4ec8d0558c78b94ec7bf09018a7bf653cfca525.tar.bz2
SoftAVCDec: Added a check for unsupported resolutions
Bug: 24542936 Change-Id: I97203353c7d026e02c8aad0f2c820a641e453c7c
Diffstat (limited to 'media/libstagefright/codecs')
-rw-r--r--media/libstagefright/codecs/avcdec/SoftAVCDec.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp b/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
index 7c5093e..8101f75 100644
--- a/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
+++ b/media/libstagefright/codecs/avcdec/SoftAVCDec.cpp
@@ -582,6 +582,17 @@ void SoftAVC::onQueueFilled(OMX_U32 portIndex) {
IV_API_CALL_STATUS_T status;
status = ivdec_api_function(mCodecCtx, (void *)&s_dec_ip, (void *)&s_dec_op);
+ bool unsupportedResolution =
+ (IVD_STREAM_WIDTH_HEIGHT_NOT_SUPPORTED == (s_dec_op.u4_error_code & 0xFF));
+
+ /* Check for unsupported dimensions */
+ if (unsupportedResolution) {
+ ALOGE("Unsupported resolution : %dx%d", mWidth, mHeight);
+ notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
+ mSignalledError = true;
+ return;
+ }
+
bool resChanged = (IVD_RES_CHANGED == (s_dec_op.u4_error_code & 0xFF));
GETTIME(&mTimeEnd, NULL);