summaryrefslogtreecommitdiff
path: root/src/buffer
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer')
-rw-r--r--src/buffer/video.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/buffer/video.c b/src/buffer/video.c
index 01f317e..bb217af 100644
--- a/src/buffer/video.c
+++ b/src/buffer/video.c
@@ -257,8 +257,9 @@ bool camu_video_buffer_read(struct camu_video_buffer *buf, void *out, bool *weig
}
}
- u8 ret = buf->queue->read(buf->queue, base, out);
u8 flow = al_atomic_load(u8)(&buf->flow, AL_ATOMIC_ACQUIRE);
+ if (flow == ERRORED) return false;
+ u8 ret = buf->queue->read(buf->queue, base, out);
if (ret == CAMU_QUEUE_ERR) {
buf->callback(buf->userdata, CAMU_BUFFER_ERRORED);
al_atomic_store(u8)(&buf->flow, ERRORED, AL_ATOMIC_RELEASE);