rtpbasedepayload: Reject non-TIME segments
authorSebastian Dröge <sebastian@centricular.com>
Mon, 2 May 2016 06:48:09 +0000 (09:48 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 1 Nov 2016 19:09:13 +0000 (21:09 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=765796

gst-libs/gst/rtp/gstrtpbasedepayload.c

index 1fdb0b3..b95e813 100644 (file)
@@ -611,8 +611,16 @@ gst_rtp_base_depayload_handle_event (GstRTPBaseDepayload * filter,
     }
     case GST_EVENT_SEGMENT:
     {
+      GstSegment segment;
+
       GST_OBJECT_LOCK (filter);
-      gst_event_copy_segment (event, &filter->segment);
+      gst_event_copy_segment (event, &segment);
+
+      if (segment.format != GST_FORMAT_TIME) {
+        GST_ERROR_OBJECT (filter, "Segment with non-TIME format not supported");
+        res = FALSE;
+      }
+      filter->segment = segment;
       GST_OBJECT_UNLOCK (filter);
 
       /* don't pass the event downstream, we generate our own segment including