diff options
author | srikarri <sridur@codeaurora.org> | 2014-12-30 19:35:01 +0530 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2015-02-13 00:19:57 +0100 |
commit | a1514a897bbb16b525d43053eb40ba9c0ea2a38c (patch) | |
tree | ce04a1c15d53d5ea78c5a5f249bd14645b0ffefe | |
parent | 792a5c5efe4317cfa6fd3dc43d0358efc165ebe3 (diff) | |
download | android_hardware_qcom_media-a1514a897bbb16b525d43053eb40ba9c0ea2a38c.tar.gz android_hardware_qcom_media-a1514a897bbb16b525d43053eb40ba9c0ea2a38c.tar.bz2 android_hardware_qcom_media-a1514a897bbb16b525d43053eb40ba9c0ea2a38c.zip |
mm-video:don't remove 0 timestamp buffer for config buffer
-For codec config buffer, 0 time stamp buffer is been
removed from timestamp queue which causes cts case
testCodecBasicH264 to fail.
-Fix:Do not remove 0 time stamp buffer from time stamp
queue for codec config buffer case
Change-Id: I57a0f1e778f65997170c748a17201fc8a28b3cff
-rw-r--r-- | mm-video/vidc/vdec/src/omx_vdec.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/mm-video/vidc/vdec/src/omx_vdec.cpp b/mm-video/vidc/vdec/src/omx_vdec.cpp index b27c27c8..7f80ac6b 100644 --- a/mm-video/vidc/vdec/src/omx_vdec.cpp +++ b/mm-video/vidc/vdec/src/omx_vdec.cpp @@ -916,11 +916,15 @@ void omx_vdec::process_event_cb(void *ctxt, unsigned char id) { if (p2 == VDEC_S_INPUT_BITSTREAM_ERR && p1) { - pThis->m_inp_err_count++; - pThis->time_stamp_dts.remove_time_stamp( - ((OMX_BUFFERHEADERTYPE *)p1)->nTimeStamp, - (pThis->drv_ctx.interlace != VDEC_InterlaceFrameProgressive) - ?true:false); + if (!(((OMX_BUFFERHEADERTYPE *)p1)->nFlags & OMX_BUFFERFLAG_CODECCONFIG)) + { + DEBUG_PRINT_HIGH("remove the timestamp from queue for VDEC_S_INPUT_BITSTREAM_ERR"); + pThis->m_inp_err_count++; + pThis->time_stamp_dts.remove_time_stamp( + ((OMX_BUFFERHEADERTYPE *)p1)->nTimeStamp, + (pThis->drv_ctx.interlace != VDEC_InterlaceFrameProgressive) + ?true:false); + } } else { |