subparse: fix parsing by not misusing non time segments
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 24 Jan 2012 17:42:51 +0000 (17:42 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Wed, 25 Jan 2012 11:45:24 +0000 (11:45 +0000)
A simple filesrc ! subparse ! fakesink type pipeline now works again.

gst/subparse/gstsubparse.c

index 55f5f19..cd8b8e0 100644 (file)
@@ -1582,7 +1582,10 @@ gst_sub_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
     }
     case GST_EVENT_SEGMENT:
     {
-      gst_event_copy_segment (event, &self->segment);
+      const GstSegment *s;
+      gst_event_parse_segment (event, &s);
+      if (s->format == GST_FORMAT_TIME)
+        gst_event_copy_segment (event, &self->segment);
       GST_DEBUG_OBJECT (self, "newsegment (%s)",
           gst_format_get_name (self->segment.format));