From 341a88cd0462afd5c21a49fcf5a1bf4ebe64bb16 Mon Sep 17 00:00:00 2001 From: Olivier Crete Date: Mon, 21 Apr 2008 03:26:14 +0000 Subject: [PATCH] [MOVED FROM GST-P-FARSIGHT] Unlock liveadder empty buffer gcond on flush 20080421032614-3e2dc-4ed29e1583ff684338ba5d7611f60b1a7eaff563.gz --- gst/liveadder/liveadder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/liveadder/liveadder.c b/gst/liveadder/liveadder.c index 8b6e6f6c64..d7ec7ed9d7 100644 --- a/gst/liveadder/liveadder.c +++ b/gst/liveadder/liveadder.c @@ -452,6 +452,8 @@ gst_live_adder_flush_start (GstLiveAdder * adder) * locking streaming thread. */ if (adder->clock_id) gst_clock_id_unschedule (adder->clock_id); + + g_cond_broadcast (adder->not_empty_cond); GST_OBJECT_UNLOCK (adder); } @@ -1029,12 +1031,12 @@ gst_live_adder_loop (gpointer data) for (;;) { + if (adder->srcresult != GST_FLOW_OK) + goto flushing; if (!g_queue_is_empty (adder->buffers)) break; if (check_eos_locked (adder)) goto eos; - if (adder->srcresult != GST_FLOW_OK) - goto flushing; g_cond_wait (adder->not_empty_cond, GST_OBJECT_GET_LOCK(adder)); }