aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/FlacCommon.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-08-03audio_format: convert to C++Max Kellermann1-12/+12
2013-07-31Tag: add method Clear()Max Kellermann1-10/+3
Allow reusing Tag instances.
2013-07-30tag: convert to C++Max Kellermann1-2/+1
2013-07-30pcm_buffer: convert to C++Max Kellermann1-4/+1
2013-07-29audio_check: convert to C++Max Kellermann1-4/+1
2013-05-06decoder/FLAC*: rename files and symbols to Flac*Denis Krjuchkov1-4/+4
2013-01-05DecoderAPI: _replay_gain() returns voidMax Kellermann1-3/+2
Let the function decoder_replay_gain() update decoder_control::replay_gain_db instead of letting each decoder plugin take care for that.
2012-10-02decoder/flac: move callbacks to class FLACInputMax Kellermann1-10/+2
2012-10-02decoder/flac: add ctor/dtor to struct flac_dataMax Kellermann1-20/+11
2012-10-02decoder/flac: eliminate the obsolete "track number" codeMax Kellermann1-1/+1
This has been deprecated by the "embcue" playlist plugin.
2012-10-02decoder/flac: use C++ compilerMax Kellermann1-11/+14
2012-09-04decoder/_ogg_common: rename to ogg_common.cMax Kellermann1-1/+1
2012-02-11decoder/flac: use error messages from libFLACMax Kellermann1-15/+2
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-05-08mixramp: Adjust MixRamp threshold to account for ReplayGain.Tim Phipps1-2/+4
2010-03-21Add support for MixRamp tagsTim Phipps1-5/+6
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
2010-02-17replay_gain_info: allocate the struct staticallyMax Kellermann1-6/+3
Don't allocate each replay_gain_info object on the heap. Those objects who held a pointer now store a full replay_gain_info object. This reduces the number of allocations and heap fragmentation.
2010-01-06decoder/flac: support streams without STREAMINFO blockMax Kellermann1-1/+40
2010-01-06decoder/flac: pass bits_per_sample to flac_sample_format()Max Kellermann1-3/+3
Easier to reuse the function.
2010-01-06decoder/flac: moved decoder initialization to _flac_common.cMax Kellermann1-20/+12
Invoke decoder_initialized() in the libFLAC metadata callback. This merges code from the FLAC and the OggFLAC decoder plugin into the common library.
2010-01-06decoder/flac: remember audio_format, not stream_infoMax Kellermann1-12/+28
2010-01-06decoder/flac: removed CUE sheet supportMax Kellermann1-53/+0
This feature has been moved to the "flac" playlist plugin.
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann1-9/+8
This function replaces the replay_gain_info parameter for decoder_data(). This allows the decoder to announce replay gain changes, instead of having to pass the same object over and over.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-26decoder_api: added function decoder_timestamp()Max Kellermann1-8/+1
Remove the data_time parameter from decoder_data(). This patch eliminates the timestamp counting in most decoder plugins, because the MPD core will do it automatically by default.
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-2/+25
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
2009-11-19decoder/flac: fixed compiler warningMax Kellermann1-3/+1
Removed the "vtrack" local variable (which triggered a gcc warning because it was after the newly introduced NULL check), and run strtol() on the original parameter.
2009-11-18decoder/flac: fixed NULL pointer dereference in CUE codeMax Kellermann1-0/+2
The function flac_vtrack_tnum() was missing a strrchr()==NULL check.
2009-11-14decoder: use audio_format_init_checked()Max Kellermann1-9/+9
Let the audio_check library verify the audio format in all (relevant, i.e. non-hardcoded) plugins.
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-11-11decoder/flac: moved code to flac_data_get_audio_format()Max Kellermann1-7/+28
Remove the audio_format attribute, add "frame_size" instead. The audio_format initialization and check is moved both to flac_data_get_audio_format().
2009-11-11decoder/flac: use frame header instead of audio_formatMax Kellermann1-3/+3
When calculating the properties of the frame, use sample_rate and other information from the frame header instead of the stored audio_format object.
2009-11-11decoder/flac: calculate time stamp from current frameMax Kellermann1-2/+9
Don't update a float timestamp, this will make imprecisions add up after a while. We already have the number of the current frame, let's just calculate the float timestamp from that for every decoder_data() command. For this, we need to add the attribute "first_frame", for CUE sheet songs.
2009-11-11decoder/flac: calculate bit rate in flac_common_write()Max Kellermann1-3/+10
Removed the "bit_rate" attribute from the flac_data struct. Pass the number of bytes since the last call to flac_common_write(), and let it calculate the bit rate.
2009-11-11decoder/flac: store the whole stream info object, not durationMax Kellermann1-1/+4
We don't want to work with floating point values if possible. Get the integer number of frames from the FLAC__StreamMetadata_StreamInfo object, and convert it into a float duration on demand. This patch adds a check if the STREAMINFO packet has been received yet.
2009-11-11decoder/flac: keep track of current frame numberMax Kellermann1-0/+3
We need this for more exact end-of-subsong detection for CUE files.
2009-11-11decoder/flac: moved code to flac_pcm.cMax Kellermann1-81/+1
2009-11-11decoder/flac: moved code to flac_metadata.cMax Kellermann1-164/+1
2009-11-11decoder/flac: return replay_gain_info object from helper functionMax Kellermann1-28/+24
Make the function more generic by not passing "struct flac_data" to it.
2009-11-11decoder/flac: merged some code into flac_tag_apply_metadata()Max Kellermann1-1/+20
2009-11-10decoder/flac: pass VorbisComment to comments_to_tag()Max Kellermann1-7/+5
2009-11-10decoder/flac: use pcm_buffer instead of fixed bufferMax Kellermann1-37/+27
This is a great simplification for flac_common_write(), because we can convert and submit all of the buffer in one turn. No more partial buffers with complicated formulas.
2009-11-10decoder/flac: added function flac_data_deinit()Max Kellermann1-0/+10
Clean up tag and replay_gain_info there.
2009-11-10decoder/flac: pass void pointer to flac_convert()Max Kellermann1-5/+5
That function diverts into various bit formats; it doesn't need a typed pointer.
2009-11-10decoder/flac: pass audio_format.bits to flac_convert()Max Kellermann1-11/+8
Don't use audio_format_sample_size() for identifying the sample format.
2009-10-13tag: removed the "_ITEM_" suffix from the enum namesMax Kellermann1-3/+3
2009-08-14decoder/flac: don't allocate cuesheet twice (memleak)Max Kellermann1-4/+6
The function flac_cue_track() first calls FLAC__metadata_object_new(), then overwrites this pointer with FLAC__metadata_get_cuesheet(). This allocate two FLAC__StreamMetadata objects, but the first pointer is lost, and never freed.
2009-07-22decoder/flac: fixed indentation of flac_comment_value()Max Kellermann1-19/+21
2009-07-22decoder/flac: parse all replaygain tagsMax Kellermann1-14/+18
The FLAC replaygain parser used the "||" operator. This made the code stop after the first value which was found.
2009-07-22decoder/flac: return early from flac_find_float_comment()Max Kellermann1-21/+22
When one metadata check fails, return quickly. This removes 2 levels of indent.