summaryrefslogtreecommitdiff
path: root/gst/gstparse.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2001-12-17 14:18:03 +0000
committerWim Taymans <wim.taymans@gmail.com>2001-12-17 14:18:03 +0000
commit17649a66793a72320ac9b8070761d02fbce4a481 (patch)
tree5e85b0fedb29547989e2ad616266830eb41fbcf7 /gst/gstparse.c
parent18ae9a069dcb874a371bae0b6ef111663cd70aa8 (diff)
Added parallel pipeline syntex to the parser. ./gstreamer-launch filesrc location=/opt/data/AlienSong.mpg ! mpegdemux...
Original commit message from CVS: Added parallel pipeline syntex to the parser. ./gstreamer-launch filesrc location=/opt/data/AlienSong.mpg ! mpegdemux name=foo video_00! { queue ! mpeg2dec ! sdlvideosink } foo.audio_00! { queue ! mad ! osssink } should do the trick :)
Diffstat (limited to 'gst/gstparse.c')
-rw-r--r--gst/gstparse.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gst/gstparse.c b/gst/gstparse.c
index e5131e82a..26ec647e4 100644
--- a/gst/gstparse.c
+++ b/gst/gstparse.c
@@ -169,6 +169,21 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
sinkpadname = NULL;
}
+ if (srcpadname && (ptr = strchr (srcpadname, '.'))) {
+ gchar *element_name = g_strndup (arg, (ptr - srcpadname));
+ GstElement *new;
+
+ GST_DEBUG (0, "have pad for element %s\n", element_name);
+ new = gst_bin_get_by_name (parent, element_name);
+ if (!new) {
+ GST_DEBUG (0, "element %s does not exist! trying to continue\n", element_name);
+ }
+ else {
+ previous = new;
+ srcpadname = ptr + 1;
+ }
+ }
+
GST_DEBUG (0, "have srcpad %s, sinkpad %s\n", srcpadname, sinkpadname);
g_slist_free (srcpads);
@@ -422,7 +437,7 @@ gst_parse_launch_cmdline (int argc, char *argv[], GstBin * parent, gst_parse_pri
g_slist_free (srcpads);
srcpads = NULL;
-
+
g_slist_free (sinkpads);
sinkpads = NULL;