diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index 12f7634e3f..b4ebab7abf 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -2322,6 +2322,7 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder, } buf->omx_buf->nFlags |= OMX_BUFFERFLAG_CODECCONFIG; + buf->omx_buf->nFlags |= OMX_BUFFERFLAG_ENDOFFRAME; buf->omx_buf->nFilledLen = gst_buffer_get_size (codec_data);; gst_buffer_extract (codec_data, 0, buf->omx_buf->pBuffer + buf->omx_buf->nOffset, @@ -2384,10 +2385,13 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder, /* TODO: Set flags * - OMX_BUFFERFLAG_DECODEONLY for buffers that are outside * the segment - * - OMX_BUFFERFLAG_ENDOFFRAME for parsed input */ offset += buf->omx_buf->nFilledLen; + + if (offset == size) + buf->omx_buf->nFlags |= OMX_BUFFERFLAG_ENDOFFRAME; + self->started = TRUE; err = gst_omx_port_release_buffer (port, buf); if (err != OMX_ErrorNone)