summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
diff options
context:
space:
mode:
authorShalaj Jain <shalajj@codeaurora.org>2015-10-09 17:32:58 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-09 17:44:26 -0700
commit3684ae89c9baa229f5a988406d27a5931a5e0556 (patch)
tree580b2f792bb7c1b456ab8cbde21428d327d1f892 /media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
parenta9961f6786d048c247cd41363e2b784e1a5aeab4 (diff)
downloadframeworks_av-3684ae89c9baa229f5a988406d27a5931a5e0556.zip
frameworks_av-3684ae89c9baa229f5a988406d27a5931a5e0556.tar.gz
frameworks_av-3684ae89c9baa229f5a988406d27a5931a5e0556.tar.bz2
nuplayer: handle error from MediaCodec in Decoder handleAnOutputBuffer
MediaCodec could send out message of output buffer available right before it hits an error and clears its buffers. Change-Id: I1b11c88cdcb3fca7ddd6103c6d3d28642304f079
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 27650d7..f83eaf6 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -565,6 +565,11 @@ bool NuPlayer::Decoder::handleAnOutputBuffer(
sp<ABuffer> buffer;
mCodec->getOutputBuffer(index, &buffer);
+ if (buffer == NULL) {
+ handleError(UNKNOWN_ERROR);
+ return false;
+ }
+
if (index >= mOutputBuffers.size()) {
for (size_t i = mOutputBuffers.size(); i <= index; ++i) {
mOutputBuffers.add();