Commit graph

64 commits

Author SHA1 Message Date
Andy Wingo
790c059867 gst/: Some GCC4 fixes
Original commit message from CVS:
2005-05-05  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer), (gst_vorbis_tag_chain):
* gst/adder/gstadder.h:
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_one_other):
* gst/audiorate/gstaudiorate.c: (gst_audiorate_setcaps),
(gst_audiorate_init), (gst_audiorate_chain):
* gst/playback/gstplaybasebin.c: (setup_source):
* gst/playback/test3.c: (update_scale):
Some GCC4 fixes

* po/af.po:
* po/az.po:
* po/cs.po:
* po/en_GB.po:
* po/hu.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/uk.po:
* po/vi.po: Foo
2005-05-05 14:57:20 +00:00
Wim Taymans
50e2f24b44 Raw and crude port of decodebin.
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(compare_ranks), (print_feature), (gst_decode_bin_init),
(dynamic_create), (dynamic_free), (find_compatibles),
(mimetype_is_raw), (close_pad_link), (got_redirect),
(try_to_link_1), (get_our_ghost_pad), (remove_element_chain),
(new_pad), (no_more_pads), (unlinked), (close_link), (type_found),
(gst_decode_bin_change_state):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (group_destroy), (group_commit),
(check_queue), (queue_overrun), (queue_threshold_reached),
(queue_out_of_data), (gen_preroll_element), (unknown_type),
(new_decoded_pad), (setup_subtitle), (gen_source_element),
(got_redirect), (setup_source), (play_base_eos),
(gst_play_base_bin_change_state), (gst_play_base_bin_add_element),
(gst_play_base_bin_remove_element):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_dispose),
(gst_play_bin_set_property), (gen_video_element),
(gen_text_element), (gen_audio_element), (remove_sinks),
(gst_play_bin_send_event):
* gst/playback/gststreaminfo.c: (gst_stream_info_dispose),
(stream_info_change_state), (gst_stream_info_set_mute):
* gst/playback/gststreamselector.c: (gst_stream_selector_init),
(gst_stream_selector_get_caps), (gst_stream_selector_setcaps),
(gst_stream_selector_request_new_pad), (gst_stream_selector_event),
(gst_stream_selector_chain):
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(main):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_getcaps),
(gst_xvimagesink_setcaps), (gst_xvimagesink_get_times),
(gst_xvimagesink_show_frame), (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_alloc), (gst_xvimagesink_class_init):
Raw and crude port of decodebin.
Make playbin compile.
2005-04-12 10:48:58 +00:00
Ronald S. Bultje
e710e8a5b6 gst/playback/gstplaybasebin.c: Notify delayed stream-info availability.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit):
Notify delayed stream-info availability.
2005-01-25 16:10:33 +00:00
Jan Schmidt
d190977f1c ext/a52dec/gsta52dec.c: Add some debug output. Check that a discont has a valid time associated.
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_push),
(gst_a52dec_handle_event), (gst_a52dec_chain):
Add some debug output. Check that a discont has a valid
time associated.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
(gst_alsa_sink_loop):
Ignore TAG events. A little extra debug for broken timestamps.
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop),
(dvdnavsrc_change_state):
Ensure we send a discont to engage the link before we send any
other events.
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init),
(dvdreadsrc_finalize), (_close), (_open), (_seek_title),
(_seek_chapter), (seek_sector), (dvdreadsrc_get),
(dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri):
Handle URI of the form dvd://title[,chapter[,angle]]. Currently only
dvd://title works in totem because typefinding sends a seek that ends
up going back to chapter 1 regardless.
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/mpeg2dec/gstmpeg2dec.h:
Output correct timestamps and handle disconts.
* ext/ogg/gstoggdemux.c: (get_relative):
Small guard against a null dereference.
* ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize),
(gst_textoverlay_set_property):
Free memory when done. Don't call gst_event_filler_get_duration on
EOS events. Use GST_LOG and GST_WARNING instead of g_message and
g_warning.
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init),
(draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink),
(gst_sw_srclink), (gst_smoothwave_chain):
Draw solid lines, prettier colours.
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
Add a default palette that'll work for some movies.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init),
(gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead):
* gst/mpegstream/gstmpegparse.h:
Use PTM/NAV events when for timestamp adjustment when connected to
dvdnavsrc. Don't use many discont events where one suffices.
* gst/playback/gstplaybasebin.c: (group_destroy),
(gen_preroll_element), (gst_play_base_bin_add_element):
* gst/playback/gstplaybasebin.h:
Make sure we remove subtitles from the same bin we put them in.
* gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_change_state):
Fix some memleaks and invalid accesses.
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find),
(oggskel_type_find), (cmml_type_find), (plugin_init):
Some typefind functions for Annodex v3.0 files
* gst/wavparse/gstwavparse.h:
GstRiffReadClass is the correct parent class.
2005-01-25 15:34:09 +00:00
Ronald S. Bultje
e62a79939e gst/playback/gstplaybasebin.c: Don't block for streams.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit),
(gen_preroll_element), (probe_triggered), (gen_source_element),
(setup_source), (gst_play_base_bin_change_state),
(gst_play_base_bin_add_element):
Don't block for streams.
* gst/playback/gststreaminfo.c: (stream_info_change_state),
(gst_stream_info_set_mute):
Use gst_pad_set_active_recursive.
2005-01-25 10:51:48 +00:00
Ronald S. Bultje
4e83f97dc0 gst/playback/gstplaybasebin.c: Explicit state change to workaround refcount bugs.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
Explicit state change to workaround refcount bugs.
2005-01-22 17:26:05 +00:00
Ronald S. Bultje
cbbe4f5964 gst/playback/gstplaybasebin.c: Of course, only pause if group is done...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (probe_triggered):
Of course, only pause if group is done...
2005-01-16 15:06:28 +00:00
Ronald S. Bultje
dfd05ab3ef gst/playback/gstplaybasebin.c: Thread safety.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (probe_triggered):
Thread safety.
2005-01-16 14:38:40 +00:00
Ronald S. Bultje
b92916a2bf gst/playback/: Implement group-switch signal for use in apps to clear metadata cache, clean up subtitle, add suburi p...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (gst_play_base_bin_dispose),
(probe_triggered), (new_decoded_pad), (gen_source_element),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_init), (group_switch), (remove_sinks), (setup_sinks),
(gst_play_bin_change_state):
Implement group-switch signal for use in apps to clear metadata
cache, clean up subtitle, add suburi property instead of # hack,
some error-out fixes.
2005-01-11 12:03:24 +00:00
Ronald S. Bultje
6c73f3f7a7 gst/playback/gstplaybasebin.c: Don't disable streamtype if the stream doesn't exist, since then playing a video after...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_substreams):
Don't disable streamtype if the stream doesn't exist, since
then playing a video after audio will disable both and nothing
will happen. Fixes the testsuite.
2005-01-10 13:15:11 +00:00
Ronald S. Bultje
2ad3dc3e48 gst/playback/gstplaybasebin.c: Remove hack to get rid of assert and get rid of unlinked signals properly.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_destroy):
Remove hack to get rid of assert and get rid of unlinked
signals properly.
2005-01-09 19:41:07 +00:00
Ronald S. Bultje
7506b79230 gst/playback/gstplaybasebin.c: Set source to NULL so that resources are free'ed. Fixes issues with playback of CDDA a...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Set source to NULL so that resources are free'ed. Fixes issues
with playback of CDDA and similar device-accessing things.
2005-01-09 19:29:06 +00:00
Ronald S. Bultje
5e88810571 gst/playback/gstplaybasebin.c: Fix hanging subs.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Fix hanging subs.
2005-01-09 18:33:38 +00:00
Ronald S. Bultje
8669aaa48d gst/playback/gstplaybasebin.*: Multiple .sub files is just a stupid idea... Fix some threading mistakes. Interestingl...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gen_preroll_element), (remove_groups), (setup_subtitle),
(gen_source_element), (setup_source):
* gst/playback/gstplaybasebin.h:
Multiple .sub files is just a stupid idea... Fix some threading
mistakes. Interestingly, external .sub files cause playbin to
hang, I don't know why... Parsing fixes contributed by Felix
Kooman <fkooman@tuxed.net>.
2005-01-09 18:03:40 +00:00
Ronald S. Bultje
4dced785fe Remove all references to xvideosink, fix examples (#140845).
Original commit message from CVS:
* configure.ac:
* examples/capsfilter/capsfilter1.c: (main):
* examples/seeking/spider_seek.c: (make_spider_pipeline):
* ext/dvdread/Makefile.am:
* ext/dvdread/demo-play:
* ext/dvdread/demo-play.c:
* gconf/gstreamer.schemas.in:
* gst-libs/gst/gconf/gconf.c:
* sys/v4l/TODO:
* testsuite/Makefile.am:
* testsuite/embed/Makefile.am:
* testsuite/embed/embed.c: (cb_expose), (main):
Remove all references to xvideosink, fix examples (#140845).
* gst/playback/gstplaybasebin.c: (group_destroy):
Apparently, disposal does not unlink - so do explicitely.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Add debug.
2005-01-09 14:53:59 +00:00
Ronald S. Bultje
200ccf42dd ext/dvdnav/dvdnavsrc.c: Add DVD-nav URI (dvdnav://) for Totem testing purposes.
Original commit message from CVS:
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_get_type),
(dvdnavsrc_uri_get_type), (dvdnavsrc_uri_get_protocols),
(dvdnavsrc_uri_get_uri), (dvdnavsrc_uri_set_uri),
(dvdnavsrc_uri_handler_init):
Add DVD-nav URI (dvdnav://) for Totem testing purposes.
* gst/playback/gstplaybasebin.c: (gen_source_element):
Add MMS to streaming URIs.
2005-01-09 00:43:09 +00:00
Ronald S. Bultje
14656be9b5 gst/playback/: Adding stream selection support plus required properties for applications to use this. Fully fixes #10...
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(group_destroy), (group_commit), (group_is_muted),
(gen_preroll_element), (add_stream), (unknown_type),
(probe_triggered), (preroll_unlinked), (mute_stream),
(silence_stream), (new_decoded_pad), (setup_substreams),
(setup_source), (get_active_source), (mute_group_type),
(muted_group_change_state), (set_active_source),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property),
(play_base_eos), (gst_play_base_bin_change_state):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (add_sink), (setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init),
(gst_stream_info_dispose), (stream_info_mute_pad),
(stream_info_change_state), (gst_stream_info_set_mute):
* gst/playback/gststreamselector.c: (gst_stream_selector_get_type),
(gst_stream_selector_base_init), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_dispose),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_get_caps), (gst_stream_selector_link),
(gst_stream_selector_get_linked_pads),
(gst_stream_selector_request_new_pad), (gst_stream_selector_chain):
* gst/playback/gststreamselector.h:
Adding stream selection support plus required properties for
applications to use this. Fully fixes #100931.
2005-01-08 18:31:22 +00:00
Ronald S. Bultje
18881b687a OGM text support, Matroska UTF-8 text support, deadlock fixes all over the place, subtitle awareness in decodebin/pla...
Original commit message from CVS:
* configure.ac:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_new):
* ext/ogg/gstogmparse.c: (gst_ogm_text_parse_get_type),
(gst_ogm_text_parse_base_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_get_sink_querytypes), (gst_ogm_parse_sink_convert),
(gst_ogm_parse_sink_query), (gst_ogm_parse_chain),
(gst_ogm_parse_plugin_init):
* ext/pango/gsttextoverlay.c: (gst_textoverlay_linkedpads),
(gst_textoverlay_link), (gst_textoverlay_getcaps),
(gst_textoverlay_event), (gst_textoverlay_video_chain),
(gst_textoverlay_loop), (gst_textoverlay_init), (plugin_init):
* ext/pango/gsttextoverlay.h:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_sync_streams),
(gst_matroska_demux_parse_blockgroup),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
* gst/playback/gstdecodebin.c: (close_pad_link):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gen_preroll_element), (remove_groups), (add_stream),
(new_decoded_pad), (setup_subtitles), (gen_source_element),
(setup_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gen_text_element), (setup_sinks):
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c: (gst_subparse_get_type),
(gst_subparse_base_init), (gst_subparse_class_init),
(gst_subparse_init), (gst_subparse_formats),
(gst_subparse_eventmask), (gst_subparse_event),
(gst_subparse_handle_event), (convert_encoding), (get_next_line),
(parse_mdvdsub), (parse_mdvdsub_init), (parse_subrip),
(parse_subrip_deinit), (parse_subrip_init), (parse_mpsub),
(parse_mpsub_deinit), (parse_mpsub_init),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_format_autodetect), (gst_subparse_loop),
(gst_subparse_change_state), (gst_subparse_type_find),
(plugin_init):
* gst/subparse/gstsubparse.h:
* gst/typefind/gsttypefindfunctions.c: (ogmtext_type_find),
(plugin_init):
Add subtitle support, .sub parser (supports SRT and MPsub),
OGM text support, Matroska UTF-8 text support, deadlock fixes
all over the place, subtitle awareness in decodebin/playbin
and some fixes to textoverlay to handle subtitles in a stream
correctly. Fixes #100931.
2005-01-08 18:22:41 +00:00
Tim-Philipp Müller
9d2bb1e905 gst/playback/gstplaybasebin.c: Fix for #162924 - free caps after use, not before
Original commit message from CVS:

patch by: Tim-Philipp Müller  <t.i.m@zen.co.uk>

* gst/playback/gstplaybasebin.c:
Fix for #162924 - free caps after use, not before
2005-01-05 10:11:23 +00:00
Thomas Vander Stichele
6312b0dca3 Fix for #154773 - fixes playback of small .wav files
Original commit message from CVS:
Fix for #154773 - fixes playback of small .wav files
2005-01-04 11:09:19 +00:00
Wim Taymans
96d3bbd82e gst/playback/gstplaybasebin.c: Revert patch 1.38 as clock distribution over schedulers does not work correcly in the ...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element):
Revert patch 1.38 as clock distribution over schedulers does
not work correcly in the core yet.
2004-12-22 10:06:02 +00:00
Ronald S. Bultje
810bc9fc7e gst/playback/: Fix memleaks (#157233).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/playback/gstdecodebin.c: (new_pad), (close_link):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
Fix memleaks (#157233).
2004-12-16 11:54:53 +00:00
Ronald S. Bultje
c0d024e29a Synchronize property names where not yet the case. Devices are now device=X, other versions are deprecated (but still...
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init),
(cdparanoia_set_property), (cdparanoia_get_property):
* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init),
(dvdnavsrc_set_property), (dvdnavsrc_get_property):
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_set_property),
(dvdreadsrc_get_property):
* sys/vcd/vcdsrc.c: (gst_vcdsrc_class_init),
(gst_vcdsrc_set_property), (gst_vcdsrc_get_property):
Synchronize property names where not yet the case. Devices are
now device=X, other versions are deprecated (but still exist).
Also use g_free() unconditionally.
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(setup_source), (gst_play_base_bin_get_property):
Expose source.
2004-12-09 12:57:29 +00:00
Ronald S. Bultje
795615d52e gst/playback/gstplaybasebin.c: Don't crash on EMPTY caps (e.g. when the demuxer didn't recognize the contained stream).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
Don't crash on EMPTY caps (e.g. when the demuxer didn't recognize
the contained stream).
2004-12-01 17:58:19 +00:00
Christophe Fergeau
2b204597ba gst/playback/gstplaybasebin.c: fixed a caps leak nullify source and decoder when going from READY to NULL so that we ...
Original commit message from CVS:
2004-11-27  Christophe Fergeau  <teuf@gnome.org>

* gst/playback/gstplaybasebin.c: (setup_source): fixed a caps leak
(gst_play_base_bin_change_state): nullify source and decoder when
going from READY to NULL so that we don't try to do weird stuff with
them when going from NULL to READY
* gst/playback/gstplaybin.c: (gst_play_bin_init): use gst_object_unref
instead of g_object_unref
(gen_video_element), (gen_audio_element): more refcounting fixes, now
it should be correct
(gst_play_bin_change_state): don't call remove_sinks if we are
currently disposing the object
2004-11-27 20:28:27 +00:00
Ronald S. Bultje
c414d6277b gst/playback/gstplaybasebin.*: Implement buffering. Needs some more work.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(probe_triggered), (check_queue), (buffer_underrun),
(buffer_running), (buffer_overrun), (gen_source_element),
(setup_source):
* gst/playback/gstplaybasebin.h:
Implement buffering. Needs some more work.
2004-11-26 12:31:05 +00:00
Ronald S. Bultje
2b39885ed9 Remove hacks for older core. Require newer core version accordingly.
Original commit message from CVS:
* configure.ac:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element):
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
Remove hacks for older core. Require newer core version
accordingly.
2004-11-25 20:09:53 +00:00
Ronald Bultje
28d19a542d gst/playback/gstplaybasebin.c: Fix unplayable files error handling. Fixes #158365
Original commit message from CVS:
patch by: Ronald Bultje <rbultje@ronald.bitfreak.net>
* gst/playback/gstplaybasebin.c:
Fix unplayable files error handling.  Fixes #158365
2004-11-23 16:52:15 +00:00
Ronald S. Bultje
527794efc5 gst/playback/gstplaybasebin.c: Re-add clock distribution hack (until new core is released).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element):
Re-add clock distribution hack (until new core is released).
Fixes #158125.
2004-11-13 15:20:10 +00:00
Ronald S. Bultje
767cd0d102 gst/playback/gstplaybasebin.c: Don't assert (#157853).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
Don't assert (#157853).
2004-11-10 16:05:17 +00:00
Wim Taymans
b398d11af9 gst/playback/: Updated README.
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstplaybasebin.c: (group_destroy), (group_is_muted),
(add_stream), (unknown_type), (add_element_stream), (no_more_pads),
(probe_triggered), (preroll_unlinked), (new_decoded_pad),
(gst_play_base_bin_change_state), (gst_play_base_bin_found_tag):
* gst/playback/gstplaybin.c: (gen_vis_element), (remove_sinks),
(setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute),
(gst_stream_info_is_mute), (gst_stream_info_set_property):
* gst/playback/gststreaminfo.h:
Updated README.
Only switch groups if all streams have muted (EOSed).
Send Tags in sync with the stream playback instead of in
the playback/preroll phase.
Some cleanups, free the fakesrc elements.
2004-11-09 12:10:28 +00:00
Wim Taymans
275958323c gst/playback/: Updated README, added more comments for fixmes etc..
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstdecodebin.c: (close_pad_link), (try_to_link_1):
* gst/playback/gstplaybasebin.c: (probe_triggered),
(gst_play_base_bin_change_state):
Updated README, added more comments for fixmes etc..
2004-11-08 18:27:25 +00:00
Wim Taymans
281c3b53b7 gst/playback/gstplaybasebin.c: We can remove this hack now.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_add_element):
We can remove this hack now.
2004-11-08 18:12:20 +00:00
Wim Taymans
ac515f710f gst/playback/: Add support for chained ogg files. Prepare for playlist support. This patch introduces the concept of ...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (unlinked):
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (group_create), (get_active_group),
(get_building_group), (group_destroy), (group_commit),
(queue_overrun), (remove_groups), (add_stream), (unknown_type),
(add_element_stream), (no_more_pads), (probe_triggered),
(preroll_unlinked), (new_decoded_pad), (removed_decoded_pad),
(state_change), (setup_source), (gst_play_base_bin_get_property),
(gst_play_base_bin_change_state), (gst_play_base_bin_add_element),
(gst_play_base_bin_link_stream),
(gst_play_base_bin_get_streaminfo):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(remove_sinks), (setup_sinks), (gst_play_bin_change_state):
Add support for chained ogg files. Prepare for playlist
support. This patch introduces the concept of pad groups, which
together compose one playable media file.
2004-11-08 09:46:17 +00:00
Wim Taymans
9b23e6f57f gst/playback/: Fix playback of multiple files. a slightly different approach to handling dynamic pad removals.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(try_to_link_1), (get_our_ghost_pad), (remove_element_chain),
(unlinked), (no_more_pads), (close_link):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(unknown_type), (add_element_stream), (new_decoded_pad),
(removed_decoded_pad), (setup_source):
* gst/playback/gststreaminfo.c: (gst_stream_info_get_type),
(gst_stream_info_class_init), (gst_stream_info_init),
(gst_stream_info_new), (gst_stream_info_dispose),
(stream_info_mute_pad), (gst_stream_info_set_property),
(gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Fix playback of multiple files.
a slightly different approach to handling dynamic pad removals.
This one only looks at pads that we have linked.
2004-11-02 10:30:36 +00:00
Ronald S. Bultje
2070a88585 gst/playback/: Make caps explicitely available. Makes testing for unsupported types possible. Improves error reporting.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (unknown_type),
(add_element_stream), (new_decoded_pad),
(gst_play_base_bin_change_state):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init),
(gst_stream_info_init), (gst_stream_info_new),
(gst_stream_info_dispose), (gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Make caps explicitely available. Makes testing for unsupported
types possible. Improves error reporting.
2004-10-29 15:27:10 +00:00
Ronald S. Bultje
3b2fd2e665 gst/playback/gstplaybasebin.c: Improve error reporting.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (thread_error), (setup_source),
(gst_play_base_bin_change_state):
Improve error reporting.
2004-10-29 08:40:28 +00:00
Ronald S. Bultje
f5c1757f50 ext/ogg/gstoggdemux.c: Wrong return.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate):
Wrong return.
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init):
Fix marshallers.
2004-10-20 12:02:20 +00:00
Wim Taymans
216fb64b09 gst/playback/: Add sink padtemplate to decodebin.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (gen_preroll_element),
(remove_prerolls), (unknown_type), (add_element_stream),
(new_decoded_pad), (setup_source), (gst_play_base_bin_add_element),
(gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_vis_element), (remove_sinks), (setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_type_get_type),
(gst_stream_info_get_type), (gst_stream_info_class_init),
(gst_stream_info_init), (gst_stream_info_new),
(gst_stream_info_dispose), (stream_info_mute_pad),
(gst_stream_info_set_property), (gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Add sink padtemplate to decodebin.
Added some more comments.
Make queue size configurable in playbasebin.
Added possibility to use elements as sinks (ex cdaudio).
2004-10-18 13:40:48 +00:00
Wim Taymans
0e9b17a986 gst/playback/gstplaybasebin.c: Wrong var used to get g_list_next.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Wrong var used to get g_list_next.
2004-10-11 12:07:15 +00:00
Wim Taymans
faa1d71a2e gst/playback/gstplaybasebin.c: Cleanup the previous pipeline a little earlier for the case that a source element prov...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Cleanup the previous pipeline a little earlier for the
case that a source element provides raw data.
2004-10-11 09:35:48 +00:00
Ronald S. Bultje
c82f67606c gst/playback/gstplaybasebin.c: Actually clean up streaminfo if output fails. This would trigger if, for example, ther...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state):
Actually clean up streaminfo if output fails. This would trigger
if, for example, there was no CD in the drive. No preroll, so
a streaminfo structure is created, but the subsequent state change
of the thread fails.
* gst/playback/gstplaybin.c: (gst_play_bin_change_state):
Don't change state if parent failed.
2004-10-09 13:50:33 +00:00
Wim Taymans
f1684d7324 gst/playback/gstplaybasebin.c: Do not try to autoplug sources that generate raw streams like cdparanoia.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_preroll_element),
(unknown_type), (setup_source), (gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
Do not try to autoplug sources that generate raw streams like
cdparanoia.
disconnect the preroll overrun signal when we don't need it anymore.
2004-10-08 17:10:16 +00:00
Wim Taymans
a85131e7ca gst/playback/: Reuse the audio and video bins.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(unknown_type), (gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_init),
(gst_play_bin_set_property), (gen_video_element),
(gen_audio_element), (setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_type_get_type),
(gst_stream_info_get_type), (gst_stream_info_class_init),
(gst_stream_info_init), (gst_stream_info_new),
(gst_stream_info_dispose), (stream_info_mute_pad),
(gst_stream_info_set_property), (gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Reuse the audio and video bins.
Some internal cleanups in the stream selection code.
2004-10-08 11:30:32 +00:00
Wim Taymans
72570f800a gst/playback/: Implement muting/unmuting of streams, mute streams that are not used.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (play_base_bin_mute_pad),
(gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream):
* gst/playback/gstplaybin.c: (setup_sinks):
Implement muting/unmuting of streams, mute streams that are not
used.
2004-10-07 11:14:48 +00:00
Wim Taymans
ab34b63400 gst/playback/: Do not signal the no_more_pads after the first pad when we are plugging a non dynamic element with mul...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(find_compatibles), (close_pad_link), (try_to_link_1), (new_pad),
(no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
* gst/playback/gstplaybin.c: (gen_video_element):
Do not signal the no_more_pads after the first pad when
we are plugging a non dynamic element with multiple
output pads (like swfdec, dvdec, ...).
2004-10-06 16:33:06 +00:00
Wim Taymans
e3ddfa2c41 gst/playback/: Set state on newly added element to READY so that negotiation can happen ASAP.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(find_compatibles), (close_pad_link), (try_to_link_1),
(no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Set state on newly added element to READY so that negotiation
can happen ASAP.
Addes some more debug info.
Do not try to plug pads with multiple caps structures or ANY
because it is too dangerous since we do not do dynamic
replugging.
2004-10-06 09:51:37 +00:00
Ronald S. Bultje
6fd179b578 ext/flac/gstflacdec.c: Only return true if we actually filled something in. Prevents player applications from showing...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
2004-09-29 09:45:40 +00:00
Wim Taymans
99b89da705 gst/playback/gstplaybasebin.c: Only signal the no_more_pads signal when we have added the stream to our list.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
Only signal the no_more_pads signal when we have
added the stream to our list.
2004-09-24 17:33:00 +00:00
Wim Taymans
26f9ce012c gst/playback/: Don't try to preroll or decode more than one audio/video track.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (remove_prerolls),
(new_decoded_pad):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (setup_sinks):
Don't try to preroll or decode more than one audio/video
track.
2004-09-24 16:38:28 +00:00