diff options
Diffstat (limited to 'gst')
-rw-r--r-- | gst/liveadder/liveadder.c | 6 |
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)); } |