diff options
-rw-r--r-- | mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp | 11 |
1 files changed, 5 insertions, 6 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 4d300dbf..180da0c2 100644 --- a/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp +++ b/mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp @@ -8986,6 +8986,11 @@ int omx_vdec::async_message_process (void *context, void* message) if (vdec_msg->msgdata.output_frame.len <= omxhdr->nAllocLen) { omxhdr->nFilledLen = vdec_msg->msgdata.output_frame.len; + } else { + DEBUG_PRINT_ERROR("Invalid filled length = %u, set it as buffer size = %u", + (unsigned int)vdec_msg->msgdata.output_frame.len, omxhdr->nAllocLen); + omxhdr->nFilledLen = omxhdr->nAllocLen; + } omxhdr->nOffset = vdec_msg->msgdata.output_frame.offset; omxhdr->nTimeStamp = vdec_msg->msgdata.output_frame.time_stamp; omxhdr->nFlags = 0; @@ -9162,12 +9167,6 @@ int omx_vdec::async_message_process (void *context, void* message) ((unsigned long)vdec_msg->msgdata.output_frame.bufferaddr + (unsigned long)vdec_msg->msgdata.output_frame.offset), vdec_msg->msgdata.output_frame.len); - } else { - DEBUG_PRINT_ERROR("Invalid filled length = %u, buffer size = %u, prev_length = %u", - (unsigned int)vdec_msg->msgdata.output_frame.len, - omxhdr->nAllocLen, omx->prev_n_filled_len); - omxhdr->nFilledLen = 0; - } omx->post_event ((unsigned long)omxhdr, vdec_msg->status_code, OMX_COMPONENT_GENERATE_FBD); |