summaryrefslogtreecommitdiffstats
path: root/ext/flac/gstflacdec.h
Commit message (Collapse)AuthorAgeFilesLines
* flacdec: fix intermittent FLAC__STREAM_DECODER_ABORTED errors when seekingTim-Philipp Müller2009-07-211-0/+2
| | | | | | | | | | | | | When seeking in a local flac file (ie. operating pull-based), the decoder would often just error out after the loop function sees a DECODER_ABORTED status. This, however, is the read callback's way of telling our loop function that pull_range failed and streaming should stop, in this case because of the flush-start event that the seek handler pushed upstream from the seeking thread. Handle this slightly better by storing the last flow return from pull_range, so the loop function can evaluate it properly when it encounters a DECODER_ABORTED and take the right action. Fixes #578612.
* add pending_samples so that we only update segment's last stop after really ↵Thomas Vander Stichele2009-04-041-0/+1
| | | | sending the samples
* flac: require a 'newer' flac and remove support for the legacy flac APITim-Philipp Müller2009-03-271-6/+0
|
* flacdec: don't lose the first buffer after a seekWim Taymans2009-03-091-0/+1
| | | | | | | The flacdec API calls the write callback when performing a seek. We cannot yet push out a buffer at that time so we must keep it and push it out later. Flush out the upstream part of the pipeline when doing a seek. Fixes #574275.
* ext/flac/: Port flactag to 0.10, add documentation for it and clean it up a bit.Jonathan Matthew2008-08-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.*: Remove some unused vars.Wim Taymans2007-12-181-1/+1
| | | | | | | | | | | 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-0/+4
| | | | | | | | | 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-0/+10
| | | | | | | | | | | | | | | | | | | | | | 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.*: Make flac-in-ogg work (#352100).Tim-Philipp Müller2006-08-221-0/+2
| | | | | | | | | | 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-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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/gstflacdec.*: Handle segment seeks that include the end of the file ↵Tim-Philipp Müller2006-05-061-2/+2
| | | | | | | | | | | | 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).
* ext/flac/gstflacdec.*: If the stream header doesn't contain the total number ↵Tim-Philipp Müller2006-04-071-0/+4
| | | | | | | | | | | | | 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).
* ext/flac/: Spifify a bit.Wim Taymans2006-03-241-8/+2
| | | | | | | | | | | 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.
* ext/flac/gstflacdec.*: Rewrite flacdec a bit, so that even seeking might ↵Tim-Philipp Müller2005-12-101-15/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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-13/+13
| | | | | Original commit message from CVS: borgify and fix up documentation
* expand tabsThomas Vander Stichele2005-12-061-13/+13
| | | | | Original commit message from CVS: expand tabs
* ext/flac/gstflacdec.*: Add support for flac files with 24/32 bits per ↵Tim-Philipp Müller2005-09-061-0/+1
| | | | | | | | | | | 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).
* Port flacdec (seeking is still slow'ish).Ronald S. Bultje2005-08-221-2/+1
| | | | | | | | | | | | | | | | | 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).
* *.h: Revert indentingJohan Dahlin2004-03-151-29/+26
| | | | | Original commit message from CVS: * *.h: Revert indenting
* gst-indentThomas Vander Stichele2004-03-141-26/+29
| | | | | Original commit message from CVS: gst-indent
* ext/flac/: Fix typosJeremy Simon2004-01-311-1/+0
| | | | | | | | | Original commit message from CVS: 2004-01-31 Jeremy Simon <jesimon@libertysurf.fr> * ext/flac/gstflacdec.c: (gst_flacdec_class_init): * ext/flac/gstflacdec.h: * ext/flac/gstflacenc.h: Fix typos
* Use new tagging stuff to read and write flac metadata. Only handles ↵Christophe Fergeau2003-11-281-1/+0
| | | | | | | vorbiscomment tags, and not (older) id3v2 tags. Original commit message from CVS: Use new tagging stuff to read and write flac metadata. Only handles vorbiscomment tags, and not (older) id3v2 tags.
* Remove all config.h includes from header files, add it to each source file ↵Ronald S. Bultje2003-11-071-1/+0
| | | | | | | and remove duplicate config.h includes fro... Original commit message from CVS: Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
* change gst/bytestream.h to gst/bytestream/bytestream.hDavid Schleef2003-10-291-1/+1
| | | | | Original commit message from CVS: change gst/bytestream.h to gst/bytestream/bytestream.h
* merge TYPEFIND branch. Major changes:Benjamin Otte2003-10-281-1/+1
| | | | | | | | | | | | Original commit message from CVS: merge TYPEFIND branch. Major changes: - totally reworked type(find) system - all typefind functions are in gst/typefind now - more typefind functions then before - some plugins might fail to compile now because I don't have them installed and they a) require bytestream or b) haven't had their typefind fixed. Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
* New typefind system: bytestream is now part of the core all plugins have ↵Ronald S. Bultje2003-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | been modified to use this new typefind syste... Original commit message from CVS: New typefind system: * bytestream is now part of the core * all plugins have been modified to use this new typefind system * asf typefinding added * mpeg video stream typefiding removed because it's broken * duplicate typefind entries removed * extra id3 typefinding added, because we've seen 4 types of files (riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs to work. Instead, I've added an id3 element and let it redo typefiding after the id3 header. this needs a hack because spider only typefinds once. We can remove this hack once spider supports multiple typefinds. * with all this, mp3 typefinding is semi-rewritten * id3 typefinding in flac/vorbis is removed, it's no longer needed * fixed spider and gst-typefind to use this, too. * Other general cleanups
* Add metadata (only vorbis comment)Jeremy Simon2003-04-271-0/+1
| | | | | Original commit message from CVS: Add metadata (only vorbis comment)
* FLAC updates, implement sample accurate seeking, add some convert/query ↵Wim Taymans2002-06-071-7/+16
| | | | | | | | functions, make the encoder write a header Original commit message from CVS: FLAC updates, implement sample accurate seeking, add some convert/query functions, make the encoder write a header
* s/Gnome-Streamer/GStreamer/Andy Wingo2002-03-201-1/+1
| | | | | Original commit message from CVS: s/Gnome-Streamer/GStreamer/
* adding flacThomas Vander Stichele2001-12-231-0/+70
Original commit message from CVS: adding flac