diff options
author | Edward Hervey <edward.hervey@collabora.co.uk> | 2012-07-13 13:51:48 +0200 |
---|---|---|
committer | Edward Hervey <edward.hervey@collabora.co.uk> | 2012-07-13 13:51:48 +0200 |
commit | f063e40af7c7ab7e4221e1a61a327884260220de (patch) | |
tree | 0471b361101740257a7c00bb0958aeb6e42a836f | |
parent | 0cff483bd70d005a1126ebdcce4e52aef7bb9867 (diff) | |
download | gstreamer-plugins-good-f063e40af7c7ab7e4221e1a61a327884260220de.tar.gz |
demux: Push STREAM_START event when needed
-rw-r--r-- | ext/dv/gstdvdemux.c | 2 | ||||
-rw-r--r-- | gst/avi/gstavidemux.c | 1 | ||||
-rw-r--r-- | gst/flv/gstflvdemux.c | 2 | ||||
-rw-r--r-- | gst/isomp4/qtdemux.c | 1 | ||||
-rw-r--r-- | gst/matroska/matroska-demux.c | 1 |
5 files changed, 7 insertions, 0 deletions
diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index 8c3ac9bb4..bfdabf8a2 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -1183,6 +1183,7 @@ gst_dvdemux_demux_audio (GstDVDemux * dvdemux, GstBuffer * buffer, gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S16LE, frequency, channels, NULL); caps = gst_audio_info_to_caps (&info); + gst_pad_push_event (dvdemux->audiosrcpad, gst_event_new_stream_start ()); gst_pad_set_caps (dvdemux->audiosrcpad, caps); gst_caps_unref (caps); } @@ -1272,6 +1273,7 @@ gst_dvdemux_demux_video (GstDVDemux * dvdemux, GstBuffer * buffer, "framerate", GST_TYPE_FRACTION, dvdemux->framerate_numerator, dvdemux->framerate_denominator, "pixel-aspect-ratio", GST_TYPE_FRACTION, par_x, par_y, NULL); + gst_pad_push_event (dvdemux->videosrcpad, gst_event_new_stream_start ()); gst_pad_set_caps (dvdemux->videosrcpad, caps); gst_caps_unref (caps); } diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 74207b8d1..84fcd4d7f 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -2299,6 +2299,7 @@ gst_avi_demux_parse_stream (GstAviDemux * avi, GstBuffer * buf) avi->num_streams++; gst_pad_set_active (pad, TRUE); + gst_pad_push_event (pad, gst_event_new_stream_start ()); gst_pad_set_caps (pad, caps); gst_caps_unref (caps); diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c index aed10ae57..39136020f 100644 --- a/gst/flv/gstflvdemux.c +++ b/gst/flv/gstflvdemux.c @@ -732,6 +732,7 @@ gst_flv_demux_audio_negotiate (GstFlvDemux * demux, guint32 codec_tag, demux->audio_codec_data, NULL); } + gst_pad_push_event (demux->audio_pad, gst_event_new_stream_start ()); ret = gst_pad_set_caps (demux->audio_pad, caps); if (G_LIKELY (ret)) { @@ -1178,6 +1179,7 @@ gst_flv_demux_video_negotiate (GstFlvDemux * demux, guint32 codec_tag) demux->video_codec_data, NULL); } + gst_pad_push_event (demux->video_pad, gst_event_new_stream_start ()); ret = gst_pad_set_caps (demux->video_pad, caps); if (G_LIKELY (ret)) { diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index edd274754..2586b1d9a 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -5201,6 +5201,7 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux, gst_pad_set_active (stream->pad, TRUE); GST_DEBUG_OBJECT (qtdemux, "setting caps %" GST_PTR_FORMAT, stream->caps); + gst_pad_push_event (stream->pad, gst_event_new_stream_start ()); gst_pad_set_caps (stream->pad, stream->caps); GST_DEBUG_OBJECT (qtdemux, "adding pad %s %p to qtdemux %p", diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index 159881165..af254eb95 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -1329,6 +1329,7 @@ gst_matroska_demux_add_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml) gst_pad_use_fixed_caps (context->pad); gst_pad_set_active (context->pad, TRUE); + gst_pad_push_event (context->pad, gst_event_new_stream_start ()); gst_pad_set_caps (context->pad, context->caps); gst_element_add_pad (GST_ELEMENT (demux), context->pad); |