depayloader: Use input segment start

When there is no clock_base provided, the start position is
set to 0 instead of the original segment start value. This
would break synchronization if start was not 0.

https://bugzilla.gnome.org/show_bug.cgi?id=752228
This commit is contained in:
Nicolas Dufresne 2015-07-10 12:49:01 -04:00
parent 39576545b7
commit 7c638e06ff

View file

@ -654,7 +654,7 @@ create_segment_event (GstRTPBaseDepayload * filter, guint rtptime,
priv = filter->priv;
/* determining the start of the segment */
start = 0;
start = filter->segment.start;
if (priv->clock_base != -1 && position != -1) {
GstClockTime exttime, gap;
@ -675,12 +675,12 @@ create_segment_event (GstRTPBaseDepayload * filter, guint rtptime,
}
/* determining the stop of the segment */
stop = -1;
stop = filter->segment.stop;
if (priv->npt_stop != -1)
stop = start + (priv->npt_stop - priv->npt_start);
if (position == -1)
position = 0;
position = start;
running_time = gst_segment_to_running_time (&filter->segment,
GST_FORMAT_TIME, start);