summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-01-05 14:56:27 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-01-05 14:56:27 +0000
commit287845087692f134141d2a12ab5681668c2620db (patch)
tree774572cc8d461f9937668b0b02d4d597a91545ef /examples
parent8e60b18bdca0ac433da3cc81daa427e9fdbfbdb8 (diff)
downloadgst-plugins-bad-287845087692f134141d2a12ab5681668c2620db.tar.gz
gst-plugins-bad-287845087692f134141d2a12ab5681668c2620db.tar.bz2
gst-plugins-bad-287845087692f134141d2a12ab5681668c2620db.zip
examples/gstplay/player.c: Don't iterate.
Original commit message from CVS: * examples/gstplay/player.c: (main): Don't iterate. * examples/seeking/seek.c: (fixate), (make_playerbin_pipeline): Add visualizations. * ext/a52dec/gsta52dec.c: (gst_a52dec_push), (gst_a52dec_handle_frame): Set duration. * ext/dvdnav/gst-dvd: Add audioconvert. Fixes #161325. * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_get): Explicitely case to gint64. Possible valgrind error. * gst-libs/gst/play/play.c: (caps_set), (setup_size), (gst_play_tick_callback), (gst_play_change_state), (gst_play_dispose), (gst_play_init), (gst_play_class_init), (gst_play_set_location), (gst_play_get_location), (gst_play_seek_to_time), (gst_play_set_data_src), (gst_play_set_video_sink), (gst_play_set_audio_sink), (gst_play_set_visualization), (gst_play_connect_visualization), (gst_play_get_framerate), (gst_play_get_all_by_interface), (gst_play_new): Use playbin. Fixes #139749 and #147744. * gst/apetag/apedemux.c: (gst_ape_demux_parse_tags): Add genre tag. * gst/audioscale/gstaudioscale.c: (gst_audioscale_method_get_type), (audioscale_get_type), (gst_audioscale_base_init), (gst_audioscale_class_init), (gst_audioscale_expand_caps), (gst_audioscale_getcaps), (gst_audioscale_fixate), (gst_audioscale_link), (gst_audioscale_get_buffer), (gst_audioscale_decrease_rate), (gst_audioscale_increase_rate), (gst_audioscale_init), (gst_audioscale_dispose), (gst_audioscale_chain), (gst_audioscale_set_property), (gst_audioscale_get_property), (plugin_init): Indent properly. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_private): Fix LPCM. * gst/qtdemux/qtdemux.c: (qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num), (qtdemux_tag_add_gnre), (qtdemux_video_caps): Add more metadata (fixes #162656).
Diffstat (limited to 'examples')
-rw-r--r--examples/gstplay/player.c8
-rw-r--r--examples/seeking/seek.c34
2 files changed, 32 insertions, 10 deletions
diff --git a/examples/gstplay/player.c b/examples/gstplay/player.c
index 7a018fe0..e0bdd413 100644
--- a/examples/gstplay/player.c
+++ b/examples/gstplay/player.c
@@ -90,13 +90,6 @@ seek_timer (GstPlay * play)
return FALSE;
}
-static gboolean
-idle_iterate (GstPlay * play)
-{
- gst_bin_iterate (GST_BIN (play));
- return (GST_STATE (GST_ELEMENT (play)) == GST_STATE_PLAYING);
-}
-
int
main (int argc, char *argv[])
{
@@ -168,7 +161,6 @@ main (int argc, char *argv[])
GST_STATE_PLAYING) == GST_STATE_FAILURE)
g_error ("Could not set state to PLAYING");
- g_idle_add ((GSourceFunc) idle_iterate, play);
g_timeout_add (20000, (GSourceFunc) seek_timer, play);
g_main_loop_run (loop);
diff --git a/examples/seeking/seek.c b/examples/seeking/seek.c
index c85ca8b0..4a5d51ab 100644
--- a/examples/seeking/seek.c
+++ b/examples/seeking/seek.c
@@ -551,15 +551,45 @@ make_mpegnt_pipeline (const gchar * location)
return pipeline;
}
+static GstCaps *
+fixate (GstPad * pad, const GstCaps * in_caps, gpointer data)
+{
+ GstCaps *caps;
+ GstStructure *s;
+
+ if (gst_caps_get_size (in_caps) > 1)
+ return NULL;
+
+ /* nothing if fixed already */
+ s = gst_caps_get_structure (in_caps, 0);
+ if (gst_structure_has_field_typed (s, "width", G_TYPE_INT) &&
+ gst_structure_has_field_typed (s, "height", G_TYPE_INT) &&
+ gst_structure_has_field_typed (s, "framerate", G_TYPE_DOUBLE))
+ return NULL;
+
+ /* fixate */
+ caps = gst_caps_copy (in_caps);
+ s = gst_caps_get_structure (caps, 0);
+ gst_caps_structure_fixate_field_nearest_int (s, "width", 200);
+ gst_caps_structure_fixate_field_nearest_int (s, "height", 150);
+ gst_caps_structure_fixate_field_nearest_double (s, "framerate", 10.0);
+
+ return caps;
+}
+
static GstElement *
make_playerbin_pipeline (const gchar * location)
{
- GstElement *player;
+ GstElement *player, *vis;
player = gst_element_factory_make ("playbin", "player");
+ vis = gst_element_factory_make ("synaesthesia", "vis");
g_assert (player);
+ g_assert (vis);
- g_object_set (G_OBJECT (player), "uri", location, NULL);
+ g_signal_connect (gst_element_get_pad (vis, "src"), "fixate",
+ G_CALLBACK (fixate), NULL);
+ g_object_set (G_OBJECT (player), "uri", location, "vis-plugin", vis, NULL);
seekable_elements = g_list_prepend (seekable_elements, player);