mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 18:05:37 +00:00
queue2: signal delete before waiting
When we don't have the requested data in the ringbuffer and we move our read pointer to the requested position, signal the delete cond to inform the writer that we changed the current fill level. If we don't, the writer might stay blocked and we might wait forever.
This commit is contained in:
parent
dc3d3674b1
commit
bdda711d03
1 changed files with 1 additions and 0 deletions
|
@ -1309,6 +1309,7 @@ gst_queue2_create_read (GstQueue2 * queue, guint64 offset, guint length,
|
|||
"update current position [%" G_GUINT64_FORMAT "-%"
|
||||
G_GUINT64_FORMAT "]", rpos, queue->current->max_reading_pos);
|
||||
update_cur_pos (queue, queue->current, rpos);
|
||||
GST_QUEUE2_SIGNAL_DEL (queue);
|
||||
}
|
||||
GST_DEBUG_OBJECT (queue, "waiting for add");
|
||||
GST_QUEUE2_WAIT_ADD_CHECK (queue, queue->srcresult, out_flushing);
|
||||
|
|
Loading…
Reference in a new issue