gst: Implement segment-done event
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 5 Jul 2012 11:12:17 +0000 (13:12 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 5 Jul 2012 11:12:45 +0000 (13:12 +0200)
gst/asfdemux/gstasfdemux.c
gst/realmedia/rademux.c
gst/realmedia/rmdemux.c

index 3d28203..28ea579 100644 (file)
@@ -1730,6 +1730,8 @@ eos:
       gst_element_post_message (GST_ELEMENT_CAST (demux),
           gst_message_new_segment_done (GST_OBJECT (demux), GST_FORMAT_TIME,
               stop));
+      gst_asf_demux_send_event_unlocked (demux,
+          gst_event_new_segment_done (GST_FORMAT_TIME, stop));
     } else if (flow != GST_FLOW_EOS) {
       /* check if we have a chained asf, in case, we don't eos yet */
       if (gst_asf_demux_check_chained_asf (demux)) {
index a81ee54..113774f 100644 (file)
@@ -697,6 +697,8 @@ eos:
       gst_element_post_message (GST_ELEMENT (demux),
           gst_message_new_segment_done (GST_OBJECT (demux), GST_FORMAT_TIME,
               stop));
+      gst_pad_push_event (demux->srcpad,
+          gst_event_new_segment_done (GST_FORMAT_TIME, stop));
     } else {
       /* normal playback, send EOS event downstream */
       GST_DEBUG_OBJECT (demux, "sending EOS event, at end of stream");
index c98e16a..240a85d 100644 (file)
@@ -922,6 +922,8 @@ need_pause:
         gst_element_post_message (GST_ELEMENT (rmdemux),
             gst_message_new_segment_done (GST_OBJECT (rmdemux),
                 GST_FORMAT_TIME, stop));
+        gst_rmdemux_send_event (rmdemux,
+            gst_event_new_segment_done (GST_FORMAT_TIME, stop));
       } else {
         /* normal playback, send EOS to all linked pads */
         GST_LOG_OBJECT (rmdemux, "Sending EOS, at end of stream");