aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorywan171 <yi.a.wang@intel.com>2014-11-18 08:57:21 +0800
committerEd Tam <etam@google.com>2014-11-20 10:49:44 -0800
commitc45012b443298ff3073d34164fa65a38d3a5fd20 (patch)
treebdf1ca110d37d15ffac7125b4784404129749ec3
parentc51d5398ac792d8ddd35d72322038305281b80ed (diff)
downloadandroid_hardware_intel_common_omx-components-c45012b443298ff3073d34164fa65a38d3a5fd20.tar.gz
android_hardware_intel_common_omx-components-c45012b443298ff3073d34164fa65a38d3a5fd20.tar.bz2
android_hardware_intel_common_omx-components-c45012b443298ff3073d34164fa65a38d3a5fd20.zip
adjust vp9 hybrid output buffer count to avoid play freeze caused by no available buffer
Bug: 17729532 BZ: 225243 Change-Id: I779ce0febbd65f2a436cddc671f4156b2d1c3d69 Signed-off-by: ywan171 <yi.a.wang@intel.com>
-rw-r--r--videocodec/OMXVideoDecoderVP9Hybrid.cpp2
-rw-r--r--videocodec/OMXVideoDecoderVP9Hybrid.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/videocodec/OMXVideoDecoderVP9Hybrid.cpp b/videocodec/OMXVideoDecoderVP9Hybrid.cpp
index 8726e56..364a445 100644
--- a/videocodec/OMXVideoDecoderVP9Hybrid.cpp
+++ b/videocodec/OMXVideoDecoderVP9Hybrid.cpp
@@ -187,7 +187,9 @@ OMX_ERRORTYPE OMXVideoDecoderVP9Hybrid::ProcessorStop(void) {
OMX_ERRORTYPE OMXVideoDecoderVP9Hybrid::ProcessorFlush(OMX_U32 portIndex) {
if (portIndex == INPORT_INDEX || portIndex == OMX_ALL) {
// end the last frame
+ unsigned int width, height;
mDecoderDecode(mCtx,mHybridCtx,NULL,0,true);
+ mGetOutput(mCtx,mHybridCtx, &width, &height);
mLastTimeStamp = 0;
}
return OMX_ErrorNone;
diff --git a/videocodec/OMXVideoDecoderVP9Hybrid.h b/videocodec/OMXVideoDecoderVP9Hybrid.h
index f0fc2f1..2b11ae6 100644
--- a/videocodec/OMXVideoDecoderVP9Hybrid.h
+++ b/videocodec/OMXVideoDecoderVP9Hybrid.h
@@ -93,7 +93,7 @@ private:
INPORT_MIN_BUFFER_COUNT = 1,
INPORT_ACTUAL_BUFFER_COUNT = 5,
INPORT_BUFFER_SIZE = 1382400,
- OUTPORT_NATIVE_BUFFER_COUNT = 12, // 8 reference + 1 current + 3 for asynchronized mode
+ OUTPORT_NATIVE_BUFFER_COUNT = 15, // 8 reference + 2 current + 4 for asynchronized mode + 1 free buffer
};
};