diff options
author | Surajit Podder <spodder@codeaurora.org> | 2017-11-13 14:27:38 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-11-14 01:35:32 -0800 |
commit | 3780219e0644c871408a943e31755f3b73ad1d17 (patch) | |
tree | 0ce53763c44b78ade01d2a78e0dbe25151137481 /mm-video-v4l2/vidc/vdec/src | |
parent | 76a842b26ca88a3a4121ba467989d7d418886d88 (diff) | |
download | media-3780219e0644c871408a943e31755f3b73ad1d17.tar.gz |
mm-video-v4l2: Update state check in decide_dpb_buffer_mode
Update state check in decide_dpb_buffer_mode to ensure that
capture port color format is updated in reconfig state, before
port disable. This ensures that client gets the correct color
format immediately after port reconfig event.
Change-Id: Iaf52466a3902bbef638f34c5d30ea5302eac15db
Diffstat (limited to 'mm-video-v4l2/vidc/vdec/src')
-rwxr-xr-x | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp index d347f2d5..d8b8bb62 100755 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -1055,13 +1055,6 @@ OMX_ERRORTYPE omx_vdec::decide_dpb_buffer_mode(bool is_downscalar_enabled) bool dither_enable = false; bool capability_changed = false; - // Check the component for its valid current state - if (!BITMASK_PRESENT(&m_flags ,OMX_COMPONENT_IDLE_PENDING) && - !BITMASK_PRESENT(&m_flags, OMX_COMPONENT_OUTPUT_ENABLE_PENDING)) { - DEBUG_PRINT_LOW("Invalid state to decide on dpb-opb split"); - return OMX_ErrorNone; - } - // Downscalar is not supported is_downscalar_enabled = false; @@ -1137,7 +1130,12 @@ OMX_ERRORTYPE omx_vdec::decide_dpb_buffer_mode(bool is_downscalar_enabled) return OMX_ErrorUnsupportedSetting; } } - + // Check the component for its valid current state + if (!BITMASK_PRESENT(&m_flags ,OMX_COMPONENT_IDLE_PENDING) && + !BITMASK_PRESENT(&m_flags, OMX_COMPONENT_OUTPUT_ENABLE_PENDING)) { + DEBUG_PRINT_LOW("Invalid state to decide on dpb-opb split"); + return OMX_ErrorNone; + } eRet = set_dpb(enable_split, dpb_color_format); if (eRet) { DEBUG_PRINT_HIGH("Failed to set DPB buffer mode: %d", eRet); |