mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
examples/seeking/seek.c: Make correct DV pipeline.
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.
This commit is contained in:
parent
790a87c864
commit
d6b5e52a36
3 changed files with 29 additions and 8 deletions
|
@ -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>
|
2005-07-18 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by
|
* configure.ac (DEFAULT_AUDIOSINK, DEFAULT_AUDIOSRC): Use alsa by
|
||||||
|
|
|
@ -126,30 +126,37 @@ make_dv_pipeline (const gchar * location)
|
||||||
{
|
{
|
||||||
GstElement *pipeline;
|
GstElement *pipeline;
|
||||||
GstElement *src, *decoder, *audiosink, *videosink;
|
GstElement *src, *decoder, *audiosink, *videosink;
|
||||||
|
GstElement *a_queue, *v_queue;
|
||||||
GstPad *seekable;
|
GstPad *seekable;
|
||||||
|
|
||||||
pipeline = gst_pipeline_new ("app");
|
pipeline = gst_pipeline_new ("app");
|
||||||
|
|
||||||
src = gst_element_factory_make_or_warn (SOURCE, "src");
|
src = gst_element_factory_make_or_warn (SOURCE, "src");
|
||||||
decoder = gst_element_factory_make_or_warn ("dvdec", "decoder");
|
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");
|
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);
|
g_object_set (G_OBJECT (src), "location", location, NULL);
|
||||||
|
|
||||||
gst_bin_add (GST_BIN (pipeline), src);
|
gst_bin_add (GST_BIN (pipeline), src);
|
||||||
gst_bin_add (GST_BIN (pipeline), decoder);
|
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), audiosink);
|
||||||
|
gst_bin_add (GST_BIN (pipeline), v_queue);
|
||||||
gst_bin_add (GST_BIN (pipeline), videosink);
|
gst_bin_add (GST_BIN (pipeline), videosink);
|
||||||
|
|
||||||
gst_element_link (src, decoder);
|
gst_element_link (src, decoder);
|
||||||
gst_element_link (decoder, audiosink);
|
gst_element_link (decoder, a_queue);
|
||||||
gst_element_link (decoder, videosink);
|
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 = gst_element_get_pad (decoder, "video");
|
||||||
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
||||||
rate_pads = g_list_prepend (rate_pads, seekable);
|
rate_pads = g_list_prepend (rate_pads, seekable);
|
||||||
|
|
||||||
seekable = gst_element_get_pad (decoder, "audio");
|
seekable = gst_element_get_pad (decoder, "audio");
|
||||||
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
||||||
rate_pads = g_list_prepend (rate_pads, seekable);
|
rate_pads = g_list_prepend (rate_pads, seekable);
|
||||||
|
|
|
@ -126,30 +126,37 @@ make_dv_pipeline (const gchar * location)
|
||||||
{
|
{
|
||||||
GstElement *pipeline;
|
GstElement *pipeline;
|
||||||
GstElement *src, *decoder, *audiosink, *videosink;
|
GstElement *src, *decoder, *audiosink, *videosink;
|
||||||
|
GstElement *a_queue, *v_queue;
|
||||||
GstPad *seekable;
|
GstPad *seekable;
|
||||||
|
|
||||||
pipeline = gst_pipeline_new ("app");
|
pipeline = gst_pipeline_new ("app");
|
||||||
|
|
||||||
src = gst_element_factory_make_or_warn (SOURCE, "src");
|
src = gst_element_factory_make_or_warn (SOURCE, "src");
|
||||||
decoder = gst_element_factory_make_or_warn ("dvdec", "decoder");
|
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");
|
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);
|
g_object_set (G_OBJECT (src), "location", location, NULL);
|
||||||
|
|
||||||
gst_bin_add (GST_BIN (pipeline), src);
|
gst_bin_add (GST_BIN (pipeline), src);
|
||||||
gst_bin_add (GST_BIN (pipeline), decoder);
|
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), audiosink);
|
||||||
|
gst_bin_add (GST_BIN (pipeline), v_queue);
|
||||||
gst_bin_add (GST_BIN (pipeline), videosink);
|
gst_bin_add (GST_BIN (pipeline), videosink);
|
||||||
|
|
||||||
gst_element_link (src, decoder);
|
gst_element_link (src, decoder);
|
||||||
gst_element_link (decoder, audiosink);
|
gst_element_link (decoder, a_queue);
|
||||||
gst_element_link (decoder, videosink);
|
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 = gst_element_get_pad (decoder, "video");
|
||||||
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
||||||
rate_pads = g_list_prepend (rate_pads, seekable);
|
rate_pads = g_list_prepend (rate_pads, seekable);
|
||||||
|
|
||||||
seekable = gst_element_get_pad (decoder, "audio");
|
seekable = gst_element_get_pad (decoder, "audio");
|
||||||
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
seekable_pads = g_list_prepend (seekable_pads, seekable);
|
||||||
rate_pads = g_list_prepend (rate_pads, seekable);
|
rate_pads = g_list_prepend (rate_pads, seekable);
|
||||||
|
|
Loading…
Reference in a new issue