gst: Implement segment-done event

This commit is contained in:
Sebastian Dröge 2012-07-05 13:12:17 +02:00
parent e8bc11bfbd
commit 3cf076035d
3 changed files with 6 additions and 0 deletions

View 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)) {

View 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");

View 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");