diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst-libs/gst/audio/gstbaseaudiosink.c | 1 |
2 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2008-12-20 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst-libs/gst/audio/gstbaseaudiosink.c: + (gst_base_audio_sink_setcaps): + Pause the write thread before deactivating and releasing the ringbuffer + to avoid a deadlock when we do gapless playback with different sample + rates in playbin2. Fixes #564929. + 2008-12-19 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gst-libs/gst/audio/gstbaseaudiosrc.c: diff --git a/gst-libs/gst/audio/gstbaseaudiosink.c b/gst-libs/gst/audio/gstbaseaudiosink.c index 7544f458..7f42d7eb 100644 --- a/gst-libs/gst/audio/gstbaseaudiosink.c +++ b/gst-libs/gst/audio/gstbaseaudiosink.c @@ -620,6 +620,7 @@ gst_base_audio_sink_setcaps (GstBaseSink * bsink, GstCaps * caps) GST_DEBUG_OBJECT (sink, "release old ringbuffer"); /* release old ringbuffer */ + gst_ring_buffer_pause (sink->ringbuffer); gst_ring_buffer_activate (sink->ringbuffer, FALSE); gst_ring_buffer_release (sink->ringbuffer); |