summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/MediaCodec.cpp')
-rw-r--r--media/libstagefright/MediaCodec.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index b6bea65..83b378f 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -2368,7 +2368,12 @@ status_t MediaCodec::onQueueInputBuffer(const sp<AMessage> &msg) {
}
if (offset + size > info->mData->capacity()) {
- return -EINVAL;
+ if ( ((int)size == (int)-1) && !(flags & BUFFER_FLAG_EOS)) {
+ size = 0;
+ ALOGD("EOS, reset size to zero");
+ }
+ else
+ return -EINVAL;
}
sp<AMessage> reply = info->mNotify;