diff options
author | Lajos Molnar <lajos@google.com> | 2014-08-11 16:46:15 -0700 |
---|---|---|
committer | Lajos Molnar <lajos@google.com> | 2014-08-12 09:29:29 -0700 |
commit | 6ff58f04f78886b07c72c0118eb71a78d08f5651 (patch) | |
tree | 99652bd3f5349e5cd8c55c261e7e06b65fc06ea1 /media/libmedia/MediaCodecInfo.cpp | |
parent | e7a1737c92cf2e84754ffbc52cfec8edeffcbc75 (diff) | |
download | frameworks_av-6ff58f04f78886b07c72c0118eb71a78d08f5651.zip frameworks_av-6ff58f04f78886b07c72c0118eb71a78d08f5651.tar.gz frameworks_av-6ff58f04f78886b07c72c0118eb71a78d08f5651.tar.bz2 |
MediaCodecList: handle errors gracefully
Handle missing OMX codecs, and codecs that do not load.
Fix NULL dereference when initializing codec with no type.
Bug: 16907578
Bug: 16905025
Change-Id: I5d103db36ebb029d1aab03222bf6e9324beb1566
Diffstat (limited to 'media/libmedia/MediaCodecInfo.cpp')
-rw-r--r-- | media/libmedia/MediaCodecInfo.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libmedia/MediaCodecInfo.cpp b/media/libmedia/MediaCodecInfo.cpp index 7900eae..8f47292 100644 --- a/media/libmedia/MediaCodecInfo.cpp +++ b/media/libmedia/MediaCodecInfo.cpp @@ -206,6 +206,14 @@ status_t MediaCodecInfo::addMime(const char *mime) { return OK; } +void MediaCodecInfo::removeMime(const char *mime) { + ssize_t ix = getCapabilityIndex(mime); + if (ix >= 0) { + mCaps.removeItemsAt(ix); + // mCurrentCaps will be removed when completed + } +} + status_t MediaCodecInfo::initializeCapabilities(const CodecCapabilities &caps) { mCurrentCaps->mProfileLevels.clear(); mCurrentCaps->mColorFormats.clear(); |