omx: also reset nFilledLen before calling OMX_FillThisBuffer()
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 27 Jul 2017 10:12:01 +0000 (12:12 +0200)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 1 Aug 2017 15:26:11 +0000 (11:26 -0400)
The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
empty. Some implementation may check it actually is by checking its
nFilledLen field, so best to reset it as well.

https://bugzilla.gnome.org/show_bug.cgi?id=785623

omx/gstomx.c

index cf841e6..191b719 100644 (file)
@@ -2078,9 +2078,11 @@ gst_omx_port_populate_unlocked (GstOMXPort * port)
 
       /* Reset all flags, some implementations don't
        * reset them themselves and the flags are not
-       * valid anymore after the buffer was consumed
+       * valid anymore after the buffer was consumed.
+       * Also reset nFilledLen as FillThisBuffer() expects an empty buffer.
        */
       buf->omx_buf->nFlags = 0;
+      buf->omx_buf->nFilledLen = 0;
 
       err = OMX_FillThisBuffer (comp->handle, buf->omx_buf);