mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
baseparse: Fix splitting and reversing of GOPs in reverse playback mode
We iterate the current discont group backwards and push each GOP forwards, starting from the last one. However if the first buffer in the current discont group is a keyframe, we will keep it around until next time, which is far from ideal. Just push it.
This commit is contained in:
parent
f85ce91e9d
commit
a76db74496
1 changed files with 4 additions and 2 deletions
|
@ -2669,8 +2669,10 @@ gst_base_parse_finish_fragment (GstBaseParse * parse, gboolean prev_head)
|
|||
parse->priv->buffers_queued);
|
||||
}
|
||||
|
||||
/* audio may have all marked as keyframe, so arrange to send here */
|
||||
if (!seen_delta)
|
||||
/* audio may have all marked as keyframe, so arrange to send here. Also
|
||||
* we might have ended the loop above on a keyframe, in which case we
|
||||
* should */
|
||||
if (!seen_delta || seen_key)
|
||||
ret = gst_base_parse_send_buffers (parse);
|
||||
|
||||
/* any trailing unused no longer usable (ideally none) */
|
||||
|
|
Loading…
Reference in a new issue