From a18a10e81f803bf5c9cbfc06140c267214540e77 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 17 May 2007 16:27:32 +0000 Subject: [PATCH] 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. --- ChangeLog | 9 +++++++++ gst/playback/gstdecodebin2.c | 3 ++- gst/playback/gsturidecodebin.c | 4 ++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 522fe52ec7..39880eea84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-05-17 Wim Taymans + + * 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 * gst/playback/gststreaminfo.c: (cb_probe): diff --git a/gst/playback/gstdecodebin2.c b/gst/playback/gstdecodebin2.c index 383a86c506..4f7ef5a85f 100644 --- a/gst/playback/gstdecodebin2.c +++ b/gst/playback/gstdecodebin2.c @@ -448,7 +448,8 @@ gst_decode_bin_factory_filter (GstPluginFeature * feature, klass = gst_element_factory_get_klass (GST_ELEMENT_FACTORY (feature)); /* only demuxers, decoders and parsers can play */ 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; } diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index 2d840fad98..e74083a074 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -662,6 +662,10 @@ source_new_pad (GstElement * element, GstPad * pad, GstURIDecodeBin * bin) if (!gst_element_link (bin->source, decoder)) goto could_not_link; + GST_DEBUG_OBJECT (bin, "linked decoder to new pad"); + + gst_element_set_state (decoder, GST_STATE_PLAYING); + return; /* ERRORS */