summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/jack/gstjackaudiosink.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d45f2282..a95957e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-04-06 Tim-Philipp Müller <tim at centricular dot net>
+
+ * ext/jack/gstjackaudiosink.c: (gst_jack_audio_sink_class_init):
+ Work around missing bits of thread-safety on older GLibs some
+ more to avoid assertions when starting up multiple playbin
+ objects concurrently (see #512382).
+
2008-04-06 Sebastian Dröge <slomo@circular-chaos.org>
Patch by: Sjoerd Simons <sjoerd at luon dot net>
diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c
index 42dda79a..5223e4d0 100644
--- a/ext/jack/gstjackaudiosink.c
+++ b/ext/jack/gstjackaudiosink.c
@@ -773,6 +773,10 @@ gst_jack_audio_sink_class_init (GstJackAudioSinkClass * klass)
gstbaseaudiosink_class->create_ringbuffer =
GST_DEBUG_FUNCPTR (gst_jack_audio_sink_create_ringbuffer);
+ /* ref class from a thread-safe context to work around missing bit of
+ * thread-safety in GObject */
+ g_type_class_ref (GST_TYPE_JACK_RING_BUFFER);
+
gst_jack_audio_client_init ();
}