basertpdepayload: create valid segment when given non-time segment
This will become an error in 1.10. https://bugzilla.gnome.org/show_bug.cgi?id=765796
This commit is contained in:
parent
a2c050a4be
commit
0f609bc6c6
@ -613,6 +613,9 @@ gst_rtp_base_depayload_handle_event (GstRTPBaseDepayload * filter,
|
|||||||
{
|
{
|
||||||
GST_OBJECT_LOCK (filter);
|
GST_OBJECT_LOCK (filter);
|
||||||
gst_event_copy_segment (event, &filter->segment);
|
gst_event_copy_segment (event, &filter->segment);
|
||||||
|
if (filter->segment.format != GST_FORMAT_TIME)
|
||||||
|
GST_ERROR_OBJECT (filter,
|
||||||
|
"Non-TIME segments are not supported and will likely fail");
|
||||||
GST_OBJECT_UNLOCK (filter);
|
GST_OBJECT_UNLOCK (filter);
|
||||||
|
|
||||||
/* don't pass the event downstream, we generate our own segment including
|
/* don't pass the event downstream, we generate our own segment including
|
||||||
@ -717,8 +720,11 @@ create_segment_event (GstRTPBaseDepayload * filter, guint rtptime,
|
|||||||
if (position == -1)
|
if (position == -1)
|
||||||
position = start;
|
position = start;
|
||||||
|
|
||||||
|
if (G_LIKELY (filter->segment.format == GST_FORMAT_TIME))
|
||||||
running_time = gst_segment_to_running_time (&filter->segment,
|
running_time = gst_segment_to_running_time (&filter->segment,
|
||||||
GST_FORMAT_TIME, start);
|
GST_FORMAT_TIME, start);
|
||||||
|
else
|
||||||
|
running_time = 0;
|
||||||
|
|
||||||
gst_segment_init (&segment, GST_FORMAT_TIME);
|
gst_segment_init (&segment, GST_FORMAT_TIME);
|
||||||
segment.rate = priv->play_speed;
|
segment.rate = priv->play_speed;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user