+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
{
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);
{
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);