examples/seeking/seek.c: Make correct DV pipeline.
authorWim Taymans <wim.taymans@gmail.com>
Tue, 19 Jul 2005 11:57:27 +0000 (11:57 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 19 Jul 2005 11:57:27 +0000 (11:57 +0000)
Original commit message from CVS:
* examples/seeking/seek.c: (make_dv_pipeline),
(make_vorbis_theora_pipeline), (query_rates),
(query_positions_elems), (query_positions_pads), (do_seek):
Make correct DV pipeline.

ChangeLog
examples/seeking/seek.c
tests/examples/seek/seek.c

index 6bb8f3d..1f657a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-07-19  Wim Taymans  <wim@fluendo.com>
+
+       * examples/seeking/seek.c: (make_dv_pipeline),
+       (make_vorbis_theora_pipeline), (query_rates),
+       (query_positions_elems), (query_positions_pads), (do_seek):
+       Make correct DV pipeline.
+
 2005-07-18  Andy Wingo  <wingo@pobox.com>
 
        * configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by
index 8e07251..7de7ae1 100644 (file)
@@ -126,30 +126,37 @@ make_dv_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink, *videosink;
+  GstElement *a_queue, *v_queue;
   GstPad *seekable;
 
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
   decoder = gst_element_factory_make_or_warn ("dvdec", "decoder");
-  videosink = gst_element_factory_make_or_warn ("ximagesink", "v_sink");
+  v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
+  videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
+  a_queue = gst_element_factory_make_or_warn ("queue", "a_queue");
   audiosink = gst_element_factory_make_or_warn (ASINK, "a_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), a_queue);
   gst_bin_add (GST_BIN (pipeline), audiosink);
+  gst_bin_add (GST_BIN (pipeline), v_queue);
   gst_bin_add (GST_BIN (pipeline), videosink);
 
   gst_element_link (src, decoder);
-  gst_element_link (decoder, audiosink);
-  gst_element_link (decoder, videosink);
+  gst_element_link (decoder, a_queue);
+  gst_element_link (a_queue, audiosink);
+  gst_element_link (decoder, v_queue);
+  gst_element_link (v_queue, videosink);
 
   seekable = gst_element_get_pad (decoder, "video");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
+
   seekable = gst_element_get_pad (decoder, "audio");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
index 8e07251..7de7ae1 100644 (file)
@@ -126,30 +126,37 @@ make_dv_pipeline (const gchar * location)
 {
   GstElement *pipeline;
   GstElement *src, *decoder, *audiosink, *videosink;
+  GstElement *a_queue, *v_queue;
   GstPad *seekable;
 
   pipeline = gst_pipeline_new ("app");
 
   src = gst_element_factory_make_or_warn (SOURCE, "src");
   decoder = gst_element_factory_make_or_warn ("dvdec", "decoder");
-  videosink = gst_element_factory_make_or_warn ("ximagesink", "v_sink");
+  v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
+  videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
+  a_queue = gst_element_factory_make_or_warn ("queue", "a_queue");
   audiosink = gst_element_factory_make_or_warn (ASINK, "a_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), a_queue);
   gst_bin_add (GST_BIN (pipeline), audiosink);
+  gst_bin_add (GST_BIN (pipeline), v_queue);
   gst_bin_add (GST_BIN (pipeline), videosink);
 
   gst_element_link (src, decoder);
-  gst_element_link (decoder, audiosink);
-  gst_element_link (decoder, videosink);
+  gst_element_link (decoder, a_queue);
+  gst_element_link (a_queue, audiosink);
+  gst_element_link (decoder, v_queue);
+  gst_element_link (v_queue, videosink);
 
   seekable = gst_element_get_pad (decoder, "video");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);
+
   seekable = gst_element_get_pad (decoder, "audio");
   seekable_pads = g_list_prepend (seekable_pads, seekable);
   rate_pads = g_list_prepend (rate_pads, seekable);