summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRichard Boulton <richard@tartarus.org>2001-01-04 00:15:13 +0000
committerRichard Boulton <richard@tartarus.org>2001-01-04 00:15:13 +0000
commit5e7263ec750b9fa4759f134ec9469f900682b031 (patch)
treec4c8f3dd8d83270bed5182a03a2a8e0225f0f859 /tools
parent100bedea62b539c776caa0eb9cc3f50980bf677a (diff)
Added partial fix so that arguments can be set.
Original commit message from CVS: Added partial fix so that arguments can be set.
Diffstat (limited to 'tools')
-rw-r--r--tools/gstreamer-launch.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/tools/gstreamer-launch.c b/tools/gstreamer-launch.c
index f0edf330d3..56e791ac4b 100644
--- a/tools/gstreamer-launch.c
+++ b/tools/gstreamer-launch.c
@@ -144,7 +144,7 @@ gint parse_cmdline(int argc,char *argv[],GstBin *parent) {
else DEBUG("have src pad %s:%s\n",GST_DEBUG_PAD_NAME(srcpad));
}
- // element, or beginning of bin or thread
+ // element or argument, or beginning of bin or thread
} else {
DEBUG("have element or bin/thread\n");
// if we have a bin or thread starting
@@ -161,8 +161,18 @@ gint parse_cmdline(int argc,char *argv[],GstBin *parent) {
i += parse_cmdline(argc - i, argv + i + 1, GST_BIN (element));
- // else we have an element
+ } else if (strstr(arg, "=")) {
+ gchar * argname;
+ gchar * argval;
+ gchar * pos = strstr(arg, "=");
+ // we have an argument
+ argname = g_strndup(arg, pos - arg);
+ argval = pos+1;
+ DEBUG("attempting to set argument '%s'\n", arg);
+ gtk_object_set(GTK_OBJECT(previous),argname,argval,NULL);
+ g_free(argname);
} else {
+ // we have an element
DEBUG("attempting to create element '%s'\n",arg);
element = gst_elementfactory_make(arg,unique_name(arg));
VERBOSE("CREATED element %s\n",gst_element_get_name(element));