mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in reverse playback mode
This commit is contained in:
parent
03a2388b60
commit
37670af79c
1 changed files with 8 additions and 0 deletions
|
@ -2501,6 +2501,7 @@ gst_base_parse_send_buffers (GstBaseParse * parse)
|
|||
GSList *send = NULL;
|
||||
GstBuffer *buf;
|
||||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
gboolean first = TRUE;
|
||||
|
||||
send = parse->priv->buffers_send;
|
||||
|
||||
|
@ -2514,6 +2515,13 @@ gst_base_parse_send_buffers (GstBaseParse * parse)
|
|||
GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
|
||||
GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), GST_BUFFER_OFFSET (buf));
|
||||
|
||||
/* Make sure the first buffer is always DISCONT. If we split
|
||||
* GOPs inside the parser this is otherwise not guaranteed */
|
||||
if (first) {
|
||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
|
||||
first = FALSE;
|
||||
}
|
||||
|
||||
/* iterate output queue an push downstream */
|
||||
ret = gst_pad_push (parse->srcpad, buf);
|
||||
send = g_slist_delete_link (send, send);
|
||||
|
|
Loading…
Reference in a new issue