videomixer: Don't reset the output segment on flush stop
authorMathieu Duponchelle <mathieu.duponchelle@epitech.eu>
Mon, 20 May 2013 17:51:07 +0000 (19:51 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 20 May 2013 19:03:03 +0000 (21:03 +0200)
Only init it when getting from READY to PAUSED, and change it on seek events.

https://bugzilla.gnome.org/show_bug.cgi?id=699793

gst/videomixer/videomixer2.c

index abe9fb8..6fe9b92 100644 (file)
@@ -1733,7 +1733,6 @@ gst_videomixer2_sink_event (GstCollectPads * pads, GstCollectData * cdata,
       pad->mixcol->start_time = -1;
       pad->mixcol->end_time = -1;
 
-      gst_segment_init (&mix->segment, GST_FORMAT_TIME);
       mix->segment.position = -1;
       mix->ts_offset = 0;
       mix->nframes = 0;
@@ -1796,6 +1795,7 @@ gst_videomixer2_change_state (GstElement * element, GstStateChange transition)
     case GST_STATE_CHANGE_READY_TO_PAUSED:
       mix->send_stream_start = TRUE;
       mix->send_caps = TRUE;
+      gst_segment_init (&mix->segment, GST_FORMAT_TIME);
       gst_caps_replace (&mix->current_caps, NULL);
       GST_LOG_OBJECT (mix, "starting collectpads");
       gst_collect_pads_start (mix->collect);