From 0f609bc6c67fea294f4556627228fed72a74d0fb Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Fri, 29 Apr 2016 00:59:42 -0700 Subject: [PATCH] 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 --- gst-libs/gst/rtp/gstrtpbasedepayload.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/rtp/gstrtpbasedepayload.c b/gst-libs/gst/rtp/gstrtpbasedepayload.c index fb5bdc9..e3a43c2 100644 --- a/gst-libs/gst/rtp/gstrtpbasedepayload.c +++ b/gst-libs/gst/rtp/gstrtpbasedepayload.c @@ -613,6 +613,9 @@ gst_rtp_base_depayload_handle_event (GstRTPBaseDepayload * filter, { GST_OBJECT_LOCK (filter); 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); /* 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) position = start; - running_time = gst_segment_to_running_time (&filter->segment, - GST_FORMAT_TIME, start); + if (G_LIKELY (filter->segment.format == GST_FORMAT_TIME)) + running_time = gst_segment_to_running_time (&filter->segment, + GST_FORMAT_TIME, start); + else + running_time = 0; gst_segment_init (&segment, GST_FORMAT_TIME); segment.rate = priv->play_speed; -- 2.7.4