aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/FlacCommon.hxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-10-23input_stream: rename struct to InputStreamMax Kellermann1-2/+2
2013-10-21decoder: rename the struct to "Decoder"Max Kellermann1-2/+2
2013-10-02Log: new logging library APIMax Kellermann1-3/+0
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-08-03audio_format: convert to C++Max Kellermann1-1/+1
2013-07-31Tag: add method Clear()Max Kellermann1-2/+1
Allow reusing Tag instances.
2013-07-30tag: convert to C++Max Kellermann1-1/+1
2013-07-30pcm_buffer: convert to C++Max Kellermann1-5/+2
2013-07-28decoder_api: convert to C++Max Kellermann1-1/+1
2013-05-06decoder/FLAC*: rename files and symbols to Flac*Denis Krjuchkov1-2/+2
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-1/+1
2013-01-07decoder_api.h, ...: add "extern C"Max Kellermann1-1/+1
2012-10-02decoder/flac: move callbacks to class FLACInputMax Kellermann1-4/+3
2012-10-02decoder/flac: add ctor/dtor to struct flac_dataMax Kellermann1-8/+5
2012-10-02decoder/flac: use C++ compilerMax Kellermann1-3/+5
2012-09-04decoder/_ogg_common: rename to ogg_common.cMax Kellermann1-0/+0
2012-08-02gcc.h: re-add gcc_const and gcc_pureMax Kellermann1-2/+0
Remove GLib dependency from some headers.
2012-02-11decoder/flac: use error messages from libFLACMax Kellermann1-2/+1
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-06decoder/flac: moved decoder initialization to _flac_common.cMax Kellermann1-15/+6
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-7/+13
2010-01-06decoder/flac: removed CUE sheet supportMax Kellermann1-11/+0
This feature has been moved to the "flac" playlist plugin.
2010-01-04decoder_api: added function decoder_replay_gain()Max Kellermann1-1/+0
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-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-0/+2
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-11decoder/flac: moved code to flac_data_get_audio_format()Max Kellermann1-1/+16
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: calculate time stamp from current frameMax Kellermann1-1/+6
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-2/+2
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/+13
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: moved code to flac_compat.hMax Kellermann1-113/+3
2009-11-11decoder/flac: keep track of current frame numberMax Kellermann1-0/+5
We need this for more exact end-of-subsong detection for CUE files.
2009-11-11decoder/flac: moved code to flac_metadata.cMax Kellermann1-11/+0
2009-11-11decoder/flac: merged some code into flac_tag_apply_metadata()Max Kellermann1-2/+2
2009-11-10decoder/flac: don't use float to calculate song durationMax Kellermann1-0/+7
Simple (up-rounding) integer division is good enough. We're casting the result back to an integer anyway.
2009-11-10decoder/flac: pass VorbisComment to comments_to_tag()Max Kellermann1-1/+1
2009-11-10decoder/flac: use pcm_buffer instead of fixed bufferMax Kellermann1-2/+4
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/+3
Clean up tag and replay_gain_info there.
2009-03-16flac: get CUE track titles from additional FLAC commentsMario Lenz1-1/+1
The cue sheet embedded in a flac file doen't contain any information about track titles and similar. There are three possibilities: Use an external cue sheet that includes these information, use a tag CUESHEET with a cue sheet including these information or use tags. I think the latter is the best option and is already used by other projects.
2009-03-13all: Update copyright header.Avuton Olrich1-9/+11
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-03-09Initial support for embedded cue sheets found in flac filesJochen Keil1-0/+11
So far only seekpoints are supported, so no proper tagging yet except for track number and track length. Tagging should be done by parsing the cue sheet which is often embedded as vorbis comment in flac files. Furthermore the pathname should be configurable like "%A - %t - %T", where %A means Artist, %t track number and %T Title or so.
2009-01-19flac: include config.hMax Kellermann1-0/+1
The plugin queries build-time configuration variables, and should include config.h.
2009-01-15flac: always allocate tag objectMax Kellermann1-3/+3
Free the tag object when it turns out to be empty. This simplifies several functions and APIs.
2009-01-15flac: no CamelCaseMax Kellermann1-12/+16
Renamed types, functions, variables.
2008-11-21flac, oggflac: use GLib instead of utils.h/log.hMax Kellermann1-0/+5
2008-11-11replay_gain: no CamelCaseMax Kellermann1-1/+1
Renamed functions and variables.
2008-10-31added prefix to header macrosMax Kellermann1-2/+2
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
2008-10-26input_stream: removed the InputStream typedefMax Kellermann1-2/+2
Everybody should use struct input_stream.
2008-10-26renamed src/inputPlugins/ to src/decoder/Max Kellermann1-0/+0
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.
2008-10-17Makefile.am: don't compile disabled decoder pluginsMax Kellermann1-4/+0
Don't compile the sources of disabled decoder plugins at all, and don't attempt to register these.
2008-09-23flac: removed FlacData.chunk_lengthMax Kellermann1-1/+0
chunk_length can be converted to a local variable, because it is always reset to 0 after it was used.
2008-09-23flac: moved code from flacWrite() to _flac_common.cMax Kellermann1-12/+3
There is still a lot of duplicated code in flac_plugin.c and oggflac_plugin.c. Move code from flac_plugin.c to _flac_common.c, and use the new function flac_common_write() also in oggflac_plugin.c, porting lots of optimizations over to it.