diff options
author | Andreas Huber <andih@google.com> | 2010-05-20 10:37:06 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2010-05-20 10:37:06 -0700 |
commit | 139a5d5bd33c9fc7708d0a79f11ee928f7796e6b (patch) | |
tree | 18ab9da463636f4eecd524cadd5ddaf5c525f21d /media/libstagefright/codecs/m4v_h263 | |
parent | 1edbcb2bb9988cc7cb54a865aaea4613bdd53a9d (diff) | |
download | frameworks_av-139a5d5bd33c9fc7708d0a79f11ee928f7796e6b.zip frameworks_av-139a5d5bd33c9fc7708d0a79f11ee928f7796e6b.tar.gz frameworks_av-139a5d5bd33c9fc7708d0a79f11ee928f7796e6b.tar.bz2 |
Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
Change-Id: I5cba02ee85a41e43c2623053de40f26e2cf2efe4
related-to-bug: 2699505
Diffstat (limited to 'media/libstagefright/codecs/m4v_h263')
-rw-r--r-- | media/libstagefright/codecs/m4v_h263/dec/M4vH263Decoder.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/media/libstagefright/codecs/m4v_h263/dec/M4vH263Decoder.cpp b/media/libstagefright/codecs/m4v_h263/dec/M4vH263Decoder.cpp index 40009f8..8350f7a 100644 --- a/media/libstagefright/codecs/m4v_h263/dec/M4vH263Decoder.cpp +++ b/media/libstagefright/codecs/m4v_h263/dec/M4vH263Decoder.cpp @@ -120,9 +120,16 @@ status_t M4vH263Decoder::start(MetaData *) { vol_size = 0; } - CHECK_EQ(PV_TRUE, PVInitVideoDecoder( - mHandle, vol_data, &vol_size, 1, mWidth, mHeight, mode)); + + Bool success = PVInitVideoDecoder( + mHandle, vol_data, &vol_size, 1, mWidth, mHeight, mode); if (vol_data[0]) free(vol_data[0]); + + if (success != PV_TRUE) { + LOGW("PVInitVideoDecoder failed. Unsupported content?"); + return ERROR_UNSUPPORTED; + } + MP4DecodingMode actualMode = PVGetDecBitstreamMode(mHandle); CHECK_EQ(mode, actualMode); |