diff options
author | Wei Jia <wjia@google.com> | 2015-05-13 13:15:18 -0700 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2015-05-18 11:46:26 -0700 |
commit | 6301a5e94de3659b4e6e4910394861830f8ebfb7 (patch) | |
tree | 950978b311b1012b758fbc1df49982b354157bf6 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp | |
parent | 4a95e69406aa2e9896d865962d6d947ebbdac6fc (diff) | |
download | frameworks_av-6301a5e94de3659b4e6e4910394861830f8ebfb7.zip frameworks_av-6301a5e94de3659b4e6e4910394861830f8ebfb7.tar.gz frameworks_av-6301a5e94de3659b4e6e4910394861830f8ebfb7.tar.bz2 |
mediaplayer: handle decoder error when NuPlayerDecoder gets a NULL buffer from MediaCodec.
MediaCodec could send out message of input buffer available right before it hits an error and clears its buffers.
Bug: 14433407
Change-Id: I32494f4cb2a8537fac12449fd68a74c021f5c9e1
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp index 376c93a..d169964 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp @@ -414,6 +414,11 @@ bool NuPlayer::Decoder::handleAnInputBuffer(size_t index) { sp<ABuffer> buffer; mCodec->getInputBuffer(index, &buffer); + if (buffer == NULL) { + handleError(UNKNOWN_ERROR); + return false; + } + if (index >= mInputBuffers.size()) { for (size_t i = mInputBuffers.size(); i <= index; ++i) { mInputBuffers.add(); |