summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikash Garodia <vgarodia@codeaurora.org>2016-05-19 17:32:55 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-05-23 18:24:03 -0700
commit5ae76764a15284c36a30b08bc77e93691957311a (patch)
treeaca4c84159048b3c82ab17a88e2c18dcea8a3db4
parent090ea0de0e635c5c0f2f6bd00d6027c810cfe6c3 (diff)
downloadandroid_hardware_qcom_media-5ae76764a15284c36a30b08bc77e93691957311a.tar.gz
android_hardware_qcom_media-5ae76764a15284c36a30b08bc77e93691957311a.tar.bz2
android_hardware_qcom_media-5ae76764a15284c36a30b08bc77e93691957311a.zip
mm-video-v4l2: vdec: Update the buffer size after g_fmt
The buffer size check for C2D is done after getting the updated size from the g_fmt. Change-Id: If7154536f469c8d941e3ae8a8f2f5f0411ac7f49 CRs-fixed: 1018025
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp9
1 files changed, 4 insertions, 5 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 ed9fe25b..c2c37f4e 100644
--- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
+++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp
@@ -9700,11 +9700,6 @@ OMX_ERRORTYPE omx_vdec::update_portdef(OMX_PARAM_PORTDEFINITIONTYPE *portDefn)
} else if (1 == portDefn->nPortIndex) {
unsigned int buf_size = 0;
int ret = 0;
- if (!client_buffers.update_buffer_req()) {
- DEBUG_PRINT_ERROR("client_buffers.update_buffer_req Failed");
- return OMX_ErrorHardware;
- }
-
memset(&fmt, 0x0, sizeof(struct v4l2_format));
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
fmt.fmt.pix_mp.pixelformat = capture_capability;
@@ -9716,6 +9711,10 @@ OMX_ERRORTYPE omx_vdec::update_portdef(OMX_PARAM_PORTDEFINITIONTYPE *portDefn)
drv_ctx.op_buf.buffer_size = fmt.fmt.pix_mp.plane_fmt[0].sizeimage;
drv_ctx.op_buf.buffer_size += drv_ctx.extradata_info.buffer_size;
drv_ctx.op_buf.buffer_size = (drv_ctx.op_buf.buffer_size + drv_ctx.op_buf.alignment - 1)&(~(drv_ctx.op_buf.alignment - 1));
+ if (!client_buffers.update_buffer_req()) {
+ DEBUG_PRINT_ERROR("client_buffers.update_buffer_req Failed");
+ return OMX_ErrorHardware;
+ }
if (!client_buffers.get_buffer_req(buf_size)) {
DEBUG_PRINT_ERROR("update buffer requirements");