summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2008-02-07 13:48:20 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2008-02-07 13:48:20 +0000
commit26abf37c0365079b3dffae19c94d6690f2f1584e (patch)
tree31853488edac64ca88808cedabb6d456aa6832de /gst
parentfd149d267fb4028e5bf382104bdcde813348a9b3 (diff)
downloadgst-plugins-bad-26abf37c0365079b3dffae19c94d6690f2f1584e.tar.gz
gst-plugins-bad-26abf37c0365079b3dffae19c94d6690f2f1584e.tar.bz2
gst-plugins-bad-26abf37c0365079b3dffae19c94d6690f2f1584e.zip
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.
Diffstat (limited to 'gst')
-rw-r--r--gst/multifile/gstmultifilesink.c1
-rw-r--r--gst/selector/gstoutputselector.c17
2 files changed, 9 insertions, 9 deletions
diff --git a/gst/multifile/gstmultifilesink.c b/gst/multifile/gstmultifilesink.c
index ad615f78..dd7e1f4c 100644
--- a/gst/multifile/gstmultifilesink.c
+++ b/gst/multifile/gstmultifilesink.c
@@ -151,6 +151,7 @@ gst_multi_file_sink_set_location (GstMultiFileSink * sink,
{
g_free (sink->filename);
if (location != NULL) {
+ /* FIXME: validate location to have just one %d */
sink->filename = g_strdup (location);
} else {
sink->filename = NULL;
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;
}