From b7ee67c040c49fd252b365994e3f4320692cb068 Mon Sep 17 00:00:00 2001 From: Amit Shekhar Date: Mon, 27 Jan 2020 14:31:18 -0800 Subject: [PATCH] msm: vidc: Fix input tag fetching condition For sub-frame encode sessions, input buffer done is received only after all sub-frames have been received. In these sub-frame encode cases, input tags are not fetched for sub-frame outputs for first input and buffers are dropped in HAL in absence of apt input tags. Limit buffer counter check from input tag fetch condition for decode sessions only. Change-Id: I8c584834369be921d8699da49cfa1fec65fb993d CRs-Fixed: 2547055 Signed-off-by: Amit Shekhar --- msm/vidc/msm_vidc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/msm/vidc/msm_vidc.c b/msm/vidc/msm_vidc.c index a44d0f99553b..3c5327ae8290 100644 --- a/msm/vidc/msm_vidc.c +++ b/msm/vidc/msm_vidc.c @@ -483,7 +483,9 @@ int msm_vidc_dqbuf(void *instance, struct v4l2_buffer *b) * fetch tag atleast 1 ETB is successfully processed after flush) */ if (b->type == OUTPUT_MPLANE && !inst->in_flush && - !inst->out_flush && inst->clk_data.buffer_counter) { + !inst->out_flush && + (inst->session_type == MSM_VIDC_ENCODER || + inst->clk_data.buffer_counter)) { rc = msm_comm_fetch_input_tag(&inst->fbd_data, b->index, &input_tag, &input_tag2, inst->sid); if (rc) {