summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-11-10 19:39:36 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2011-11-10 19:39:36 +0000
commita585407bd04f2f4189dc393fc7e3f7f58d4f1a7a (patch)
tree44c22a266c4d03299a7757f218170c7124cd5578 /media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp
parente9a919b178a75f4cb70322c02c9c8e2756fb5ea1 (diff)
parenteec2d81676a50338763b86073545a5365d19eee7 (diff)
downloadframeworks_av-a585407bd04f2f4189dc393fc7e3f7f58d4f1a7a.zip
frameworks_av-a585407bd04f2f4189dc393fc7e3f7f58d4f1a7a.tar.gz
frameworks_av-a585407bd04f2f4189dc393fc7e3f7f58d4f1a7a.tar.bz2
am 2dff5cdc: am b42aea5b: Merge "Don\'t believe the PV decoder\'s lies..." into ics-mr1
* commit '2dff5cdc362ff6026e71d4b96faea8f2d7bd7063': Don't believe the PV decoder's lies...
Diffstat (limited to 'media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp')
-rw-r--r--media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp b/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp
index 7bbd07e..bedfc58 100644
--- a/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp
+++ b/media/libstagefright/codecs/m4v_h263/dec/SoftMPEG4.cpp
@@ -421,8 +421,13 @@ void SoftMPEG4::onQueueFilled(OMX_U32 portIndex) {
int32_t bufferSize = inHeader->nFilledLen;
+ // The PV decoder is lying to us, sometimes it'll claim to only have
+ // consumed a subset of the buffer when it clearly consumed all of it.
+ // ignore whatever it says...
+ int32_t tmp = bufferSize;
+
if (PVDecodeVideoFrame(
- mHandle, &bitstream, &timestamp, &bufferSize,
+ mHandle, &bitstream, &timestamp, &tmp,
&useExtTimestamp,
outHeader->pBuffer) != PV_TRUE) {
LOGE("failed to decode video frame.");