mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 11:32:38 +00:00
qtdemux: Don't push GAP event if first buffer is within 1s
If we saw empty segments, we previously unconditionally pushed a GAP event downstream regardless of the duration of that empty segment. In order to avoid issues with initial negotiation of downstream elements (which would negotiate to something before receiving any data due to that initial GAP event), check if there's at least a second of difference (like we do for other GAP-related checks in qtdemux) before deciding to push a GAP event downstream.
This commit is contained in:
parent
5c341f0980
commit
2e45926a96
1 changed files with 4 additions and 2 deletions
|
@ -5811,7 +5811,9 @@ gst_qtdemux_loop_state_movie (GstQTDemux * qtdemux)
|
|||
GST_TIME_ARGS (dts), GST_TIME_ARGS (pts), GST_TIME_ARGS (duration));
|
||||
|
||||
if (G_UNLIKELY (empty)) {
|
||||
/* empty segment, push a gap and move to the next one */
|
||||
/* empty segment, push a gap if there's more than a second
|
||||
* difference and move to the next one */
|
||||
if ((pts + duration - stream->segment.position) > GST_SECOND)
|
||||
gst_pad_push_event (stream->pad, gst_event_new_gap (pts, duration));
|
||||
stream->segment.position = pts + duration;
|
||||
goto next;
|
||||
|
|
Loading…
Reference in a new issue