mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
omx: Reset some more buffer fields as required
This commit is contained in:
parent
5bab4a05f0
commit
67dc871116
1 changed files with 7 additions and 11 deletions
18
omx/gstomx.c
18
omx/gstomx.c
|
@ -351,17 +351,9 @@ gst_omx_component_handle_messages (GstOMXComponent * comp)
|
||||||
GST_DEBUG_OBJECT (comp->parent, "Port %u emptied buffer %p (%p)",
|
GST_DEBUG_OBJECT (comp->parent, "Port %u emptied buffer %p (%p)",
|
||||||
port->index, buf, buf->omx_buf->pBuffer);
|
port->index, buf, buf->omx_buf->pBuffer);
|
||||||
|
|
||||||
/* XXX: Some OMX implementations don't reset nOffset
|
/* Reset offset and filled length */
|
||||||
* when the complete buffer is emptied but instead
|
buf->omx_buf->nOffset = 0;
|
||||||
* only reset nFilledLen. We reset nOffset to 0
|
buf->omx_buf->nFilledLen = 0;
|
||||||
* if nFilledLen == 0, which is safe to do because
|
|
||||||
* the offset *must* be 0 if the buffer is not
|
|
||||||
* filled at all.
|
|
||||||
*
|
|
||||||
* Seen in QCOM's OMX implementation.
|
|
||||||
*/
|
|
||||||
if (buf->omx_buf->nFilledLen == 0)
|
|
||||||
buf->omx_buf->nOffset = 0;
|
|
||||||
|
|
||||||
/* Reset all flags, some implementations don't
|
/* Reset all flags, some implementations don't
|
||||||
* reset them themselves and the flags are not
|
* reset them themselves and the flags are not
|
||||||
|
@ -1360,6 +1352,10 @@ gst_omx_port_release_buffer (GstOMXPort * port, GstOMXBuffer * buf)
|
||||||
* valid anymore after the buffer was consumed
|
* valid anymore after the buffer was consumed
|
||||||
*/
|
*/
|
||||||
buf->omx_buf->nFlags = 0;
|
buf->omx_buf->nFlags = 0;
|
||||||
|
|
||||||
|
/* Reset offset and filled length */
|
||||||
|
buf->omx_buf->nOffset = 0;
|
||||||
|
buf->omx_buf->nFilledLen = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((err = comp->last_error) != OMX_ErrorNone) {
|
if ((err = comp->last_error) != OMX_ErrorNone) {
|
||||||
|
|
Loading…
Reference in a new issue