diff options
author | Youness Alaoui <youness.alaoui@collabora.co.uk> | 2008-04-28 15:48:50 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2009-02-17 19:29:04 +0100 |
commit | 2a2d21a1f2cdf6b45cf12164ae5746c39e38962d (patch) | |
tree | 007c42da2516807c6cd7a0429691352b611ff392 /gst/liveadder | |
parent | c9450ad8e22b9ec434ae46a5cc7da03aaaad76f4 (diff) | |
download | gst-plugins-bad-2a2d21a1f2cdf6b45cf12164ae5746c39e38962d.tar.gz gst-plugins-bad-2a2d21a1f2cdf6b45cf12164ae5746c39e38962d.tar.bz2 gst-plugins-bad-2a2d21a1f2cdf6b45cf12164ae5746c39e38962d.zip |
[MOVED FROM GST-P-FARSIGHT] error if no clock is available
20080428154850-4f0f6-38fdc4134835c457d0054301579d8cd4cbd4989a.gz
Diffstat (limited to 'gst/liveadder')
-rw-r--r-- | gst/liveadder/liveadder.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gst/liveadder/liveadder.c b/gst/liveadder/liveadder.c index 3f553b44..68796047 100644 --- a/gst/liveadder/liveadder.c +++ b/gst/liveadder/liveadder.c @@ -1028,9 +1028,10 @@ gst_live_adder_loop (gpointer data) buffer_timestamp = GST_BUFFER_TIMESTAMP (g_queue_peek_head (adder->buffers)); clock = GST_ELEMENT_CLOCK (adder); - if (!clock) - /* let's just push if there is no clock */ - goto push_buffer; + + if (!clock) { + goto no_clock; + } GST_DEBUG_OBJECT (adder, "sync to timestamp %" GST_TIME_FORMAT, GST_TIME_ARGS (buffer_timestamp)); @@ -1068,8 +1069,6 @@ gst_live_adder_loop (gpointer data) if (ret != GST_CLOCK_OK && ret != GST_CLOCK_EARLY) goto clock_error; - push_buffer: - buffer = g_queue_pop_head (adder->buffers); if (!buffer) @@ -1147,6 +1146,16 @@ gst_live_adder_loop (gpointer data) return; } + no_clock: + { + gst_pad_pause_task (adder->srcpad); + GST_OBJECT_UNLOCK (adder); + GST_ELEMENT_ERROR (adder, STREAM, MUX, ("No available clock"), + ("No available clock")); + GST_ERROR_OBJECT (adder, "No available clock"); + return; + } + pause: { const gchar *reason = gst_flow_get_name (result); |