summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mm-video-v4l2/vidc/vdec/src/omx_vdec_v4l2.cpp11
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);