From 56fb211778a9fb342eea922c901cee6d74c02cad Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sat, 8 Jun 2002 14:57:15 +0000 Subject: Added wav test to seek.c Original commit message from CVS: Added wav test to seek.c Added an example of element query/seek using spider --- examples/seeking/seek.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'examples/seeking/seek.c') diff --git a/examples/seeking/seek.c b/examples/seeking/seek.c index ce22e845..575fac1a 100644 --- a/examples/seeking/seek.c +++ b/examples/seeking/seek.c @@ -57,6 +57,37 @@ setup_dynamic_connection (GstElement *element, const gchar *padname, GstPad *tar g_signal_connect (G_OBJECT (element), "new_pad", G_CALLBACK (dynamic_connect), connect); } +static GstElement* +make_wav_pipeline (const gchar *location) +{ + GstElement *pipeline; + GstElement *src, *decoder, *audiosink; + GstPad *seekable; + + pipeline = gst_pipeline_new ("app"); + + src = gst_element_factory_make (SOURCE, "src"); + decoder = gst_element_factory_make ("wavparse", "decoder"); + audiosink = gst_element_factory_make ("osssink", "sink"); + //g_object_set (G_OBJECT (audiosink), "sync", FALSE, NULL); + + g_object_set (G_OBJECT (src), "location", location, NULL); + + gst_bin_add (GST_BIN (pipeline), src); + gst_bin_add (GST_BIN (pipeline), decoder); + gst_bin_add (GST_BIN (pipeline), audiosink); + + gst_element_connect (src, decoder); + gst_element_connect (decoder, audiosink); + + seekable = gst_element_get_pad (decoder, "src"); + seekable_pads = g_list_prepend (seekable_pads, seekable); + rate_pads = g_list_prepend (rate_pads, seekable); + rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink")); + + return pipeline; +} + static GstElement* make_flac_pipeline (const gchar *location) { @@ -625,6 +656,8 @@ main (int argc, char **argv) pipeline = make_sid_pipeline (argv[2]); else if (atoi (argv[1]) == 6) pipeline = make_flac_pipeline (argv[2]); + else if (atoi (argv[1]) == 7) + pipeline = make_wav_pipeline (argv[2]); /* initialize gui elements ... */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); -- cgit v1.2.1