Handle the skip decoding case. am: c98025c07f
am: c0f2dd551d
Change-Id: Ia9756e1ba5ceccae062e8963907ff8e139b19450
diff --git a/videocodec/OMXVideoDecoderVP9Hybrid.cpp b/videocodec/OMXVideoDecoderVP9Hybrid.cpp
index 53dbd48..fe8d5f8 100644
--- a/videocodec/OMXVideoDecoderVP9Hybrid.cpp
+++ b/videocodec/OMXVideoDecoderVP9Hybrid.cpp
@@ -379,6 +379,11 @@
// drain the last frame, keep the current input buffer
res = mDecoderDecode(mCtx,mHybridCtx,NULL,0,true);
retains[INPORT_INDEX] = BUFFER_RETAIN_GETAGAIN;
+ } else if (res == -3) {
+ LOGW("on2 decoder skipped to decode the frame.");
+ (*pBuffers[OUTPORT_INDEX])->nOffset = 0;
+ (*pBuffers[OUTPORT_INDEX])->nFilledLen = 0;
+ return OMX_ErrorNone;
} else {
LOGE("on2 decoder failed to decode frame.");
return OMX_ErrorBadParameter;