diff options
author | Richard Boulton <richard@tartarus.org> | 2001-01-04 00:15:13 +0000 |
---|---|---|
committer | Richard Boulton <richard@tartarus.org> | 2001-01-04 00:15:13 +0000 |
commit | 5e7263ec750b9fa4759f134ec9469f900682b031 (patch) | |
tree | c4c8f3dd8d83270bed5182a03a2a8e0225f0f859 /tools | |
parent | 100bedea62b539c776caa0eb9cc3f50980bf677a (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.c | 14 |
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)); |