From 836058133260247241bf100d6b7ec4cb4c6c7785 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 16 Nov 2005 12:17:06 +0000 Subject: [PATCH] gst-libs/gst/audio/gstringbuffer.c: Set ringbuffer to flushing when stopping so that we don't block on wait_segment a... Original commit message from CVS: * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop): Set ringbuffer to flushing when stopping so that we don't block on wait_segment anymore and livelock. --- ChangeLog | 6 ++++++ gst-libs/gst/audio/gstringbuffer.c | 9 +-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 038ce098d4..8ecb3aefdb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-11-16 Wim Taymans + + * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_stop): + Set ringbuffer to flushing when stopping so that we don't + block on wait_segment anymore and livelock. + 2005-11-16 Wim Taymans * examples/seeking/seek.c: (send_event), (do_seek), diff --git a/gst-libs/gst/audio/gstringbuffer.c b/gst-libs/gst/audio/gstringbuffer.c index cae51f1696..8e38e8a971 100644 --- a/gst-libs/gst/audio/gstringbuffer.c +++ b/gst-libs/gst/audio/gstringbuffer.c @@ -796,8 +796,7 @@ gst_ring_buffer_stop (GstRingBuffer * buf) GST_DEBUG_OBJECT (buf, "stopping"); GST_LOCK (buf); - if (buf->flushing) - goto flushing; + buf->flushing = TRUE; /* if started, set to stopped */ res = g_atomic_int_compare_and_exchange (&buf->state, @@ -827,12 +826,6 @@ done: GST_UNLOCK (buf); return res; - -flushing: - { - GST_UNLOCK (buf); - return FALSE; - } } /**