From 26abf37c0365079b3dffae19c94d6690f2f1584e Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Thu, 7 Feb 2008 13:48:20 +0000 Subject: gst/multifile/gstmultifilesink.c: Add a fixme comment. Original commit message from CVS: * gst/multifile/gstmultifilesink.c: Add a fixme comment. * gst/selector/gstoutputselector.c: Fix same leak as in input-selector. * tests/icles/output-selector-test.c: Improve the test. --- gst/selector/gstoutputselector.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gst/selector/gstoutputselector.c') diff --git a/gst/selector/gstoutputselector.c b/gst/selector/gstoutputselector.c index 1d1dc05a..a60df6a9 100644 --- a/gst/selector/gstoutputselector.c +++ b/gst/selector/gstoutputselector.c @@ -25,13 +25,6 @@ * Direct input stream to one out of N output pads. */ -/* FIXME: By default basesinks require some prerolled data before changing - to playing state. Also pipeline with output-selector connected to multiple - sink elements won't change to playing until all sink elements have received - the preroll data. Currently this can be worked around using live source element - and and exporting GST_COMPAT="no-live-preroll". -*/ - #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -212,7 +205,12 @@ gst_output_selector_set_property (GObject * object, guint prop_id, GstPad *next_pad = gst_element_get_static_pad (GST_ELEMENT (sel), g_value_get_string (value)); - if (next_pad && (next_pad != sel->active_srcpad)) { + if (!next_pad) { + GST_WARNING ("pad %s not found, activation failed", + g_value_get_string (value)); + break; + } + if (next_pad != sel->active_srcpad) { /* switch to new srcpad in next chain run */ if (sel->pending_srcpad != NULL) { GST_INFO ("replacing pending switch"); @@ -220,7 +218,8 @@ gst_output_selector_set_property (GObject * object, guint prop_id, } sel->pending_srcpad = next_pad; } else { - GST_WARNING ("setting active pad failed"); + GST_INFO ("pad already active"); + gst_object_unref (next_pad); } break; } -- cgit v1.2.1