gst: Implement segment-done event
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 5 Jul 2012 11:06:04 +0000 (13:06 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 5 Jul 2012 11:06:04 +0000 (13:06 +0200)
ext/ogg/gstoggdemux.c
gst-libs/gst/tag/gsttagdemux.c

index 97d12cc..cbdf182 100644 (file)
@@ -4485,6 +4485,11 @@ pause:
         gst_message_set_seqnum (message, ogg->seqnum);
 
         gst_element_post_message (GST_ELEMENT (ogg), message);
+
+        event = gst_event_new_segment_done (GST_FORMAT_TIME, stop);
+        gst_event_set_seqnum (event, ogg->seqnum);
+        gst_ogg_demux_send_event (ogg, event);
+        event = NULL;
       } else {
         /* normal playback, send EOS to all linked pads */
         GST_LOG_OBJECT (ogg, "Sending EOS, at end of stream");
index 957ef09..1eead10 100644 (file)
@@ -1252,6 +1252,8 @@ pause:
         gst_element_post_message (GST_ELEMENT_CAST (demux),
             gst_message_new_segment_done (GST_OBJECT_CAST (demux),
                 GST_FORMAT_BYTES, stop));
+        gst_pad_push_event (demux->priv->srcpad,
+            gst_event_new_segment_done (GST_FORMAT_BYTES, stop));
       } else {
         push_eos = TRUE;
       }