summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2013-11-04 21:59:11 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2013-11-04 21:59:11 -0800
commit21264c4f0de2e2e74a62290a4aaafea4cc865528 (patch)
tree5b7d6564e7241c0c7d6a07e3bf7df6a5470d9c8e /media
parent1c7258b3c34b5656de92d845f6366a0f3ac1e0c6 (diff)
parent2922d230155cb1be7acc0c11bef6f0ca0345bdb7 (diff)
downloadframeworks_av-21264c4f0de2e2e74a62290a4aaafea4cc865528.zip
frameworks_av-21264c4f0de2e2e74a62290a4aaafea4cc865528.tar.gz
frameworks_av-21264c4f0de2e2e74a62290a4aaafea4cc865528.tar.bz2
am 2922d230: am 065789f2: Merge "Restore NuPlayer error and EOS handling" into klp-dev
* commit '2922d230155cb1be7acc0c11bef6f0ca0345bdb7': Restore NuPlayer error and EOS handling
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/ACodec.cpp11
-rw-r--r--media/libstagefright/MediaCodec.cpp3
2 files changed, 10 insertions, 4 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 901533c..a63a692 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -3074,11 +3074,16 @@ void ACodec::BaseState::onInputBufferFilled(const sp<AMessage> &msg) {
/* these are unfilled buffers returned by client */
CHECK(msg->findInt32("err", &err));
- ALOGV("[%s] saw error %d instead of an input buffer",
- mCodec->mComponentName.c_str(), err);
+ if (err == OK) {
+ /* buffers with no errors are returned on MediaCodec.flush */
+ mode = KEEP_BUFFERS;
+ } else {
+ ALOGV("[%s] saw error %d instead of an input buffer",
+ mCodec->mComponentName.c_str(), err);
+ eos = true;
+ }
buffer.clear();
- mode = KEEP_BUFFERS;
}
int32_t tmp;
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index e299caf..8af1aaf 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -1506,7 +1506,8 @@ void MediaCodec::returnBuffersToCodecOnPort(int32_t portIndex) {
info->mOwnedByClient = false;
if (portIndex == kPortIndexInput) {
- msg->setInt32("err", ERROR_END_OF_STREAM);
+ /* no error, just returning buffers */
+ msg->setInt32("err", OK);
}
msg->post();
}