summaryrefslogtreecommitdiff
path: root/mm-video-v4l2/vidc/vdec/src
diff options
context:
space:
mode:
authorSurajit Podder <spodder@codeaurora.org>2017-11-13 14:27:38 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-11-14 01:35:32 -0800
commit3780219e0644c871408a943e31755f3b73ad1d17 (patch)
tree0ce53763c44b78ade01d2a78e0dbe25151137481 /mm-video-v4l2/vidc/vdec/src
parent76a842b26ca88a3a4121ba467989d7d418886d88 (diff)
downloadmedia-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-xmm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp14
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);