summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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));
}