From 6398a092131ab0c9cb47f2a6f78ae1d8ba0ea65c Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Sun, 5 Mar 2017 23:18:11 +0000 Subject: [PATCH] st/omx: Set end-of-frame flag on bitstream output buffers MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Since all output buffers are whole frames, this should always be set. Technically, setting this flag is is optional (see OpenMAX IL section 3.1.2.7.1), but some clients assume that it will be used and therefore buffer indefinitely thinking that all output buffers are fragments of the first frame when it is not set. Signed-off-by: Mark Thompson Reviewed-by: Christian König --- src/gallium/state_trackers/omx/vid_enc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/state_trackers/omx/vid_enc.c b/src/gallium/state_trackers/omx/vid_enc.c index b2970a522f3..b58063e6e65 100644 --- a/src/gallium/state_trackers/omx/vid_enc.c +++ b/src/gallium/state_trackers/omx/vid_enc.c @@ -1271,4 +1271,7 @@ static void vid_enc_BufferEncoded(OMX_COMPONENTTYPE *comp, OMX_BUFFERHEADERTYPE* output->nOffset = 0; output->nFilledLen = size; /* mark buffer as full */ + + /* all output buffers contain exactly one frame */ + output->nFlags = OMX_BUFFERFLAG_ENDOFFRAME; } -- 2.30.2