mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 07:16:55 +00:00
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.
This commit is contained in:
parent
27ebf53a09
commit
8360581332
2 changed files with 7 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2005-11-16 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* 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 <wim@fluendo.com>
|
2005-11-16 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* examples/seeking/seek.c: (send_event), (do_seek),
|
* examples/seeking/seek.c: (send_event), (do_seek),
|
||||||
|
|
|
@ -796,8 +796,7 @@ gst_ring_buffer_stop (GstRingBuffer * buf)
|
||||||
GST_DEBUG_OBJECT (buf, "stopping");
|
GST_DEBUG_OBJECT (buf, "stopping");
|
||||||
|
|
||||||
GST_LOCK (buf);
|
GST_LOCK (buf);
|
||||||
if (buf->flushing)
|
buf->flushing = TRUE;
|
||||||
goto flushing;
|
|
||||||
|
|
||||||
/* if started, set to stopped */
|
/* if started, set to stopped */
|
||||||
res = g_atomic_int_compare_and_exchange (&buf->state,
|
res = g_atomic_int_compare_and_exchange (&buf->state,
|
||||||
|
@ -827,12 +826,6 @@ done:
|
||||||
GST_UNLOCK (buf);
|
GST_UNLOCK (buf);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
flushing:
|
|
||||||
{
|
|
||||||
GST_UNLOCK (buf);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue