diff options
Diffstat (limited to 'media/libstagefright/MediaCodec.cpp')
-rw-r--r-- | media/libstagefright/MediaCodec.cpp | 7 |
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; |