summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/gconf/gstgconfaudiosink.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 809314c7..6c696a0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-02-14 Jan Schmidt <thaytan@mad.scientist.com>
+
+ * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_reset),
+ (do_change_child):
+ Don't reset the profile when going switching states, as it makes
+ the element non-reusable.
+
2007-02-14 Wim Taymans <wim@fluendo.com>
* gst/rtsp/sdpmessage.c: (sdp_origin_init), (sdp_connection_init),
diff --git a/ext/gconf/gstgconfaudiosink.c b/ext/gconf/gstgconfaudiosink.c
index 25b06e32..3ac1b897 100644
--- a/ext/gconf/gstgconfaudiosink.c
+++ b/ext/gconf/gstgconfaudiosink.c
@@ -105,8 +105,6 @@ gst_gconf_audio_sink_reset (GstGConfAudioSink * sink)
g_free (sink->gconf_str);
sink->gconf_str = NULL;
-
- gst_gconf_switch_profile (sink, GCONF_PROFILE_NONE);
}
static void
@@ -146,6 +144,9 @@ do_change_child (GstGConfAudioSink * sink)
gchar *new_gconf_str;
GstElement *new_kid;
+ if (sink->profile == GCONF_PROFILE_NONE)
+ return FALSE; /* Can't switch to a 'NONE' sink */
+
key = gst_gconf_get_key_for_sink_profile (sink->profile);
new_gconf_str = gst_gconf_get_string (key);