summaryrefslogtreecommitdiff
path: root/ext/resindvd/gstmpegdemux.c
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2013-07-22 09:18:32 +0200
committerSebastian Dröge <slomo@circular-chaos.org>2013-07-22 09:19:06 +0200
commite56efddd4ad64a1a01e18d681c82e19b56922605 (patch)
tree341e7a721486a05880f3bf50f247a11f133e7f0b /ext/resindvd/gstmpegdemux.c
parent506abb06e28acf2e036c2007b7f0571b3d816b75 (diff)
downloadgstreamer-plugins-bad-e56efddd4ad64a1a01e18d681c82e19b56922605.tar.gz
resindvd: Send stream-start event before anything else on the mpeg demuxer srcpads
Diffstat (limited to 'ext/resindvd/gstmpegdemux.c')
-rw-r--r--ext/resindvd/gstmpegdemux.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c
index a03eab3a9..1f2497802 100644
--- a/ext/resindvd/gstmpegdemux.c
+++ b/ext/resindvd/gstmpegdemux.c
@@ -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;