mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
ringbuffer: check for ringbuffer state first
Check for the state of the ringbuffer before doing the checks of the other buffer properties, when we're not started, we don't care about those values.
This commit is contained in:
parent
3a00a97fd2
commit
2ced0a3d5d
1 changed files with 6 additions and 6 deletions
|
@ -1960,6 +1960,12 @@ gst_ring_buffer_prepare_read (GstRingBuffer * buf, gint * segment,
|
|||
|
||||
g_return_val_if_fail (GST_IS_RING_BUFFER (buf), FALSE);
|
||||
|
||||
if (buf->callback == NULL) {
|
||||
/* push mode, fail when nothing is started */
|
||||
if (g_atomic_int_get (&buf->state) != GST_RING_BUFFER_STATE_STARTED)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_return_val_if_fail (buf->data != NULL, FALSE);
|
||||
g_return_val_if_fail (segment != NULL, FALSE);
|
||||
g_return_val_if_fail (readptr != NULL, FALSE);
|
||||
|
@ -1967,12 +1973,6 @@ gst_ring_buffer_prepare_read (GstRingBuffer * buf, gint * segment,
|
|||
|
||||
data = GST_BUFFER_DATA (buf->data);
|
||||
|
||||
if (buf->callback == NULL) {
|
||||
/* push mode, fail when nothing is started */
|
||||
if (g_atomic_int_get (&buf->state) != GST_RING_BUFFER_STATE_STARTED)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* get the position of the pointer */
|
||||
segdone = g_atomic_int_get (&buf->segdone);
|
||||
|
||||
|
|
Loading…
Reference in a new issue