summaryrefslogtreecommitdiffstats
path: root/gst/autodetect/gstautoaudiosink.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/autodetect/gstautoaudiosink.c')
-rw-r--r--gst/autodetect/gstautoaudiosink.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/autodetect/gstautoaudiosink.c b/gst/autodetect/gstautoaudiosink.c
index 3920a33d..c3dc052b 100644
--- a/gst/autodetect/gstautoaudiosink.c
+++ b/gst/autodetect/gstautoaudiosink.c
@@ -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 */