summaryrefslogtreecommitdiff
path: root/gst/playback/gstplaybin.c
AgeCommit message (Collapse)AuthorFilesLines
2009-11-02playbin: Make sure to keep a reference on the volume elementJosep Torra Valles1-1/+6
Fixes null pointer dereferences under certain circumstances. Fixes bug #595401.
2009-10-28Remove GST_DEBUG_FUNCPTR where they're pointlessTim-Philipp Müller1-1/+1
There's not much point in using GST_DEBUG_FUNCPTR with GObject virtual functions such as get_property, set_propery, finalize and dispose, since they'll never be used by anyone anyway. Saves a few bytes and possibly a sixteenth of a polar bear.
2009-09-10playbin(2): Document that the volume property uses a linear scaleSebastian Dröge1-4/+11
Fixes bug #571610.
2008-12-12gst/playback/: XRef to GstXOverlay.Stefan Kost1-1/+1
Original commit message from CVS: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: XRef to GstXOverlay.
2008-07-14gst/playback/: First stab at integrating DVD subpicture overlay into ↵Jan Schmidt1-15/+128
playbin. Successfully plugs and plays, but the q... Original commit message from CVS: * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: First stab at integrating DVD subpicture overlay into playbin. Successfully plugs and plays, but the queues need shrinking - 3 seconds of video is too much buffering.
2008-07-10Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. ↵Stefan Kost1-64/+45
Drop mentining that all our example pipe... Original commit message from CVS: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/gst-plugins-base-plugins.signals: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playback.xml: * docs/plugins/inspect/plugin-queue2.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-uridecodebin.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: * ext/alsa/gstalsamixer.c: * ext/alsa/gstalsasink.c: * ext/alsa/gstalsasrc.c: * ext/gio/gstgiosink.c: * ext/gio/gstgiosrc.c: * ext/gio/gstgiostreamsink.c: * ext/gio/gstgiostreamsrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/theora/theoraparse.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * ext/vorbis/vorbisparse.c: * ext/vorbis/vorbistag.c: * gst/adder/gstadder.c: * gst/audioconvert/gstaudioconvert.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/gdp/gstgdpdepay.c: * gst/gdp/gstgdppay.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpserversink.c: * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipelines are "simple" pipelines.
2008-05-22Add some documentation comments, and some new headers to be scanned.Jan Schmidt1-0/+5
Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-overrides.txt: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * docs/plugins/gst-plugins-base-plugins.hierarchy: * docs/plugins/gst-plugins-base-plugins.interfaces: * docs/plugins/gst-plugins-base-plugins.prerequisites: * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gdp.xml: * docs/plugins/inspect/plugin-gio.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-libvisual.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playback.xml: * docs/plugins/inspect/plugin-queue2.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-uridecodebin.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggdemux.h: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggmux.h: * gst/audioconvert/audioconvert.c: * gst/audioconvert/audioconvert.h: * gst/audioconvert/gstaudioconvert.h: * gst/gdp/gstgdpdepay.h: * gst/gdp/gstgdppay.h: * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: * gst/playback/gsturidecodebin.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gstmultifdsink.h: * gst/tcp/gsttcp.h: Add some documentation comments, and some new headers to be scanned. Rename some internal enum declarations (audioconvert's DitherType and NoiseShapingType, GstUnitType from the TCP elements) to match the documented GObject type names so that the docs pick them up. Name the playbin2 docs markups properly so they get picked up. They'll need renaming back when/if playbin2 becomes playbin. 100% symbol coverage for the plugin docs, booya.
2008-05-21Don't use bad gst_element_get_pad().Wim Taymans1-23/+25
Original commit message from CVS: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind): * gst/playback/decodetest.c: (new_decoded_pad_cb): * gst/playback/gstdecodebin.c: (gst_decode_bin_init), (try_to_link_1), (elem_is_dynamic), (close_link), (type_found), (cleanup_decodebin): * gst/playback/gstdecodebin2.c: (gst_decode_bin_init), (connect_element), (gst_decode_group_control_demuxer_pad): * gst/playback/gstplaybasebin.c: (queue_remove_probe), (queue_out_of_data), (gen_preroll_element), (preroll_unlinked), (mute_group_type): * gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked), (gst_play_bin_set_property), (handoff), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks): * gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb): * gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink), (gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin), (gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute), (gen_video_chain), (gen_text_chain), (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure), (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc), (gst_play_sink_request_pad): * gst/playback/gsturidecodebin.c: (type_found), (setup_source): * gst/playback/test.c: (gen_video_element), (gen_audio_element), (cb_newpad): * gst/playback/test6.c: (new_decoded_pad_cb): * tests/check/elements/audioconvert.c: (GST_START_TEST): * tests/check/elements/audiorate.c: (test_injector_chain), (do_perfect_stream_test): * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST): * tests/check/elements/gdpdepay.c: (GST_START_TEST): * tests/check/elements/gnomevfssink.c: * tests/check/elements/textoverlay.c: (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2): * tests/check/elements/videotestsrc.c: (GST_START_TEST): * tests/check/libs/cddabasesrc.c: (GST_START_TEST): * tests/check/pipelines/oggmux.c: (test_pipeline): * tests/check/pipelines/streamheader.c: (GST_START_TEST): * tests/check/pipelines/theoraenc.c: (GST_START_TEST): * tests/check/pipelines/vorbisenc.c: (GST_START_TEST): * tests/examples/seek/scrubby.c: (make_wav_pipeline): * tests/examples/seek/seek.c: (make_mod_pipeline), (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline), (make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline), (make_theora_pipeline), (make_vorbis_theora_pipeline), (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline), (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline), (update_fill), (msg_buffering): Don't use bad gst_element_get_pad().
2008-05-05gst/playback/: Allow setting -1 as current-audio to mute the current audio ↵Sebastian Dröge1-0/+13
stream, similar to what is done for subtit... Original commit message from CVS: * gst/playback/gstplaybasebin.c: (set_audio_mute), (set_active_source): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (playbin_set_audio_mute): Allow setting -1 as current-audio to mute the current audio stream, similar to what is done for subtitles. Fixes bug #342294.
2008-04-24gst/playback/gstplaybin.c: Remove obsolete streaminfo code and fix a leak. ↵Stefan Kost1-10/+0
Fixes #529546 Original commit message from CVS: * gst/playback/gstplaybin.c: Remove obsolete streaminfo code and fix a leak. Fixes #529546
2008-03-22Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static ↵Sebastian Dröge1-10/+10
strings (i.e. all). This gives us less memory u... Original commit message from CVS: * configure.ac: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_class_init): * ext/alsa/gstalsasink.c: (gst_alsasink_class_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init): * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_class_init): * ext/gio/gstgiosink.c: (gst_gio_sink_class_init): * ext/gio/gstgiosrc.c: (gst_gio_src_class_init): * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init): * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * ext/pango/gsttextrender.c: (gst_text_render_class_init): * ext/theora/theoradec.c: (gst_theora_dec_class_init): * ext/theora/theoraenc.c: (gst_theora_enc_class_init): * ext/theora/theoraparse.c: (gst_theora_parse_class_init): * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_class_init): * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_class_init): * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_class_init): * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/rtp/gstbasertpdepayload.c: (gst_base_rtp_depayload_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_class_init): * gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init): * gst/audioresample/gstaudioresample.c: (gst_audioresample_class_init): * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_class_init): * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init): * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (preroll_unlinked): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gstplaybin2.c: (gst_play_bin_class_init): * gst/playback/gstplaysink.c: (gst_play_sink_class_init): * gst/playback/gstqueue2.c: (gst_queue_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_selector_pad_class_init), (gst_stream_selector_class_init): * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init): * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init): * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init): * gst/videorate/gstvideorate.c: (gst_video_rate_class_init): * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init): * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_class_init): * gst/volume/gstvolume.c: (gst_volume_class_init): * sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory usage, fewer allocations and thus less memory defragmentation. Depend on core CVS for this. Fixes bug #523806.
2008-02-11gst/playback/: Handle case where we can't create the volume element a bit ↵Tim-Philipp Müller1-1/+11
better (#514307). Original commit message from CVS: * gst/playback/gstplaybin.c: (gen_audio_element): * gst/playback/gstplaysink.c: (gen_audio_chain): Handle case where we can't create the volume element a bit better (#514307).
2007-12-20Make switching off of subtitles work. To avoid all kind of problems with ↵Tim-Philipp Müller1-0/+17
unlinking of the subtitle input, we just kee... Original commit message from CVS: * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init): * gst/playback/gstplaybasebin.c: (set_subtitles_visible), (set_active_source): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (setup_sinks), (playbin_set_subtitles_visible): Make switching off of subtitles work. To avoid all kind of problems with unlinking of the subtitle input, we just keep the subtitle inputs linked as they are and tell textoverlay not to render them. Fixes #373011. Other subtitle switching issues (esp. when there are both external and in-stream subtitles) remain. They'll be solved in playbin2.
2007-11-30gst/playback/: Refactor some common code to filter factories and check caps ↵Wim Taymans1-1/+1
compat. Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstfactorylists.c: (compare_ranks), (print_feature), (get_feature_array), (decoders_filter), (sinks_filter), (gst_factory_list_get_decoders), (gst_factory_list_get_sinks), (gst_factory_list_filter): * gst/playback/gstfactorylists.h: Refactor some common code to filter factories and check caps compat. * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init), (gst_decode_bin_init), (gst_decode_bin_dispose), (gst_decode_bin_autoplug_continue), (gst_decode_bin_autoplug_factories), (gst_decode_bin_autoplug_select), (analyze_new_pad), (find_compatibles): * gst/playback/gstplaybin.c: * gst/playback/gstplaybin2.c: (gst_play_bin_class_init), (gst_play_bin_init), (gst_play_bin_finalize), (autoplug_factories_cb), (activate_group): * gst/playback/gstqueue2.c: * gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal), (proxy_autoplug_continue_signal), (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal), (proxy_drained_signal): Add some more debug info and use factor filtering code.
2007-11-16gst/playback/: Add playbin2.Wim Taymans1-16/+2
Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstplayback.c: (plugin_init): * gst/playback/test7.c: (update_scale), (warning_cb), (error_cb), (eos_cb), (about_to_finish_cb), (main): Add playbin2. Added gapless playback example. * gst/playback/gstplaybasebin.c: * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_plugin_init): * gst/playback/gstqueue2.c: * gst/playback/test.c: * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init), (pad_removed_cb): * gst/playback/gststreaminfo.h: Change email. * gst/playback/gstplaybin2.c: (gst_play_bin_get_type), (gst_play_bin_class_init), (init_group), (gst_play_bin_init), (gst_play_bin_dispose), (gst_play_bin_set_uri), (gst_play_bin_set_suburi), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_handle_message), (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos), (drained_cb), (unlink_group), (activate_group), (setup_next_source), (gst_play_bin_change_state), (gst_play_bin2_plugin_init): Added raw first version of playbin2. Does chained oggs and gapless playback fine. No support for raw sinks yet. No visualisations or subtitles yet. * gst/playback/gstplaysink.c: (gst_play_sink_get_type), (gst_play_sink_class_init), (gst_play_sink_init), (gst_play_sink_dispose), (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink), (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin), (gst_play_sink_set_property), (gst_play_sink_get_property), (post_missing_element_message), (free_chain), (add_chain), (activate_chain), (gen_video_chain), (gen_text_element), (gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode), (gst_play_sink_set_mode), (gst_play_sink_request_pad), (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink), (gst_play_sink_send_event), (gst_play_sink_change_state): * gst/playback/gstplaysink.h: Added Element that abstracts the sinks and their pipelines for playbin2.
2007-10-16gst/playback/gstdecodebin.c: Make the window for a race in typefind and ↵Wim Taymans1-0/+1
shutting down smaller until we figure out the... Original commit message from CVS: * gst/playback/gstdecodebin.c: (new_pad), (type_found): Make the window for a race in typefind and shutting down smaller until we figure out the right locking here. Avoids #485753 usually. * gst/playback/gstdecodebin2.c: (type_found), (pad_added_group_cb): Remove unneeded lock causing a race in typefind and shutting down. Fixes #485753. * gst/playback/gstplaybin.c: (gst_play_bin_change_state): Also remove sinks when going to NULL because we might not complete the state change to PAUSED, causing the PAUSED->READY state change not to happen.
2007-08-07gst/playback/: Move connection-speed property from playbin to playbasebin so ↵Josep Torre Valles1-27/+7
that we can also configure it in source ... Original commit message from CVS: Patch by: Josep Torre Valles <josep@fluendo.com> * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init), (gst_play_base_bin_init), (queue_threshold_reached), (gen_source_element), (setup_substreams), (gst_play_base_bin_set_property), (gst_play_base_bin_get_property), (gst_play_base_bin_get_streaminfo_value_array): * gst/playback/gstplaybasebin.h: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (gst_play_bin_handle_redirect_message): Move connection-speed property from playbin to playbasebin so that we can also configure it in source elements that have the connection-speed property. Fixes #464028. Add some debug info here and there.
2007-05-24gst/playback/gstplaybin.c: Block the subtitle bin output queue before ↵Jan Schmidt1-2/+18
ghosting it and linking, then unblock after. Th... Original commit message from CVS: * gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb), (setup_sinks): Block the subtitle bin output queue before ghosting it and linking, then unblock after. This avoids spurious not-linked errors caused by the queue starting up (because it gets linked when it is ghosted). Fixes: #350299
2007-05-18gst-libs/gst/audio/gstbaseaudiosink.cStefan Kost1-5/+5
Original commit message from CVS: * gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_change_state): Fix typo in comment. * gst/playback/gstdecodebin.c (gst_decode_bin_class_init, free_dynamics, pad_probe, close_pad_link, try_to_link_1, get_our_ghost_pad, remove_element_chain, queue_underrun_cb, close_link): * gst/playback/gstplaybin.c (gst_play_bin_set_property, gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink): Remove trailing whitespaces in comments. * gst/volume/Makefile.am: Fix tabs.
2007-04-06gst/playback/gstplaybin.c: Activate sync in playbin, we are ready to handle ↵Wim Taymans1-8/+0
it for live streams. Original commit message from CVS: * gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_change_state): Activate sync in playbin, we are ready to handle it for live streams.
2007-03-22gst/playback/gstplaybin.c: Remove playbin's override of the set_clock ↵Jan Schmidt1-39/+0
vmethod. It's irrelevant after Wim's commit on ... Original commit message from CVS: * gst/playback/gstplaybin.c: (gst_play_bin_class_init): Remove playbin's override of the set_clock vmethod. It's irrelevant after Wim's commit on the 19th.
2007-03-21gst/playback/gstplaybin.c: Use GST_PTR_FORMAT to log caps.Tim-Philipp Müller1-6/+2
Original commit message from CVS: * gst/playback/gstplaybin.c: (add_sink): Use GST_PTR_FORMAT to log caps.
2007-03-19gst/playback/gstdecodebin.c: Don't post STATE_DIRTY anymore.Wim Taymans1-56/+12
Original commit message from CVS: * gst/playback/gstdecodebin.c: (remove_fakesink): Don't post STATE_DIRTY anymore. * gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_send_event), (gst_play_bin_change_state): Remove stream_time reset in seek handling, core does that now. Disable clocking for live pipelines by forcing a NULL clock to the complete pipeline, core is too smart now for our previous hack. We can always autoplug in PAUSED now.
2007-03-04rename utils to pbutilsThomas Vander Stichele1-2/+2
Original commit message from CVS: * configure.ac: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/Makefile.am: * gst-libs/gst/interfaces/mixer.c: * gst-libs/gst/pbutils/Makefile.am: * gst-libs/gst/pbutils/descriptions.c: (gst_pb_utils_get_source_description), (gst_pb_utils_get_sink_description), (gst_pb_utils_get_decoder_description), (gst_pb_utils_get_encoder_description), (gst_pb_utils_get_element_description), (gst_pb_utils_add_codec_description_to_tag_list), (gst_pb_utils_get_codec_description), (gst_pb_utils_list_all): * gst-libs/gst/pbutils/descriptions.h: * gst-libs/gst/pbutils/install-plugins.c: * gst-libs/gst/pbutils/install-plugins.h: * gst-libs/gst/pbutils/missing-plugins.c: (gst_missing_uri_source_message_new), (gst_missing_uri_sink_message_new), (gst_missing_element_message_new), (gst_missing_decoder_message_new), (gst_missing_encoder_message_new), (gst_missing_plugin_message_get_description): * gst-libs/gst/pbutils/missing-plugins.h: * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init): * gst-libs/gst/pbutils/pbutils.h: * gst-libs/gst/utils/Makefile.am: * gst-libs/gst/utils/base-utils.c: * gst-libs/gst/utils/base-utils.h: * gst-libs/gst/utils/descriptions.c: * gst-libs/gst/utils/descriptions.h: * gst-libs/gst/utils/install-plugins.c: * gst-libs/gst/utils/install-plugins.h: * gst-libs/gst/utils/missing-plugins.c: * gst-libs/gst/utils/missing-plugins.h: * gst-plugins-base.spec.in: * gst/playback/Makefile.am: * gst/playback/gstdecodebin.c: * gst/playback/gstdecodebin2.c: * gst/playback/gstplaybasebin.c: (setup_subtitle), (gen_source_element): * gst/playback/gstplaybin.c: (plugin_init): * tests/check/Makefile.am: * tests/check/libs/pbutils.c: (GST_START_TEST), (test_pb_utils_install_plugins_do_callout), (libgstpbutils_suite): * tests/check/libs/utils.c: rename utils to pbutils
2007-02-28gst/playback/gstplaybin.c: Fix race condition when rapidly switching ↵Ed Catmur1-29/+35
visualisations in playbin. Original commit message from CVS: Patch by: Ed Catmur <ed at catmur dot co dot uk> * gst/playback/gstplaybin.c: (gst_play_bin_vis_unblocked), (gst_play_bin_vis_blocked), (gst_play_bin_set_property): Fix race condition when rapidly switching visualisations in playbin. Fixes #401029.
2007-02-23gst/playback/gstplaybin.c: Improve docs: point out that the application ↵Tim-Philipp Müller1-9/+14
needs to assist playbin with buffering. Original commit message from CVS: * gst/playback/gstplaybin.c: Improve docs: point out that the application needs to assist playbin with buffering.
2007-01-31gst/playback/gstplaybin.c: Add audioresample+audioconvert in front of the ↵Jan Schmidt1-16/+39
visualisation element, so that elements lik... Original commit message from CVS: * gst/playback/gstplaybin.c: (gen_vis_element): Add audioresample+audioconvert in front of the visualisation element, so that elements like libvisual 0.4 that don't support all samplerates can work. Fixes: #402505
2007-01-25gst/playback/gstplaybin.c: Fix up caps on the frame buffer before we save it ↵Tim-Philipp Müller1-6/+4
and potentially make it accessible to ot... Original commit message from CVS: * gst/playback/gstplaybin.c: (handoff): Fix up caps on the frame buffer before we save it and potentially make it accessible to other threads via g_object_get; also use gst_buffer_replace() instead of gst_mini_object_replace().
2007-01-25gst/playback/gstplaybin.c: Make getting the current frame thread-safe.Tim-Philipp Müller1-2/+6
Original commit message from CVS: * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Make getting the current frame thread-safe.
2007-01-11gst/playback/gstplaybin.c: Post missing-plugin messages also when we error ↵Tim-Philipp Müller1-2/+18
out because converters, textoverlay or aut... Original commit message from CVS: * gst/playback/gstplaybin.c: (post_missing_element_message), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element): Post missing-plugin messages also when we error out because converters, textoverlay or auto*sinks are missing (#161922).
2007-01-09gst/playback/: Post missing-plugin messages on the bus for missing sources ↵Tim-Philipp Müller1-0/+3
and missing decoders/demuxers/depayloaders... Original commit message from CVS: * gst/playback/Makefile.am: * gst/playback/gstplaybasebin.c: (string_arr_has_str), (unknown_type), (setup_subtitle), (gen_source_element): * gst/playback/gstplaybin.c: (plugin_init): Post missing-plugin messages on the bus for missing sources and missing decoders/demuxers/depayloaders; fix error code used when we're missing an URI handler source; for media types that we are not handling on purpose at the moment, don't print "don't know how to handle xyz" messages to the terminal or post missing-plugin messages on the bus. * tests/check/elements/playbin.c: (create_playbin), (GST_START_TEST), (gst_codec_src_uri_get_type), (gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri), (gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init), (gst_codec_src_init_type), (gst_codec_src_base_init), (gst_codec_src_create), (gst_codec_src_class_init), (gst_codec_src_init), (plugin_init), (playbin_suite): Add some tests for the missing-plugin stuff.
2006-10-18gst/playback/gstplaybin.c: The old pad activation spiel.Tim-Philipp Müller1-0/+2
Original commit message from CVS: * gst/playback/gstplaybin.c: (setup_sinks): The old pad activation spiel.
2006-09-29gst/playback/gstdecodebin.c: Remove g_printWim Taymans1-0/+2
Original commit message from CVS: * gst/playback/gstdecodebin.c: (new_caps): Remove g_print * gst/playback/gstplaybin.c: Add some docs.
2006-09-28gst/playback/gstplaybin.c: Only remove visualisation from visbin if there is ↵Tim-Philipp Müller1-2/+4
a visbin (or: don't throw warnings when ... Original commit message from CVS: * gst/playback/gstplaybin.c: (remove_sinks): Only remove visualisation from visbin if there is a visbin (or: don't throw warnings when closing totem without playing a file).
2006-09-25gst/playback/gstplaybin.c: Detect NO_PREROLL state change returns and ↵Wim Taymans1-115/+242
disable clock distribution to the sinks so that... Original commit message from CVS: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_vis_blocked), (gst_play_bin_set_property), (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks), (gst_play_bin_set_clock_func), (gst_play_bin_change_state): Detect NO_PREROLL state change returns and disable clock distribution to the sinks so that sync is disabled. Avoid some type checking and do simple casts instead. Small cleanups, fix some FIXMEs. Be more robust when linking user specified elements, catch an report errors. Fixes #357404. Fix some leaks in the error paths.
2006-09-14releasing 0.10.10RELEASE-0_10_10Thomas Vander Stichele1-1/+1
Original commit message from CVS: releasing 0.10.10
2006-08-29gst/playback/gstplaybin.c: Improve docs: add section about BUFFERING ↵Tim-Philipp Müller1-0/+21
messages sent by playbin. Original commit message from CVS: * gst/playback/gstplaybin.c: Improve docs: add section about BUFFERING messages sent by playbin.
2006-08-15Document playbin.Tim-Philipp Müller1-0/+193
Original commit message from CVS: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * docs/plugins/gst-plugins-base-plugins.args: * gst/playback/gstplaybin.c: Document playbin. * docs/plugins/inspect/plugin-adder.xml: * docs/plugins/inspect/plugin-alsa.xml: * docs/plugins/inspect/plugin-audioconvert.xml: * docs/plugins/inspect/plugin-audiorate.xml: * docs/plugins/inspect/plugin-audioresample.xml: * docs/plugins/inspect/plugin-audiotestsrc.xml: * docs/plugins/inspect/plugin-cdparanoia.xml: * docs/plugins/inspect/plugin-decodebin.xml: * docs/plugins/inspect/plugin-ffmpegcolorspace.xml: * docs/plugins/inspect/plugin-gnomevfs.xml: * docs/plugins/inspect/plugin-ogg.xml: * docs/plugins/inspect/plugin-pango.xml: * docs/plugins/inspect/plugin-playbin.xml: * docs/plugins/inspect/plugin-subparse.xml: * docs/plugins/inspect/plugin-tcp.xml: * docs/plugins/inspect/plugin-theora.xml: * docs/plugins/inspect/plugin-typefindfunctions.xml: * docs/plugins/inspect/plugin-video4linux.xml: * docs/plugins/inspect/plugin-videorate.xml: * docs/plugins/inspect/plugin-videoscale.xml: * docs/plugins/inspect/plugin-videotestsrc.xml: * docs/plugins/inspect/plugin-volume.xml: * docs/plugins/inspect/plugin-vorbis.xml: * docs/plugins/inspect/plugin-ximagesink.xml: * docs/plugins/inspect/plugin-xvimagesink.xml: Update to CVS version.
2006-08-14gst/playback/gstplaybin.c: Add "connection-speed" property; re-order ↵Tim-Philipp Müller1-5/+125
redirect messages with multiple redirect locatio... Original commit message from CVS: * gst/playback/gstplaybin.c: (gst_play_bin_class_init), (gst_play_bin_set_property), (gst_play_bin_get_property), (value_list_append_structure_list), (gst_play_bin_handle_redirect_message), (gst_play_bin_handle_message): Add "connection-speed" property; re-order redirect messages with multiple redirect locations depending on the minimum bitrate if that information is available and a connection speed is set (#350399).
2006-08-14gst/playback/gstplaybin.c: Update max volume to the same value that the ↵Tim-Philipp Müller1-1/+1
volume element uses. Original commit message from CVS: * gst/playback/gstplaybin.c: Update max volume to the same value that the volume element uses.
2006-07-26gst/playback/: Remove GLib-2.6 compatibility cruft.Tim-Philipp Müller1-17/+3
Original commit message from CVS: * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property): * gst/playback/gstplaybin.c: (gst_play_bin_get_property): Remove GLib-2.6 compatibility cruft.
2006-05-11gst/playback/gstplaybin.c: Make playbin automatically plug an ↵Tim-Philipp Müller1-11/+8
'audioresample' element before the audio sink as well. ... Original commit message from CVS: * gst/playback/gstplaybin.c: (gen_audio_element): Make playbin automatically plug an 'audioresample' element before the audio sink as well. This solves problems with sinks that only accept a very specific sample rate, like esdsink (e.g. #340379).
2006-05-02gst/playback/: free cpas using gst_caps_unref, don't leak caps-stringsStefan Kost1-2/+2
Original commit message from CVS: * gst/playback/gstplaybin.c: (add_sink): * gst/playback/test.c: (main): * gst/playback/test5.c: (dump_element_stats): * gst/playback/test6.c: (main): free cpas using gst_caps_unref, don't leak caps-strings
2006-04-28make GstElementDetails constStefan Kost1-1/+1
Original commit message from CVS: * ext/alsa/gstalsamixerelement.c: * ext/alsa/gstalsasrc.c: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/gnomevfs/gstgnomevfssink.c: * ext/gnomevfs/gstgnomevfssrc.c: * ext/ogg/gstoggdemux.c: * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: * ext/ogg/gstogmparse.c: * ext/pango/gstclockoverlay.c: * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/pango/gsttimeoverlay.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * gst-libs/gst/audio/gstaudiofilter.c: * gst-libs/gst/audio/gstaudiofiltertemplate.c: * gst/audioconvert/gstaudioconvert.c: * gst/audiorate/gstaudiorate.c: * gst/audioresample/gstaudioresample.c: * gst/audiotestsrc/gstaudiotestsrc.c: * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/playback/gstdecodebin.c: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: * gst/subparse/gstsubparse.c: * gst/tcp/gstmultifdsink.c: * gst/tcp/gsttcpclientsink.c: * gst/tcp/gsttcpclientsrc.c: * gst/tcp/gsttcpserversink.c: * gst/tcp/gsttcpserversrc.c: * gst/typefind/gsttypefindfunctions.c: (plugin_init): * gst/videorate/gstvideorate.c: * gst/videoscale/gstvideoscale.c: * gst/videotestsrc/gstvideotestsrc.c: * gst/volume/gstvolume.c: * sys/v4l/gstv4ljpegsrc.c: * sys/v4l/gstv4lmjpegsink.c: * sys/v4l/gstv4lmjpegsrc.c: * sys/v4l/gstv4lsrc.c: * sys/ximage/ximagesink.c: * sys/xvimage/xvimagesink.c: * tests/check/libs/cddabasesrc.c: make GstElementDetails const
2006-04-08Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)Stefan Kost1-1/+1
Original commit message from CVS: * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_class_init): * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init): * ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init): * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init): * ext/ogg/gstoggparse.c: (gst_ogg_parse_class_init): * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_class_init): * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init): * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_class_init): * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_class_init): * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_class_init): * gst-libs/gst/interfaces/colorbalancechannel.c: (gst_color_balance_channel_class_init): * gst-libs/gst/interfaces/mixeroptions.c: (gst_mixer_options_class_init): * gst-libs/gst/interfaces/mixertrack.c: (gst_mixer_track_class_init): * gst-libs/gst/interfaces/tunerchannel.c: (gst_tuner_channel_class_init): * gst-libs/gst/interfaces/tunernorm.c: (gst_tuner_norm_class_init): * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_class_init): * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_class_init): * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init): * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init): * gst/playback/gstplaybin.c: (gst_play_bin_class_init): * gst/playback/gststreaminfo.c: (gst_stream_info_class_init): * gst/playback/gststreamselector.c: (gst_stream_selector_class_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init): * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init): * sys/v4l/gstv4lcolorbalance.c: (gst_v4l_color_balance_channel_class_init): * sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_class_init): * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init): * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init): * sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_channel_class_init), (gst_v4l_tuner_norm_class_init): * sys/ximage/ximagesink.c: (gst_ximagesink_class_init): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init): * tests/old/testsuite/alsa/sinesrc.c: (sinesrc_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-07gst/playback/gstplaybasebin.c: Don't remove our mute-probe if someone else ↵Jan Schmidt1-3/+12
already did so. Original commit message from CVS: * gst/playback/gstplaybasebin.c: (mute_stream), (setup_substreams): Don't remove our mute-probe if someone else already did so. Don't set a 2nd one if there is already one pending on the pad. * gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink), (do_playbin_seek): When a seek fails, ensure that playbin is still set back to playing. * gst/typefind/gsttypefindfunctions.c: (mpeg_ts_probe_headers), (mpeg_ts_type_find), (plugin_init): Add a typefind function for mpeg-ts streams.
2006-03-28gst/playback/gstplaybin.c: Error out gracefully when we can't create any of ↵Tim-Philipp Müller1-5/+66
the usual conversion elements for some re... Original commit message from CVS: * gst/playback/gstplaybin.c: (gen_video_element), (gen_text_element), (gen_audio_element), (gen_vis_element): Error out gracefully when we can't create any of the usual conversion elements for some reason. Also, don't try to create an audioscale (sic) element that's not used anyway.
2006-03-24Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails ↵Stefan Kost1-6/+5
at the top Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-base-plugins-docs.sgml: * docs/plugins/gst-plugins-base-plugins-sections.txt: * ext/cdparanoia/gstcdparanoiasrc.c: * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init), (gst_gnome_vfs_sink_class_init): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init): * ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init): * ext/ogg/gstoggmux.c: * ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init): * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init): * ext/pango/gsttextoverlay.c: * ext/pango/gsttextrender.c: * ext/theora/theoradec.c: * ext/theora/theoraenc.c: * ext/vorbis/vorbisdec.c: * ext/vorbis/vorbisenc.c: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_base_init): * gst-libs/gst/audio/gstaudiofiltertemplate.c: (gst_audio_filter_template_base_init): * gst/adder/gstadder.c: (gst_adder_get_type): * gst/adder/gstadder.h: * gst/audioconvert/gstaudioconvert.c: * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init), (gst_audio_test_src_create): * gst/ffmpegcolorspace/gstffmpegcolorspace.c: * gst/playback/gstdecodebin.c: * gst/playback/gstplaybin.c: * gst/playback/gststreamselector.c: (gst_stream_selector_base_init): * gst/subparse/gstsubparse.c: (gst_sub_parse_base_init): * gst/volume/gstvolume.c: * sys/v4l/gstv4lmjpegsink.c: * sys/v4l/gstv4lmjpegsrc.c: * tests/check/libs/cddabasesrc.c: * tests/old/examples/gob/gst-identity2.gob: Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top
2006-03-21gcc 4.1 unreferenced pointer fixes.Edward Hervey1-1/+2
Original commit message from CVS: * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose): * gst/playback/gstplaybin.c: (handoff): * gst/playback/gststreamselector.c: (gst_stream_selector_set_property): gcc 4.1 unreferenced pointer fixes. * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put): gst_buffer_ref() now takes a GstBuffer*.
2006-02-18ext/pango/gsttextoverlay.c: Refactoring of textoverlay without collectpads. ↵Julien Moutte1-17/+29
This now supports sparse subtitles coming... Original commit message from CVS: 2006-02-18 Julien MOUTTE <julien@moutte.net> * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init), (gst_text_overlay_finalize), (gst_text_overlay_init), (gst_text_overlay_setcaps), (gst_text_overlay_src_event), (gst_text_overlay_render_text), (gst_text_overlay_text_pad_link), (gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event), (gst_text_overlay_video_event), (gst_text_overlay_pop_text), (gst_text_overlay_text_chain), (gst_text_overlay_video_chain), (gst_text_overlay_change_state): Refactoring of textoverlay without collectpads. This now supports sparse subtitles coming from a demuxer instead of a sub file. Seeking is still broken though. Need to discuss with wtay some more on how to handle seeking correctly. * ext/pango/gsttextoverlay.h: * gst/playback/gstplaybin.c: (setup_sinks): Support linking with subtitles coming from the demuxer.