summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflacdec.c
Commit message (Collapse)AuthorAgeFilesLines
* ext/flac/gstflacdec.c: Add FIXME for 0.11 to simply output everything with ↵Sebastian Dröge2008-08-071-0/+4
| | | | | | | | | | width=32 as given by FLAC and let audiocon... Original commit message from CVS: * ext/flac/gstflacdec.c: Add FIXME for 0.11 to simply output everything with width=32 as given by FLAC and let audioconvert handle the conversions instead of doing them in flacdec.
* ext/flac/: Port flactag to 0.10, add documentation for it and clean it up a bit.Jonathan Matthew2008-08-061-9/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Based on a patch by: Jonathan Matthew <notverysmart at gmail dot com> * ext/flac/Makefile.am: * ext/flac/gstflac.c: (plugin_init): * ext/flac/gstflactag.c: (gst_flac_tag_setup_interfaces), (gst_flac_tag_base_init), (gst_flac_tag_class_init), (gst_flac_tag_dispose), (gst_flac_tag_init), (gst_flac_tag_sink_setcaps), (gst_flac_tag_chain), (gst_flac_tag_change_state): * ext/flac/gstflactag.h: Port flactag to 0.10, add documentation for it and clean it up a bit. Fixes bug #413841. * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/gst-plugins-good-plugins.interfaces: * docs/plugins/gst-plugins-good-plugins.prerequisites: * docs/plugins/inspect/plugin-flac.xml: * ext/flac/gstflacdec.c: (gst_flac_dec_base_init): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.c: (gst_flac_enc_base_init): * ext/flac/gstflacenc.h: Add flactag and flacenc to the documentation and mark the private parts of the flacdec instance structure as private. Also use gst_element_class_set_details_simple() in flacdec and flacenc.
* ext/flac/gstflacdec.c: Support decoding of all depths between 4 and 32 bits ↵Sebastian Dröge2008-08-031-12/+23
| | | | | | | | | | | | | | | | | | | and read the depth from the streaminfo he... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_metadata_callback), (gst_flac_dec_write): Support decoding of all depths between 4 and 32 bits and read the depth from the streaminfo header if needed. Also support all sampling rates between 1 and 655350 Hz. * ext/flac/gstflacenc.c: (gst_flac_enc_caps_append_structure_with_widths), (gst_flac_enc_sink_getcaps), (gst_flac_enc_sink_setcaps), (gst_flac_enc_chain): * ext/flac/gstflacenc.h: Support encoding in all bit depths supported by the streamable subformat (i.e. 8, 12, 16, 20 and 24 bits) and all sampling rates between 1 Hz and 655350 Hz.
* ext/flac/gstflacdec.c: Always post the audio-codec tag, not only if other ↵Sebastian Dröge2008-08-021-9/+12
| | | | | | | | | | tags are present. Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_update_metadata): Always post the audio-codec tag, not only if other tags are present.
* Use new utility functions in libgsttag to process coverart (#512333).Tim-Philipp Müller2008-06-041-108/+9
| | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer): * gst/id3demux/id3v2frames.c: (parse_picture_frame): Use new utility functions in libgsttag to process coverart (#512333).
* ext/flac/gstflacdec.c: We actually support left/side, right/side and ↵Sebastian Dröge2008-06-041-7/+70
| | | | | | | | | mid/side files. The conversion to normal, interl... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_write): We actually support left/side, right/side and mid/side files. The conversion to normal, interleaved stereo is done by libflac.
* ext/flac/: Set the channel layout when decoding FLAC files with more than 2 ↵Sebastian Dröge2008-05-251-1/+56
| | | | | | | | | | | | channels as defined by the FLAC spec. Fix... Original commit message from CVS: * ext/flac/Makefile.am: * ext/flac/gstflacdec.c: (gst_flac_dec_write): Set the channel layout when decoding FLAC files with more than 2 channels as defined by the FLAC spec. Fixes bug #534570. Also don't try to decode left/side, right/side and mid/side files as we don't support this at all.
* ext/flac/gstflacdec.c: Fix extraction of picture blocks with newer libflac ↵John Millikin2008-02-021-15/+5
| | | | | | | | | | | versions again: Original commit message from CVS: Patch by: John Millikin <jmillikin at gmail dot com> * ext/flac/gstflacdec.c: (gst_flac_dec_scan_for_last_block), (gst_flac_extract_picture_buffer), (gst_flac_dec_metadata_callback): Fix extraction of picture blocks with newer libflac versions again: FLAC__METADATA_TYPE_PICTURE is an enum, not a define (#513628).
* ext/flac/gstflacdec.c: where the picture metadata defines and structs don't ↵Tim-Philipp Müller2008-01-171-0/+13
| | | | | | | | | | exist yet. Original commit message from CVS: * ext/flac/gstflacdec.c: Fix compilation against flac 1.1.2 (as on debian stable), where the picture metadata defines and structs don't exist yet. Fixes #509301.
* Generate the image-type values correctly. Leave them out of the caps when ↵Jan Schmidt2008-01-111-16/+15
| | | | | | | | | | | | | | | outputting a "preview image" tag, since it ... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer): * gst/id3demux/id3v2frames.c: (parse_picture_frame): Generate the image-type values correctly. Leave them out of the caps when outputting a "preview image" tag, since it only makes sense to have one of those - the type is irrelevant. * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_open): If we can, mark the mixer multiple open when we use it, in case (for some reason) the process wants to open it again elsewhere.
* ext/flac/gstflacdec.c: Emit metadata messages when a PICTURE block is ↵John Millikin2008-01-031-0/+137
| | | | | | | | | | | | | | encountered. Original commit message from CVS: Patch by: John Millikin <jmillikin at gmail dot com> * ext/flac/gstflacdec.c: (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_normalize_picture_mime_type), (gst_flac_extract_picture_buffer), (gst_flac_dec_metadata_callback): Emit metadata messages when a PICTURE block is encountered. Fixes #506715.
* ext/flac/gstflacdec.c: Fix 'xyz may be used uninitialized' compiler warnings ↵Sebastian Dröge2007-12-291-1/+3
| | | | | | | | | | caused by broken g_assert_not_reached() ... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_write): Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached() macro in GLib-2.15.x and don't abort() in any case but properly report the error.
* ext/flac/gstflacdec.*: Remove some unused vars.Wim Taymans2007-12-181-15/+26
| | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_reset_decoders), (gst_flac_dec_update_metadata), (gst_flac_dec_metadata_callback), (gst_flac_dec_write): * ext/flac/gstflacdec.h: Remove some unused vars. Do more cleanup of leftover events and tags. Output tags after the segment event. Fixes #504018.
* ext/flac/gstflacdec.*: Send segments from the streaming thread. Fixes #502187.Wim Taymans2007-12-141-75/+136
| | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_metadata_callback), (gst_flac_dec_write): * ext/flac/gstflacdec.h: Send segments from the streaming thread. Fixes #502187. Fix segment seeking and a bunch of other seeking cases.
* Add support for flac >= 1.1.3 which changed the API. Fixes bug #385887.Josh Coalson2007-06-101-2/+188
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: Patch by: Josh Coalson <xflac at yahoo dot com>, updated by Alexis Ballier <aballier at gentoo dot org>: * configure.ac: * ext/flac/gstflacdec.c: (gst_flac_dec_reset_decoders), (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_seek), (gst_flac_dec_tell), (gst_flac_dec_length), (gst_flac_dec_eof), (gst_flac_dec_read_seekable), (gst_flac_dec_read_stream): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.c: (gst_flac_enc_init), (gst_flac_enc_finalize), (gst_flac_enc_set_metadata), (gst_flac_enc_sink_setcaps), (gst_flac_enc_update_quality), (gst_flac_enc_seek_callback), (gst_flac_enc_write_callback), (gst_flac_enc_tell_callback), (gst_flac_enc_sink_event), (gst_flac_enc_chain), (gst_flac_enc_set_property), (gst_flac_enc_get_property), (gst_flac_enc_change_state): * ext/flac/gstflacenc.h: Add support for flac >= 1.1.3 which changed the API. Fixes bug #385887.
* ext/flac/gstflacdec.c: Correctly post an error on the bus if something went ↵Sebastian Dröge2007-05-021-4/+9
| | | | | | | | | | wrong in the loop function. This fixes a ... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_loop): Correctly post an error on the bus if something went wrong in the loop function. This fixes a few cases where the task was paused and nothing happened anymore.
* Fix a bunch of problems discovered by the Forte compiler, mostly type mixups ↵Josep Torra Valles2006-10-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | and pointer arithmetics with void pointe... Original commit message from CVS: Patch by: Josep Torra Valles <josep at fluendo com> * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_transform): * ext/esd/esdsink.c: (gst_esdsink_write): * ext/flac/gstflacdec.c: (gst_flac_dec_length), (gst_flac_dec_read_seekable), (gst_flac_dec_chain), (gst_flac_dec_send_newsegment): * ext/flac/gstflacenc.c: (gst_flac_enc_seek_callback), (gst_flac_enc_tell_callback): * ext/jpeg/smokecodec.c: (find_best_size), (smokecodec_encode), (smokecodec_parse_header), (smokecodec_decode): * gst/avi/gstavimux.c: (gst_avi_mux_write_avix_index): * gst/debug/efence.c: (gst_fenced_buffer_alloc): * gst/goom/Makefile.am: * gst/goom/gstgoom.c: * gst/icydemux/gsticydemux.c: (gst_icydemux_typefind_or_forward): * gst/rtsp/gstrtspsrc.c: * gst/rtsp/rtspconnection.c: (rtsp_connection_read): * gst/udp/gstudpsink.c: * gst/udp/gstudpsrc.c: * gst/wavparse/gstwavparse.c: (gst_wavparse_change_state): * sys/sunaudio/gstsunaudiomixertrack.h: Fix a bunch of problems discovered by the Forte compiler, mostly type mixups and pointer arithmetics with void pointers. Fixes #362603.
* ext/flac/gstflacdec.c: Use libgsttag helper function here too.Tim-Philipp Müller2006-08-241-15/+13
| | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_update_metadata): Use libgsttag helper function here too.
* ext/flac/gstflacdec.*: Make flac-in-ogg work (#352100).Tim-Philipp Müller2006-08-221-9/+60
| | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_scan_got_frame), (gst_flac_dec_write), (gst_flac_dec_loop), (gst_flac_dec_sink_event), (gst_flac_dec_chain), (gst_flac_dec_src_query): * ext/flac/gstflacdec.h: Make flac-in-ogg work (#352100).
* ext/flac/: Support chain-based operation, should make flac-over-DAAP work ↵Tim-Philipp Müller2006-06-201-65/+458
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#340492). Original commit message from CVS: * ext/flac/Makefile.am: * ext/flac/gstflacdec.c: (gst_flac_dec_init), (gst_flac_dec_reset_decoders), (gst_flac_dec_setup_seekable_decoder), (gst_flac_dec_setup_stream_decoder), (gst_flac_dec_finalize), (gst_flac_dec_metadata_callback), (gst_flac_dec_metadata_callback_seekable), (gst_flac_dec_metadata_callback_stream), (gst_flac_dec_error_callback), (gst_flac_dec_error_callback_seekable), (gst_flac_dec_error_callback_stream), (gst_flac_dec_read_seekable), (gst_flac_dec_read_stream), (gst_flac_dec_write), (gst_flac_dec_write_seekable), (gst_flac_dec_write_stream), (gst_flac_dec_loop), (gst_flac_dec_sink_event), (gst_flac_dec_chain), (gst_flac_dec_convert_sink), (gst_flac_dec_get_sink_query_types), (gst_flac_dec_sink_query), (gst_flac_dec_get_src_query_types), (gst_flac_dec_src_query), (gst_flac_dec_handle_seek_event), (gst_flac_dec_sink_activate), (gst_flac_dec_sink_activate_push), (gst_flac_dec_sink_activate_pull), (gst_flac_dec_change_state): * ext/flac/gstflacdec.h: Support chain-based operation, should make flac-over-DAAP work (#340492).
* ext/flac/: Remove backwards compatibility cruft for dealing with FLAC API ↵Tim-Philipp Müller2006-05-231-11/+0
| | | | | | | | | | | | | changes in the 1.0.x series - we require 1.... Original commit message from CVS: * ext/flac/Makefile.am: * ext/flac/flac_compat.h: * ext/flac/gstflac.c: * ext/flac/gstflacdec.c: (gst_flac_dec_init): * ext/flac/gstflacenc.c: Remove backwards compatibility cruft for dealing with FLAC API changes in the 1.0.x series - we require 1.1.1 or newer these days.
* ext/flac/gstflacdec.*: Handle segment seeks that include the end of the file ↵Tim-Philipp Müller2006-05-061-12/+32
| | | | | | | | | | | | as stop point properly: when the decoder... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_loop): * ext/flac/gstflacdec.h: Handle segment seeks that include the end of the file as stop point properly: when the decoder hits EOS we want to send a SEGMENT_DONE message instead of an EOS event in case we're in segment seek mode (fixes #340699).
* Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up ↵Maciej Katafiasz2006-05-061-2/+3
| | | | | | | following lines. Original commit message from CVS: Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines.
* ext/flac/gstflacdec.c: Post SEGMENT_DONE message in TIME format.Tim-Philipp Müller2006-04-201-1/+7
| | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_loop): Post SEGMENT_DONE message in TIME format.
* ext/flac/gstflacdec.c: Add support for segment seeks (fixes #338290). Also ↵Tim-Philipp Müller2006-04-201-24/+47
| | | | | | | | | | demote some recurring debug message from D... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_loop), (gst_flac_dec_handle_seek_event): Add support for segment seeks (fixes #338290). Also demote some recurring debug message from DEBUG to LOG level.
* ext/flac/gstflacdec.c: Don't try to seek beyond the end of the file (would ↵Tim-Philipp Müller2006-04-081-0/+7
| | | | | | | | | | | | occasionally display error dialogs in tote... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_handle_seek_event): Don't try to seek beyond the end of the file (would occasionally display error dialogs in totem when seeking to the end) (#335869). Will still throw an error though if the file is truncated and the total_samples value in the stream header is wrong.
* ext/flac/gstflacdec.*: If the stream header doesn't contain the total number ↵Tim-Philipp Müller2006-04-071-5/+194
| | | | | | | | | | | | | of samples, search for the last flac fra... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_calculate_crc8), (gst_flac_dec_scan_got_frame), (gst_flac_dec_scan_for_last_block), (gst_flac_dec_metadata_callback): * ext/flac/gstflacdec.h: If the stream header doesn't contain the total number of samples, search for the last flac frame at the end of the file and calculate the total duration from that frame's offset (fixes #337609).
* better/unified long descriptionsWim Taymans2006-03-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/gstaasink.c: * ext/annodex/gstcmmldec.c: * ext/annodex/gstcmmlenc.c: * ext/cairo/gsttextoverlay.c: * ext/cairo/gsttimeoverlay.c: * ext/cdio/gstcdiocddasrc.c: * ext/dv/gstdvdec.c: * ext/esd/esdmon.c: * ext/esd/esdsink.c: * ext/flac/gstflacdec.c: * ext/flac/gstflacenc.c: * ext/flac/gstflactag.c: * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init): * ext/gdk_pixbuf/gstgdkpixbuf.c: * ext/gdk_pixbuf/pixbufscale.c: * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/gstsmokedec.c: * ext/jpeg/gstsmokeenc.c: * ext/libcaca/gstcacasink.c: * ext/libmng/gstmngdec.c: * ext/libmng/gstmngenc.c: * ext/libpng/gstpngdec.c: * ext/libpng/gstpngenc.c: * ext/mikmod/gstmikmod.c: * ext/raw1394/gstdv1394src.c: * ext/shout2/gstshout2.c: * ext/speex/gstspeexdec.c: * ext/speex/gstspeexenc.c: * gst/alpha/gstalpha.c: * gst/alpha/gstalphacolor.c: * gst/auparse/gstauparse.c: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_base_init): * gst/avi/gstavimux.c: (gst_avimux_base_init): * gst/cutter/gstcutter.c: * gst/debug/breakmydata.c: * gst/debug/efence.c: * gst/debug/gstnavigationtest.c: * gst/debug/negotiation.c: * gst/debug/progressreport.c: * gst/debug/testplugin.c: * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstedge.c: * gst/effectv/gstquark.c: * gst/effectv/gstrev.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: * gst/flx/gstflxdec.c: * gst/goom/gstgoom.c: * gst/interleave/deinterleave.c: * gst/interleave/interleave.c: * gst/law/alaw-decode.c: (gst_alawdec_base_init): * gst/law/alaw-encode.c: (gst_alawenc_base_init): * gst/law/mulaw-decode.c: (gst_mulawdec_base_init): * gst/law/mulaw-encode.c: (gst_mulawenc_base_init): * gst/level/gstlevel.c: * gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init): * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init): * gst/median/gstmedian.c: * gst/monoscope/gstmonoscope.c: * gst/multipart/multipartdemux.c: * gst/multipart/multipartmux.c: * gst/oldcore/gstmd5sink.c: * gst/oldcore/gstmultifilesrc.c: * gst/oldcore/gstpipefilter.c: * gst/oldcore/gstshaper.c: * gst/oldcore/gststatistics.c: * gst/rtp/gstasteriskh263.c: * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpL16pay.c: * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpamrpay.c: * gst/rtp/gstrtpdepay.c: * gst/rtp/gstrtpgsmpay.c: * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vdepay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: * gst/rtp/gstrtpmpapay.c: * gst/rtp/gstrtppcmadepay.c: * gst/rtp/gstrtppcmapay.c: * gst/rtp/gstrtppcmudepay.c: * gst/rtp/gstrtppcmupay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtsp/gstrtpdec.c: * gst/smpte/gstsmpte.c: * gst/videobox/gstvideobox.c: * gst/videofilter/gstgamma.c: (gst_gamma_base_init): * gst/videofilter/gstvideobalance.c: * gst/videofilter/gstvideoflip.c: * gst/videofilter/gstvideotemplate.c: (gst_videotemplate_base_init): * gst/videomixer/videomixer.c: * gst/wavenc/gstwavenc.c: * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init): better/unified long descriptions Fixed #336602 Some cleanups to auparse, don't send multiple newsegments.
* ext/flac/: Spifify a bit.Wim Taymans2006-03-241-33/+10
| | | | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_handle_seek_event): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.h: Spifify a bit. Fix deadly lock order error in seeking code, STREAM_LOCK cannot be taken within LOCK and the streaming variables are protected with the STREAM_LOCK anyway.
* Pass unhandled queries upstream instead of just dropping them (#326446). ↵Tim-Philipp Müller2006-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Update query type arrays here and there. Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_src_query), (gst_dvdemux_sink_query): * ext/flac/gstflacdec.c: (gst_flac_dec_src_query): * ext/speex/gstspeexdec.c: (speex_get_query_types), (speex_dec_src_query): * ext/speex/gstspeexenc.c: (gst_speexenc_src_query), (gst_speexenc_sink_query): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): * gst/matroska/matroska-demux.c: (gst_matroska_demux_get_src_query_types), (gst_matroska_demux_handle_src_query): * gst/wavparse/gstwavparse.c: (gst_wavparse_get_query_types), (gst_wavparse_pad_query): Pass unhandled queries upstream instead of just dropping them (#326446). Update query type arrays here and there.
* ext/flac/gstflacdec.c: Don't g_assert() where we should just return FALSE; ↵Tim-Philipp Müller2006-01-021-14/+14
| | | | | | | | | | | | | | remove unnecessary g_assert(); initialize ... Original commit message from CVS: Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * ext/flac/gstflacdec.c: (gst_flac_dec_write), (gst_flac_dec_convert_src), (gst_flac_dec_src_query), (gst_flac_dec_change_state): Don't g_assert() where we should just return FALSE; remove unnecessary g_assert(); initialize some fields properly in state change function (fixes #325504). Also, use GST_DEBUG_OBJECT in two more places.
* ext/flac/gstflacdec.*: Rewrite flacdec a bit, so that even seeking might ↵Tim-Philipp Müller2005-12-101-245/+458
| | | | | | | | | | | | | | | | | | | | | | | | work now. Most importantly, don't act upon a... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_base_init), (gst_flac_dec_class_init), (gst_flac_dec_init), (gst_flac_dec_metadata_callback), (gst_flac_dec_error_callback), (gst_flac_dec_eof), (gst_flac_dec_write), (gst_flac_dec_loop), (gst_flac_dec_convert_src), (gst_flac_dec_get_src_query_types), (gst_flac_dec_src_query), (gst_flac_dec_send_newsegment), (gst_flac_dec_handle_seek_event), (gst_flac_dec_src_event), (gst_flac_dec_change_state): * ext/flac/gstflacdec.h: Rewrite flacdec a bit, so that even seeking might work now. Most importantly, don't act upon any flow return values we get, just tell the decoder everything's dandy and act on the flow return values later on in the loop function. We don't want to mess up the internal decoder state for non-fatal things like flushing pads etc. Other than that, use GstSegment (segment seeks don't work yet though, but should be easy to add), use boilerplate macros, drop the superfluous 'flacdec:' from debug messages, use gst_util_uint64_scale_int, and lots of other things.
* borgify and fix up documentationThomas Vander Stichele2005-12-091-96/+98
| | | | | Original commit message from CVS: borgify and fix up documentation
* ext/flac/gstflacdec.c: Accept a wider range of flac files, more closely ↵Michael Smith2005-12-091-5/+22
| | | | | | | | matching flac sp Original commit message from CVS: * ext/flac/gstflacdec.c: (raw_caps_factory), (gst_flacdec_write): Accept a wider range of flac files, more closely matching flac sp
* Update for alloc_buffer changes.Andy Wingo2005-12-051-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: 2005-12-05 Andy Wingo <wingo@pobox.com> * ext/dv/gstdvdec.c: (gst_dvdec_chain): * ext/flac/gstflacdec.c: (gst_flacdec_write): * ext/flac/gstflacenc.c: (gst_flacenc_write_callback): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain): * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_chain): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain): * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_process): * ext/libpng/gstpngdec.c: (user_info_callback), (gst_pngdec_task): * ext/speex/gstspeexdec.c: (speex_dec_chain): * ext/speex/gstspeexenc.c: (gst_speexenc_chain): * gst/auparse/gstauparse.c: (gst_auparse_chain): * gst/flx/gstflxdec.c: (gst_flxdec_chain): * gst/goom/gstgoom.c: (gst_goom_chain): * gst/matroska/matroska-demux.c: (gst_matroska_demux_push_vorbis_codec_priv_data), (gst_matroska_demux_add_wvpk_header): * gst/multipart/multipartdemux.c: (gst_multipart_demux_chain): * gst/multipart/multipartmux.c: (gst_multipart_mux_collected): * gst/videomixer/videomixer.c: (gst_videomixer_collected): * gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Update for alloc_buffer changes.
* document flacdecThomas Vander Stichele2005-11-251-0/+24
| | | | | Original commit message from CVS: document flacdec
* ext/dv/gstdvdemux.c (gst_dvdemux_handle_sink_event) ↵Andy Wingo2005-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (gst_dvdemux_demux_frame) ext/flac/gstflacdec.c (gst_flacdec_writ... Original commit message from CVS: 2005-11-22 Andy Wingo <wingo@pobox.com> * ext/dv/gstdvdemux.c (gst_dvdemux_handle_sink_event) (gst_dvdemux_demux_frame) * ext/flac/gstflacdec.c (gst_flacdec_write) * ext/flac/gstflacenc.c (gst_flacenc_seek_callback) (gst_flacenc_sink_event) * ext/gconf/gstgconfaudiosink.c (gst_gconf_audio_sink_init) * ext/gconf/gstgconfvideosink.c (gst_gconf_video_sink_init) * ext/libpng/gstpngdec.c (gst_pngdec_caps_create_and_set) * ext/speex/gstspeexdec.c (speex_dec_event, speex_dec_chain) * gst/auparse/gstauparse.c (gst_auparse_chain) * gst/autodetect/gstautoaudiosink.c (gst_auto_audio_sink_init) * gst/autodetect/gstautovideosink.c (gst_auto_video_sink_init) * gst/avi/gstavidemux.c (gst_avi_demux_stream_header) (gst_avi_demux_handle_seek) * gst/goom/gstgoom.c (gst_goom_event) * gst/matroska/ebml-write.c (gst_ebml_write_seek) * gst/matroska/matroska-demux.c (gst_matroska_demux_handle_seek_event) (gst_matroska_demux_loop_stream_parse_id) * gst/wavenc/gstwavenc.c (gst_wavenc_stop_file) * gst/wavparse/gstwavparse.c (gst_wavparse_handle_seek) (gst_wavparse_stream_headers): Run update-funcnames.
* Update for stream lock API changes: don't take stream log in sink event ↵Tim-Philipp Müller2005-11-211-9/+2
| | | | | | | | | | | | | | | | | | | | | | handlers any longer and change GST_STREAM_LOC... Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event): * ext/flac/gstflacdec.c: (gst_flacdec_loop), (gst_flacdec_src_event): * ext/flac/gstflacenc.c: (gst_flacenc_sink_event): * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_event), (gst_signal_processor_getrange), (gst_signal_processor_chain): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek): * gst/flx/gstflxdec.c: (gst_flxdec_src_event_handler), (gst_flxdec_sink_event_handler): * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_seek_event): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek): Update for stream lock API changes: don't take stream log in sink event handlers any longer and change GST_STREAM_LOCK to GST_PAD_STREAM_LOCK. Don't leak references in flxdec event functions.
* API change fix.Wim Taymans2005-10-191-7/+17
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_get_src_query_types), (gst_dvdemux_src_query): * ext/flac/gstflacdec.c: (gst_flacdec_length), (gst_flacdec_src_query): * ext/raw1394/gstdv1394src.c: (gst_dv1394src_query): * ext/speex/gstspeexdec.c: (speex_dec_src_query): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): * gst/debug/gstnavseek.c: (gst_navseek_seek): * gst/debug/progressreport.c: (gst_progress_report_report): * gst/matroska/ebml-read.c: (gst_ebml_read_get_length): * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_src_query): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data), (gst_wavparse_pad_convert), (gst_wavparse_pad_query), (gst_wavparse_srcpad_event): API change fix.
* newsegment API update.Wim Taymans2005-10-111-1/+1
| | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event), (gst_dvdemux_demux_frame): * ext/flac/gstflacdec.c: (gst_flacdec_write): * gst/auparse/gstauparse.c: (gst_auparse_chain): * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header), (gst_avi_demux_handle_seek): * gst/goom/gstgoom.c: (gst_goom_event): * gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek), (gst_wavparse_stream_headers), (gst_wavparse_stream_data), (gst_wavparse_loop), (gst_wavparse_pad_convert), (gst_wavparse_srcpad_event): newsegment API update.
* ext/flac/gstflacdec.c (gst_flacdec_write): Deal with pad_alloc error returns.Andy Wingo2005-10-021-5/+9
| | | | | | | | Original commit message from CVS: 2005-10-03 Andy Wingo <wingo@pobox.com> * ext/flac/gstflacdec.c (gst_flacdec_write): Deal with pad_alloc error returns.
* configure.ac (GST_PLUGIN_LDFLAGS): Change to be like -base.Andy Wingo2005-10-021-37/+57
| | | | | | | | | | | | | | | | Original commit message from CVS: 2005-10-02 Andy Wingo <wingo@pobox.com> * configure.ac (GST_PLUGIN_LDFLAGS): Change to be like -base. * ext/flac/gstflacenc.c: Ported to 0.9. * ext/flac/gstflacdec.c (gst_flacdec_loop): Handle errors better. * ext/flac/Makefile.am: Add the GST_PLUGINS_BASE cflags and libs, and link to gsttagedit. Enable flacenc. * ext/flac/gstflacdec.c: Re-enable tag reading.
* ext/: gsttaginterface.h -> gsttagsetter.hStefan Kost2005-09-071-1/+1
| | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: * ext/flac/gstflacenc.c: * ext/flac/gstflactag.c: * ext/speex/gstspeexenc.c: gsttaginterface.h -> gsttagsetter.h
* ext/flac/gstflacdec.*: Add support for flac files with 24/32 bits per ↵Tim-Philipp Müller2005-09-061-23/+30
| | | | | | | | | | | sample; and misc. minor clean-ups. Seeking is s... Original commit message from CVS: * ext/flac/gstflacdec.c: (flac_caps_factory), (raw_caps_factory), (gst_flacdec_write), (gst_flacdec_convert_src): * ext/flac/gstflacdec.h: Add support for flac files with 24/32 bits per sample; and misc. minor clean-ups. Seeking is still partly broken (for me at least).
* All plugins updated for element state changes.Andy Wingo2005-09-021-8/+9
| | | | | | | Original commit message from CVS: 2005-09-02 Andy Wingo <wingo@pobox.com> * All plugins updated for element state changes.
* Port flacdec (seeking is still slow'ish).Ronald S. Bultje2005-08-221-181/+187
| | | | | | | | | | | | | | | | | Original commit message from CVS: * configure.ac: * ext/Makefile.am: * ext/flac/Makefile.am: * ext/flac/gstflac.c: (plugin_init): * ext/flac/gstflacdec.c: (flacdec_get_type), (gst_flacdec_init), (gst_flacdec_update_metadata), (gst_flacdec_seek), (gst_flacdec_tell), (gst_flacdec_length), (gst_flacdec_read), (gst_flacdec_write), (gst_flacdec_loop), (gst_flacdec_get_src_query_types), (gst_flacdec_src_query), (gst_flacdec_src_event), (gst_flacdec_sink_activate), (gst_flacdec_sink_activate_pull), (gst_flacdec_change_state): * ext/flac/gstflacdec.h: Port flacdec (seeking is still slow'ish).
* Fixes a bunch of problems with finalize and dispose functions, either ↵Jan Schmidt2004-11-011-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ext/: Add codec-name metadata.Ronald S. Bultje2004-10-251-1/+2
| | | | | | | | | Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flacdec_update_metadata): * ext/speex/gstspeexdec.c: (speex_dec_chain): * ext/theora/theoradec.c: (theora_dec_chain): * ext/vorbis/vorbisdec.c: (vorbis_dec_chain): Add codec-name metadata.
* ext/flac/gstflacdec.c: Only return true if we actually filled something in. ↵Ronald S. Bultje2004-09-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ext/flac/gstflacdec.c: (gst_flacdec_write): Actually, GST_PAD_CAPS() has ↵David Schleef2004-07-031-19/+17
| | | | | | | | | nothing to do with the logic. Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flacdec_class_init), (gst_flacdec_write): Actually, GST_PAD_CAPS() has nothing to do with the logic.