gst/playback/gstdecodebin2.c: Make decodebin2 autoplug depayloaders too.

Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
Make decodebin2 autoplug depayloaders too.
* gst/playback/gsturidecodebin.c: (source_new_pad):
Set the newly created decoder in a usable state when autoplugging a
dynamic source such as RTSP.
This commit is contained in:
Wim Taymans 2007-05-17 16:27:32 +00:00
parent 2cd5f527fe
commit a18a10e81f
3 changed files with 15 additions and 1 deletions

View file

@ -1,3 +1,12 @@
2007-05-17 Wim Taymans <wim@fluendo.com>
* gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
Make decodebin2 autoplug depayloaders too.
* gst/playback/gsturidecodebin.c: (source_new_pad):
Set the newly created decoder in a usable state when autoplugging a
dynamic source such as RTSP.
2007-05-17 Tim-Philipp Müller <tim at centricular dot net> 2007-05-17 Tim-Philipp Müller <tim at centricular dot net>
* gst/playback/gststreaminfo.c: (cb_probe): * gst/playback/gststreaminfo.c: (cb_probe):

View file

@ -448,7 +448,8 @@ gst_decode_bin_factory_filter (GstPluginFeature * feature,
klass = gst_element_factory_get_klass (GST_ELEMENT_FACTORY (feature)); klass = gst_element_factory_get_klass (GST_ELEMENT_FACTORY (feature));
/* only demuxers, decoders and parsers can play */ /* only demuxers, decoders and parsers can play */
if (strstr (klass, "Demux") == NULL && if (strstr (klass, "Demux") == NULL &&
strstr (klass, "Decoder") == NULL && strstr (klass, "Parse") == NULL) { strstr (klass, "Decoder") == NULL && strstr (klass, "Parse") == NULL &&
strstr (klass, "Depayloader") == NULL) {
return FALSE; return FALSE;
} }

View file

@ -662,6 +662,10 @@ source_new_pad (GstElement * element, GstPad * pad, GstURIDecodeBin * bin)
if (!gst_element_link (bin->source, decoder)) if (!gst_element_link (bin->source, decoder))
goto could_not_link; goto could_not_link;
GST_DEBUG_OBJECT (bin, "linked decoder to new pad");
gst_element_set_state (decoder, GST_STATE_PLAYING);
return; return;
/* ERRORS */ /* ERRORS */