omxvideodec: fix OMX flags on header buffer
authorGuillaume Desmottes <guillaume.desmottes@collabora.com>
Fri, 9 Jul 2021 13:14:15 +0000 (15:14 +0200)
committerStéphane Cerveau <scerveau@collabora.com>
Fri, 9 Jul 2021 13:15:12 +0000 (15:15 +0200)
The header (SPS/PPS) buffer should have the CODECONFIG flag

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>

omx/gstomxvideodec.c

index b1ef29b..917ce8a 100644 (file)
@@ -3125,7 +3125,6 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
       }
 
       buf->omx_buf->nFlags |= OMX_BUFFERFLAG_CODECCONFIG;
-      buf->omx_buf->nFlags |= OMX_BUFFERFLAG_ENDOFFRAME;
 
       if (GST_CLOCK_TIME_IS_VALID (timestamp))
         GST_OMX_SET_TICKS (buf->omx_buf->nTimeStamp,
@@ -3205,6 +3204,9 @@ gst_omx_video_dec_handle_frame (GstVideoDecoder * decoder,
     if (first_ouput_buffer && GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (frame))
       buf->omx_buf->nFlags |= OMX_BUFFERFLAG_SYNCFRAME;
 
+    if (header)
+      buf->omx_buf->nFlags |= OMX_BUFFERFLAG_CODECCONFIG;
+
     /* TODO: Set flags
      *   - OMX_BUFFERFLAG_DECODEONLY for buffers that are outside
      *     the segment