summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-05-13 13:15:18 -0700
committerWei Jia <wjia@google.com>2015-05-18 11:46:26 -0700
commit6301a5e94de3659b4e6e4910394861830f8ebfb7 (patch)
tree950978b311b1012b758fbc1df49982b354157bf6 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
parent4a95e69406aa2e9896d865962d6d947ebbdac6fc (diff)
downloadframeworks_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.cpp5
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();