mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
outputselector: Don't adjust segment->start to the current time when switching pads
This does not make any sense at all and breaks timestamp->running_time calculations in unpredictable ways. https://bugzilla.gnome.org/show_bug.cgi?id=707130
This commit is contained in:
parent
76b5278f7c
commit
8ba5fb0b28
1 changed files with 1 additions and 6 deletions
|
@ -368,7 +368,6 @@ gst_output_selector_switch (GstOutputSelector * osel)
|
|||
gboolean res = FALSE;
|
||||
GstEvent *ev = NULL;
|
||||
GstSegment *seg = NULL;
|
||||
gint64 start = 0, position = 0;
|
||||
|
||||
/* Switch */
|
||||
GST_OBJECT_LOCK (GST_OBJECT (osel));
|
||||
|
@ -391,13 +390,9 @@ gst_output_selector_switch (GstOutputSelector * osel)
|
|||
/* If resending then mark segment start and position accordingly */
|
||||
if (osel->resend_latest && osel->latest_buffer &&
|
||||
GST_BUFFER_TIMESTAMP_IS_VALID (osel->latest_buffer)) {
|
||||
start = position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
|
||||
} else {
|
||||
start = position = seg->position;
|
||||
seg->position = GST_BUFFER_TIMESTAMP (osel->latest_buffer);
|
||||
}
|
||||
|
||||
seg->start = start;
|
||||
seg->position = position;
|
||||
ev = gst_event_new_segment (seg);
|
||||
|
||||
if (!gst_pad_push_event (osel->active_srcpad, ev)) {
|
||||
|
|
Loading…
Reference in a new issue