aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/flac_compat.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-01-29copyright year 2011Max Kellermann1-1/+1
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-11decoder/flac: emulate FLAC__stream_decoder_init_stream()Max Kellermann1-0/+32
Remove the wrapper flac_init().
2009-11-11decoder/flac: use the new API functionsMax Kellermann1-79/+37
Use the type and function names of the libFLAC 1.1.3 API. Map the new API to the old one with macros.
2009-11-11decoder/flac: removed the fake flac_ogg_init() fallbackMax Kellermann1-2/+0
Don't even try to call it with an old libFLAC API.
2009-11-11decoder/flac: moved code to flac_compat.hMax Kellermann1-73/+2
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.
2008-09-07audio_format: converted typedef AudioFormat to struct audio_formatMax Kellermann1-1/+1
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
2008-08-29tag: renamed MpdTag and MpdTagItem to struct tag, struct mpd_tag_itemMax Kellermann1-3/+3
Getting rid of CamelCase; not having typedefs also allows us to forward-declare the structures.
2008-08-26eliminate OUTPUT_BUFFER_DC_STOP, OUTPUT_BUFFER_DC_SEEKMax Kellermann1-1/+1
(Ab)use the decoder_command enumeration, which has nearly the same values and the same meaning.
2008-08-26added parameter total_time to decoder_initialized()Max Kellermann1-0/+1
Similar to the previous patch: pass total_time instead of manipulating dc->totalTime directly.
2008-08-26added audio_format parameter to decoder_initialized()Max Kellermann1-0/+1
dc->audioFormat is set once by the decoder plugins before invoking decoder_initialized(); hide dc->audioFormat and let the decoder pass an AudioFormat pointer to decoder_initialized().
2008-08-26added decoder_data()Max Kellermann1-6/+5
Moved all of the player-waiting code to decoder_data(), to make OutputBuffer more generic.
2008-08-26added decoder_initialized()Max Kellermann1-1/+1
decoder_initialized() sets the state to DECODE_STATE_DECODE and wakes up the player thread. It is called by the decoder plugin after its internal initialization is finished. More arguments will be added later to prevent direct accesses to the DecoderControl struct.
2008-08-26added struct decoderMax Kellermann1-1/+3
The decoder struct should later be made opaque to the decoder plugin, because maintaining a stable struct ABI is quite difficult. The ABI should only consist of a small number of stable functions.
2008-08-26clean up CPP includesMax Kellermann1-4/+0
Include only headers which are really required. This speeds up compilation and helps detect cross-layer accesses.
2008-04-13Make the OutputBuffer API more consistentEric Wong1-1/+1
We had functions names varied between outputBufferFoo, fooOutputBuffer, and output_buffer_foo That was too confusing for my little brain to handle. And the global variable was somehow named 'cb' instead of the more obvious 'ob'... git-svn-id: https://svn.musicpd.org/mpd/trunk@7355 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Stop passing our single OutputBuffer object everywhereEric Wong1-3/+2
All of our main singleton data structures are implicitly shared, so there's no reason to keep passing them around and around in the stack and making our internal API harder to deal with. git-svn-id: https://svn.musicpd.org/mpd/trunk@7354 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-13Stop passing our single DecoderControl object everywhereEric Wong1-4/+2
This at least makes the argument list to a lot of our plugin functions shorter and removes a good amount of line nois^W^Wcode, hopefully making things easier to read and follow. git-svn-id: https://svn.musicpd.org/mpd/trunk@7353 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2008-04-12use unsigned integers and size_t in the flac pluginMax Kellermann1-2/+2
git-svn-id: https://svn.musicpd.org/mpd/trunk@7324 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-12-31fix builds that only have FLAC >= 1.1.3 but not Ogg-VorbisEric Wong1-7/+5
git-svn-id: https://svn.musicpd.org/mpd/trunk@7108 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-09-10buffer input while waiting for outputBuffer space in mp4 and (ogg)flacEric Wong1-1/+2
Both mp4 and (ogg)flac inputPlugins got HTTP inputStream support later in the game, so their calls to sendDataToOutputBuffer() didn't get updated to support buffering while the outputBuffer was full. This fixes it. git-svn-id: https://svn.musicpd.org/mpd/trunk@6873 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-04-05The massive copyright updateAvuton Olrich1-1/+1
git-svn-id: https://svn.musicpd.org/mpd/trunk@5834 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14flac: workaround for type inconsistency between new/old read callbackEric Wong1-0/+2
size_t (1.1.3) makes a lot more sense, but older flac used unsigned here... git-svn-id: https://svn.musicpd.org/mpd/trunk@5258 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2007-01-14flac: fix a stupid mistake newer preprocessors don't complain aboutEric Wong1-2/+2
FLAC__{seekable_,}_stream_decoder_new() takes no arguments git-svn-id: https://svn.musicpd.org/mpd/trunk@5241 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04Add OggFLAC support when using the new 1.1.3 FLAC libraryEric Wong1-4/+14
This means that when using libFLAC as a shared object, OggFLAC support is dependent on the compile-time options of the libFLAC library loaded. git-svn-id: https://svn.musicpd.org/mpd/trunk@5112 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-12-04Introduce backwards compatibility with pre-1.1.3 FLACEric Wong1-1/+98
git-svn-id: https://svn.musicpd.org/mpd/trunk@5111 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20Add mpd-indent.shAvuton Olrich1-2/+2
Add a few new options for indent to try to make things a bit cleaner git-svn-id: https://svn.musicpd.org/mpd/trunk@4411 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-20Add mpd-indent.shAvuton Olrich1-20/+20
Indent the entire tree, hopefully we can keep it indented. git-svn-id: https://svn.musicpd.org/mpd/trunk@4410 09075e82-0dd4-0310-85a5-a0d7c8717e4f
2006-07-15De-inline non-trivial, non-performance-critical functionsEric Wong1-0/+1
Functions that should stay inlined should have an explanation attached to them. git-svn-id: https://svn.musicpd.org/mpd/trunk@4355 09075e82-0dd4-0310-85a5-a0d7c8717e4f