From 2145586ab608be7a3d9d690c1998618955145cad Mon Sep 17 00:00:00 2001 From: Luis de Bethencourt Date: Wed, 8 Apr 2015 15:31:39 +0100 Subject: [PATCH] examples: avoid sprinkle running endlessly Quit sprinkle when there are no more frequencies to remove. Also rename for readability the check for linking elements. --- tests/examples/dynamic/sprinkle.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tests/examples/dynamic/sprinkle.c b/tests/examples/dynamic/sprinkle.c index da49e95679..c14afb1bf0 100644 --- a/tests/examples/dynamic/sprinkle.c +++ b/tests/examples/dynamic/sprinkle.c @@ -164,7 +164,12 @@ do_sprinkle (SprinkleState * state) state->count++; } else { state->infos[0] = NULL; + + /* if no more sources left, quit */ + if (!state->infos[2]) + g_main_loop_quit (loop); } + return TRUE; } @@ -202,7 +207,7 @@ main (int argc, char *argv[]) GstBus *bus; GstElement *filter, *convert, *sink; GstCaps *caps; - gboolean res; + gboolean linked; SprinkleState *state; gst_init (&argc, &argv); @@ -227,8 +232,8 @@ main (int argc, char *argv[]) gst_bin_add_many (GST_BIN (pipeline), adder, filter, convert, sink, NULL); - res = gst_element_link_many (adder, filter, convert, sink, NULL); - g_assert (res); + linked = gst_element_link_many (adder, filter, convert, sink, NULL); + g_assert (linked); /* setup message handling */ bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));