diff --git a/ChangeLog b/ChangeLog index d45f228297..a95957e4ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-04-06 Tim-Philipp Müller + + * 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 Patch by: Sjoerd Simons diff --git a/ext/jack/gstjackaudiosink.c b/ext/jack/gstjackaudiosink.c index 42dda79a6f..5223e4d00a 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 (); }