summaryrefslogtreecommitdiffstats
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* gst/law/: Fix caps.Ronald S. Bultje2004-12-024-8/+16
| | | | | | | | | Original commit message from CVS: * gst/law/alaw-decode.c: (alawdec_getcaps), (alawdec_link): * gst/law/alaw-encode.c: (alawenc_getcaps), (alawenc_link): * gst/law/mulaw-decode.c: (mulawdec_getcaps), (mulawdec_link): * gst/law/mulaw-encode.c: (mulawenc_getcaps), (mulawenc_link): Fix caps.
* gst/law/: Prevent warnings when negotiating caps (fixes #159338).Ronald S. Bultje2004-12-012-0/+2
| | | | | | | | Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/law/alaw-decode.c: (alawdec_getcaps): * gst/law/mulaw-decode.c: (mulawdec_getcaps): Prevent warnings when negotiating caps (fixes #159338).
* gst/avi/gstavidemux.c: Fix quite humiliating bug in omitting 0-sized index ↵Ronald S. Bultje2004-11-291-9/+20
| | | | | | | | | | chunks but forgetting to count them for ti... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_massage_index): Fix quite humiliating bug in omitting 0-sized index chunks but forgetting to count them for timestamps.
* Update libvisual to 0.1.7. Link in the debug handling to gstreamerJan Schmidt2004-11-124-184/+254
| | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: * ext/libvisual/visual.c: (gst_visual_get_type), (libvisual_log_handler), (gst_visual_getcaps), (gst_visual_srclink), (gst_visual_change_state), (make_valid_name), (plugin_init): Update libvisual to 0.1.7. Link in the debug handling to gstreamer * ext/smoothwave/Makefile.am: * ext/smoothwave/demo-osssrc.c: (main): * ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init), (gst_smoothwave_init), (gst_smoothwave_dispose), (gst_sw_sinklink), (gst_sw_srclink), (gst_smoothwave_chain), (gst_sw_change_state), (plugin_init): * ext/smoothwave/gstsmoothwave.h: Make gstsmoothwave a working element in the 20th century. * gst/chart/gstchart.c: (gst_chart_init), (gst_chart_srcconnect): Fix incorrect link function
* gst/matroska/matroska-demux.c: Signal no-more-pads (so it works in playbin).Ronald S. Bultje2004-11-111-14/+17
| | | | | | Original commit message from CVS: * gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream): Signal no-more-pads (so it works in playbin).
* Use bytestream in goom for input samplesJan Schmidt2004-11-111-45/+101
| | | | | | Original commit message from CVS: Use bytestream in goom for input samples Add a debug category
* ext/alsa/gstalsa.c: buffer-frames property was missingBenjamin Otte2004-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal): buffer-frames property was missing * ext/arts/gst_arts.c: rate missing from sinkcaps * ext/audiofile/gstafparse.c: * ext/audiofile/gstafsink.c: * ext/audiofile/gstafsrc.c: * ext/swfdec/gstswfdec.c: int audio doesn't know buffer-frames * ext/cdparanoia/gstcdparanoia.c: int audio doesn't know chunksize either * ext/nas/nassink.c: it's endianness, not endianess * gst-libs/gst/audio/audio.h: make float standard pad template caps really describe float * gst/law/mulaw.c: (linear_factory): signed only, please * gst/mpegstream/gstdvddemux.c: widths of 20 are not valid
* gst/videomixer/videomixer.c: Only mix AYUV for maximum quality.Wim Taymans2004-11-081-82/+39
| | | | | | | | Original commit message from CVS: * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_blend_buffers), (gst_videomixer_loop): Only mix AYUV for maximum quality.
* gst/alpha/gstalpha.c: Implement alpha functions for AYUV too, this increases ↵Wim Taymans2004-11-081-19/+183
| | | | | | | | | | | | | accuracy quite a bit. Original commit message from CVS: * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_set_property), (gst_alpha_sink_link), (gst_alpha_set_ayuv), (gst_alpha_set_i420), (gst_alpha_chroma_key_ayuv), (gst_alpha_chroma_key_i420), (gst_alpha_init_params), (gst_alpha_chain): Implement alpha functions for AYUV too, this increases accuracy quite a bit.
* gst/rtp/gstrtpgsmparse.c: Add missing NULL terminator (#157543).Ronald S. Bultje2004-11-062-2/+2
| | | | | | | Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/rtp/gstrtpgsmparse.c: (gst_rtpgsm_caps_nego): Add missing NULL terminator (#157543).
* gst/: More stride fixes.Wim Taymans2004-11-052-29/+28
| | | | | | | | | | Original commit message from CVS: * gst/alpha/gstalpha.c: (gst_alpha_set_property), (gst_alpha_add), (gst_alpha_chroma_key), (gst_alpha_init_params), (gst_alpha_chain): * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420), (gst_videomixer_fill_checker), (gst_videomixer_blend_buffers), (gst_videomixer_loop): More stride fixes.
* gst/alpha/gstalpha.c: Updated the chroma keying algorithm with something ↵Wim Taymans2004-11-041-80/+227
| | | | | | | | | | | | | more sophisticated. Original commit message from CVS: * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_class_init), (gst_alpha_init), (gst_alpha_set_property), (gst_alpha_get_property), (gst_alpha_add), (gst_alpha_chroma_key), (gst_alpha_init_params), (gst_alpha_chain), (gst_alpha_change_state): Updated the chroma keying algorithm with something more sophisticated.
* gst/videomixer/videomixer.c: Fix stride issues. Does not completely work for ↵Wim Taymans2004-11-031-18/+39
| | | | | | | | | | | odd heights. Original commit message from CVS: * gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420), (gst_videomixer_fill_checker), (gst_videomixer_fill_color), (gst_videomixer_blend_buffers), (gst_videomixer_loop): Fix stride issues. Does not completely work for odd heights.
* gst/alpha/gstalpha.c: Fix stride issues. Does not completely work for odd ↵Wim Taymans2004-11-031-16/+58
| | | | | | | | | | heights. Original commit message from CVS: * gst/alpha/gstalpha.c: (gst_alpha_method_get_type), (gst_alpha_chroma_key), (gst_alpha_chain): Fix stride issues. Does not completely work for odd heights.
* gst/qtdemux/qtdemux.c: Change all g_print()s to debugging. Add a bunch of ↵David Schleef2004-11-021-28/+67
| | | | | | | | | | | consistency checks. Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds): Change all g_print()s to debugging. Add a bunch of consistency checks.
* Fixes a bunch of problems with finalize and dispose functions, either ↵Jan Schmidt2004-11-011-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | assumptions that dispose is only called once, o... Original commit message from CVS: * ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_dispose), (gst_alsa_finalize): * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init), (gst_cdaudio_finalize): * ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init), (cdparanoia_finalize): * ext/divx/gstdivxdec.c: (gst_divxdec_dispose): * ext/divx/gstdivxenc.c: (gst_divxenc_dispose): * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_finalize): * ext/flac/gstflacdec.c: (gst_flacdec_class_init), (gst_flacdec_finalize): * ext/flac/gstflacenc.c: (gst_flacenc_class_init), (gst_flacenc_finalize): * ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_class_init), (gst_gnomevfssink_finalize): * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_class_init), (gst_gnomevfssrc_finalize): * ext/libfame/gstlibfame.c: (gst_fameenc_class_init), (gst_fameenc_finalize): * ext/nas/nassink.c: (gst_nassink_class_init), (gst_nassink_finalize): * ext/sdl/sdlvideosink.c: (gst_sdlvideosink_finalize), (gst_sdlvideosink_class_init): * ext/sndfile/gstsf.c: (gst_sf_dispose): * gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_dispose): * gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_dispose): * gst-libs/gst/tuner/tunernorm.c: (gst_tuner_norm_dispose): * gst-libs/gst/xwindowlistener/xwindowlistener.c: (gst_x_window_listener_dispose): * gst/audioscale/gstaudioscale.c: * gst/playondemand/gstplayondemand.c: (play_on_demand_class_init), (play_on_demand_finalize): * gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose): * gst/videoscale/gstvideoscale.c: (gst_videoscale_chain): * sys/cdrom/gstcdplayer.c: (cdplayer_class_init), (cdplayer_finalize): * sys/glsink/glimagesink.c: (gst_glimagesink_finalize), (gst_glimagesink_class_init): * sys/oss/gstosselement.c: (gst_osselement_class_init), (gst_osselement_finalize): * sys/oss/gstosssink.c: (gst_osssink_dispose): * sys/oss/gstosssrc.c: (gst_osssrc_dispose): * sys/v4l/gstv4lelement.c: (gst_v4lelement_dispose): Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, or not calling the parent class dispose/finalize function
* gst/wavparse/gstwavparse.c: Fix memleak (#155223).Ronald S. Bultje2004-10-291-4/+1
| | | | | | | Original commit message from CVS: Reviewd by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Fix memleak (#155223).
* gst-libs/gst/audio/gstaudiofilter.c: fix link function to always query ↵Benjamin Otte2004-10-282-0/+446
| | | | | | | | | | | | | | | | | | | | | channels and query width for floats Original commit message from CVS: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link): fix link function to always query channels and query width for floats * configure.ac: add equalizer dir * gst/equalizer/Makefile.am: * gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type), (gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init), (gst_iir_equalizer_init), (gst_iir_equalizer_finalize), (arg_to_scale), (setup_filter), (gst_iir_equalizer_compute_frequencies), (gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property), (gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup), (plugin_init): add an equalizer
* synchonised naming of pads and pad-templatesStefan Kost2004-10-261-2/+2
| | | | | Original commit message from CVS: synchonised naming of pads and pad-templates
* Memory leak fixesIain Holmes2004-10-261-2/+2
| | | | | | Original commit message from CVS: Memory leak fixes Allow level to take mono or stereo audio
* gst/avi/gstavimux.c: First calculate the rate, and only then use it. ↵Ronald S. Bultje2004-10-261-14/+14
| | | | | | | | | | | Hdr.rate is a multiple and not a derivative of h... Original commit message from CVS: * gst/avi/gstavimux.c: (gst_avimux_audsinkconnect), (gst_avimux_stop_file): First calculate the rate, and only then use it. Hdr.rate is a multiple and not a derivative of hdr.scale. Scale is not the same as blockalign but is solely related to rate.
* gst/: Framerate.Ronald S. Bultje2004-10-241-6/+16
| | | | | | | Original commit message from CVS: * gst/asfdemux/gstasfmux.c: * gst/avi/gstavimux.c: Framerate.
* gst/spectrum/: Fix demo and reenable it. Yes, I'm currently playing with ↵Benjamin Otte2004-10-221-8/+6
| | | | | | | | | | | audio analysis tools Original commit message from CVS: * gst/spectrum/Makefile.am: * gst/spectrum/demo-osssrc.c: (spectrum_chain), (main), (idle_func): Fix demo and reenable it. Yes, I'm currently playing with audio analysis tools
* gst/qtdemux/qtdemux.c: An esds box is not a container.Wim Taymans2004-10-151-14/+22
| | | | | | | | | | Original commit message from CVS: * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse), (gst_qtdemux_handle_esds): An esds box is not a container. Fix parsing of mp4v boxes. Do not try to renegotiate fps for each frame. Need to find a better method. This should fix mp4 playback.
* configure.ac: update for swfdec-0.3 and liboil-0.2David Schleef2004-10-141-2/+2
| | | | | | | | | Original commit message from CVS: * configure.ac: update for swfdec-0.3 and liboil-0.2 * ext/swfdec/gstswfdec.c: update for swfdec-0.3 * ext/swfdec/gstswfdec.h: same * gst/videofilter/gstvideobalance.c: update for liboil-0.2 * gst/videotestsrc/videotestsrc.c: same
* ext/gnomevfs/gstgnomevfssrc.c: Some debug.Ronald S. Bultje2004-10-122-39/+321
| | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get), (gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event): Some debug. * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex), (gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream), (gst_avi_demux_stream_index), (gst_avi_demux_skip), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header): * gst/avi/gstavidemux.h: Support for openDML-2.0 indx/ix## chunks. Support for broken index recovery (where, if part of the index is broken, we will still read the rest of the index and recover the broken part by stream scanning). More broken media support. EOS workarounds. General AVI braindamage headache recovery. Aspirin included.
* gst/wavenc/gstwavenc.c: Fix wrong discont event setup (fixes #154967).Ronald S. Bultje2004-10-091-1/+2
| | | | | | | Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file): Fix wrong discont event setup (fixes #154967).
* gst/auparse/gstauparse.c: Error out on invalid data (fixes #154807).Ronald S. Bultje2004-10-091-1/+1
| | | | | | | Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/auparse/gstauparse.c: (gst_auparse_chain): Error out on invalid data (fixes #154807).
* gst/avi/gstavidemux.c: OK, so the original code was too strict. It makes ↵Ronald S. Bultje2004-10-091-51/+56
| | | | | | | | | | | random AVI files hang for seconds upon openi... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): OK, so the original code was too strict. It makes random AVI files hang for seconds upon opening, which is unacceptable and is far beyond the original goal of getting multiple chunks for one-chunk sounc stream files. So now do just that.
* gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warningStéphane Loeuillet2004-10-062-2/+3
| | | | | | | | | | Original commit message from CVS: * gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning * gst/matroska/ebml-read.c: * gst-libs/gst/riff/riff-read.c: fix typos
* gst/wavparse/Makefile.am gst/wavparse/riff.h gst/wavparse/wavparse.vcproj ↵Stéphane Loeuillet2004-10-063-444/+1
| | | | | | | | | | riff.h removal (unused and duplication with... Original commit message from CVS: * gst/wavparse/Makefile.am * gst/wavparse/riff.h * gst/wavparse/wavparse.vcproj riff.h removal (unused and duplication with riff-ids.h)
* gst/wavparse/gstwavparse.h remove duplicated defines for audio codec codes ↵Stéphane Loeuillet2004-10-062-41/+3
| | | | | | | | | | | | | gst-libs/gst/riff/riff-ids.h Original commit message from CVS: * gst/wavparse/gstwavparse.h remove duplicated defines for audio codec codes * gst-libs/gst/riff/riff-ids.h * gst/wavenc/riff.h: add "4CC" code for ATRAC3 audio streams add "4CC" code for ITU_G721_ADPCM (unused for now)
* gst/flx/gstflxdec.c: Actually _do_ negotiation. Pass gdouble as arg instead ↵Wim Taymans2004-10-061-1/+5
| | | | | | | | | of guint64 for the framerate. Original commit message from CVS: * gst/flx/gstflxdec.c: (gst_flxdec_init), (gst_flxdec_loop): Actually _do_ negotiation. Pass gdouble as arg instead of guint64 for the framerate.
* gst/avi/gstavidemux.c: Prevent overwrite of size member. Makes audio sound ↵Ronald S. Bultje2004-10-051-5/+6
| | | | | | | | crappy. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Prevent overwrite of size member. Makes audio sound crappy.
* gst/avi/gstavidemux.c: There was something wrong with the index massaging.Ronald S. Bultje2004-10-041-2/+2
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): There was something wrong with the index massaging.
* gst/avi/gstavidemux.c: Fix seeking in some files. All this code is no longer ↵Ronald S. Bultje2004-10-041-52/+3
| | | | | | | | | | needed (and actually breaks stuff) becau... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event): Fix seeking in some files. All this code is no longer needed (and actually breaks stuff) because we now synchronize the full index right when reading the header.
* gst/avi/gstavidemux.c: Improve allocation, cutting and sorting of the index. ↵Ronald S. Bultje2004-10-041-84/+132
| | | | | | | | | | | How takes a few seconds instead of minutes. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header), (gst_avi_demux_stream_data): Improve allocation, cutting and sorting of the index. How takes a few seconds instead of minutes.
* gstwavparse.c: it did not build in system with Glib < 2.4 because it used ↵Ramon Garcia Fernandez2004-10-021-0/+4
| | | | | | | | | | the macro G_MAXUINT32. Now we define the ma... Original commit message from CVS: gstwavparse.c: it did not build in system with Glib < 2.4 because it used the macro G_MAXUINT32. Now we define the macro if it is not yet defined.
* gst-libs/gst/riff/riff-media.c: Add wing commander format mimetype/fourccs.Ronald S. Bultje2004-10-021-6/+9
| | | | | | | | | | Original commit message from CVS: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add wing commander format mimetype/fourccs. * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Don't crash if some value is 0.
* gst-libs/gst/riff/riff-media.c: Add DIB fourcc (raw, palettized 8-bit RGB).Ronald S. Bultje2004-10-022-2/+24
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps_with_data), (gst_riff_create_video_template_caps): Add DIB fourcc (raw, palettized 8-bit RGB). * gst-libs/gst/riff/riff-read.c: (gst_riff_read_strf_vids_with_data): Oops, fix strf_data reading bug. * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream): Use a non-NULL tag. * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Time for hacks. Sorry Dave. At least one quicktime movie (a trailer) that I've encountered contains multiple video tracks. One of those is the actual video track, the other are one-frame tracks (images). Unfortunately, the number of frames according to the trak header is 1 for each, so that doesn't help. So instead, I look at the duration and discard tracks with a duration shorter than 20% of the length of the stream. Better than nothing.
* gst/wavparse/gstwavparse.*: Added some more debugging info.Wim Taymans2004-10-012-13/+71
| | | | | | | | | | | | | Original commit message from CVS: * gst/wavparse/gstwavparse.c: (gst_wavparse_class_init), (gst_wavparse_stream_init), (gst_wavparse_fmt), (gst_wavparse_other), (gst_wavparse_loop), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): * gst/wavparse/gstwavparse.h: Added some more debugging info. Fix the case where the length of the file is 0. Make sure we seek to sample borders.
* gst/wavparse/gstwavparse.c: Throw error if we didn't recognize the stream. ↵Ronald S. Bultje2004-10-011-4/+6
| | | | | | | | | Fixes #152289. Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Throw error if we didn't recognize the stream. Fixes #152289.
* gst/wavparse/gstwavparse.c: Fix memleak.Ronald S. Bultje2004-10-011-1/+3
| | | | | | | Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst/wavparse/gstwavparse.c: (gst_wavparse_fmt): Fix memleak.
* ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole ↵Ronald S. Bultje2004-10-011-50/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DVD, that will cache all data and thus eat... Original commit message from CVS: * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init), (dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property), (dvdreadsrc_get_property), (_open), (_seek), (_read), (dvdreadsrc_get), (dvdreadsrc_open_file), (dvdreadsrc_change_state): Fix. Don't do one big huge loop around the whole DVD, that will cache all data and thus eat sizeof(dvd) (several GB) before we see something. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Actually NULL'ify event after using it. * gst/matroska/ebml-read.c: (gst_ebml_read_use_event), (gst_ebml_read_handle_event), (gst_ebml_read_element_id), (gst_ebml_read_element_length), (gst_ebml_read_element_data), (gst_ebml_read_seek), (gst_ebml_read_skip): Handle events. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init), (gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream), (gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init): Fix timing (this will probably break if I seek using menus, but I didn't get there yet). VOBs and normal DVDs should now work. Add a mpeg2-only pad with high rank so this get autoplugged for MPEG-2 movies. * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init), (gst_mpeg_demux_class_init), (gst_mpeg_demux_init), (gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream), (gst_mpeg_demux_get_audio_stream), (gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init): Use this as second rank for MPEG-1 and MPEG-2. Still use this for MPEG-1 but use dvddemux for MPEG-2. * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init), (gst_mpeg_parse_init), (gst_mpeg_parse_new_pad), (gst_mpeg_parse_parse_packhead): Timing. Only add pad template if it exists. Add sink template from class and not from ourselves. This means we will always use the correct sink template even if it is not the one defined in this file.
* ext/flac/gstflacdec.c: Only return true if we actually filled something in. ↵Ronald S. Bultje2004-09-293-124/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/debug/gstnavigationtest.*: make navigationtest display button-press and ↵Benjamin Otte2004-09-262-35/+116
| | | | | | | | | | | button-release events Original commit message from CVS: * gst/debug/gstnavigationtest.c: (gst_navigationtest_class_init), (gst_navigationtest_handle_src_event), (draw_box_planar411), (gst_navigationtest_planar411), (gst_navigationtest_change_state): * gst/debug/gstnavigationtest.h: make navigationtest display button-press and button-release events
* Forgot to commit thisIain Holmes2004-09-261-1/+1
| | | | | Original commit message from CVS: Forgot to commit this
* Company's wisdom:Iain Holmes2004-09-261-2/+2
| | | | | | | Original commit message from CVS: Company's wisdom: Events should be passed on using the sinkpad's default handler not the src Seek events only go upstream, so send a discont downstream instead.
* ext/dirac/: Do something. Don't actually know if this works because I don't ↵Ronald S. Bultje2004-09-234-76/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | have a demuxer yet. Original commit message from CVS: * ext/dirac/Makefile.am: * ext/dirac/gstdirac.cc: * ext/dirac/gstdiracdec.cc: * ext/dirac/gstdiracdec.h: Do something. Don't actually know if this works because I don't have a demuxer yet. * ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps): Add channels=1 to caps returned from _getcaps(). * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type), (gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init), (gst_ogm_video_parse_base_init), (gst_ogm_parse_init), (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init), (gst_ogm_parse_sink_convert), (gst_ogm_parse_chain), (gst_ogm_parse_change_state): Separate between audio/video so ogmaudioparse actually uses the audio pad templates. Both audio and video work now, including autoplugging. Also use sometimes-srcpad hack. * gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek): Handle events better. Don't hang on infinite loops. * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_reset), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_stream_header), (gst_avi_demux_stream_data), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Improve A/V sync. Still not perfect. * gst/matroska/ebml-read.c: (gst_ebml_read_seek), (gst_ebml_read_skip): Handle events better. * gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event), (gst_qtdemux_loop_header), (qtdemux_parse_trak), (qtdemux_audio_caps): Add IMA4. Improve event handling. Save offset after a seek when the headers are at the end of the file so that we don't end up in an infinite loop. * gst/typefind/gsttypefindfunctions.c: (qt_type_find): Add low-priority typefind support for files with no length.
* gst/asfdemux/gstasfdemux.c: Prevent infinite loops. More correct error ↵Ronald S. Bultje2004-09-221-0/+1
| | | | | | | | | | | | | | | | | reporting. Original commit message from CVS: * gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid), (gst_asf_demux_process_segment), (gst_asf_demux_handle_data), (gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event): Prevent infinite loops. More correct error reporting. * gst/auparse/gstauparse.c: (gst_auparse_chain): Error out if negotiation fails. * gst/playback/gstplaybasebin.c: (setup_source), (gst_play_base_bin_change_state), (gst_play_base_bin_error), (gst_play_base_bin_found_tag): Error/tag forwarding. Pre-roll fixes for source errors on state changes (e.g. "file does not exist") to prevent hangs.