resindvd: Send stream-start event before anything else on the mpeg demuxer srcpads

This commit is contained in:
Sebastian Dröge 2013-07-22 09:18:32 +02:00
parent 506abb06e2
commit e56efddd4a

View file

@ -273,6 +273,7 @@ gst_flups_demux_create_stream (GstFluPSDemux * demux, gint id, gint stream_type)
GstFluPSDemuxClass *klass = GST_FLUPS_DEMUX_GET_CLASS (demux);
GstCaps *caps;
GstClockTime threshold = SEGMENT_THRESHOLD;
gchar *stream_id;
name = NULL;
template = NULL;
@ -391,6 +392,12 @@ gst_flups_demux_create_stream (GstFluPSDemux * demux, gint id, gint stream_type)
stream->pad);
}
stream_id =
gst_pad_create_stream_id_printf (stream->pad, GST_ELEMENT_CAST (demux),
"%02x", id);
gst_pad_push_event (stream->pad, gst_event_new_stream_start (stream_id));
g_free (stream_id);
gst_pad_set_caps (stream->pad, caps);
GST_DEBUG_OBJECT (demux, "create pad %s, caps %" GST_PTR_FORMAT, name, caps);
gst_caps_unref (caps);
@ -833,6 +840,9 @@ gst_flups_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
GstFluPSDemux *demux = GST_FLUPS_DEMUX (parent);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_STREAM_START:
gst_event_unref (event);
break;
case GST_EVENT_FLUSH_START:
gst_flups_demux_send_event (demux, event);
break;