gst/autodetect/gstautoaudiosink.c: Don't unnecessarily perform a READY->NULL->READY...
authorJan Schmidt <thaytan@mad.scientist.com>
Fri, 25 May 2007 10:23:49 +0000 (10:23 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Fri, 25 May 2007 10:23:49 +0000 (10:23 +0000)
Original commit message from CVS:
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_detect):
Don't unnecessarily perform a READY->NULL->READY transition on the
detected audio sink when starting up. Fixes: #440127

ChangeLog
gst/autodetect/gstautoaudiosink.c

index 84c7648..f883165 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-25  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_detect):
+         Don't unnecessarily perform a READY->NULL->READY transition on the
+         detected audio sink when starting up. Fixes: #440127
+
 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
 
        * ext/flac/gstflacenc.c: (gst_flac_enc_sink_setcaps),
index 3920a33..c3dc052 100644 (file)
@@ -290,7 +290,12 @@ gst_auto_audio_sink_detect (GstAutoAudioSink * sink)
   }
 
   sink->kid = esink;
-  gst_element_set_state (sink->kid, GST_STATE (sink));
+  /* Ensure the child is brought up to the right state to match the parent
+   * although it's currently always in READY and 
+   * we're always doing NULL->READY. */
+  if (GST_STATE (sink->kid) < GST_STATE (sink))
+    gst_element_set_state (sink->kid, GST_STATE (sink));
+
   gst_bin_add (GST_BIN (sink), esink);
 
   /* attach ghost pad */