summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorOlivier Crete <olivier.crete@collabora.co.uk>2008-04-21 03:26:14 +0000
committerEdward Hervey <bilboed@bilboed.com>2009-02-17 19:29:04 +0100
commit341a88cd0462afd5c21a49fcf5a1bf4ebe64bb16 (patch)
tree2f1dcb34bf212ba090be199b7b34bb6b948acaf7 /gst
parent244bf6f250af2cbba0c97914913e000223a73f29 (diff)
downloadgst-plugins-bad-341a88cd0462afd5c21a49fcf5a1bf4ebe64bb16.tar.gz
gst-plugins-bad-341a88cd0462afd5c21a49fcf5a1bf4ebe64bb16.tar.bz2
gst-plugins-bad-341a88cd0462afd5c21a49fcf5a1bf4ebe64bb16.zip
[MOVED FROM GST-P-FARSIGHT] Unlock liveadder empty buffer gcond on flush
20080421032614-3e2dc-4ed29e1583ff684338ba5d7611f60b1a7eaff563.gz
Diffstat (limited to 'gst')
-rw-r--r--gst/liveadder/liveadder.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/liveadder/liveadder.c b/gst/liveadder/liveadder.c
index 8b6e6f6c..d7ec7ed9 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));
}