Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-08-29 | DecoderAPI: pass SignedSongTime to decoder_initialized() | Max Kellermann | 1 | -2/+6 | |
2014-08-26 | decoder/flac: use integer seek times | Max Kellermann | 1 | -2/+1 | |
2014-05-12 | InputStream: "protect" attributes | Max Kellermann | 1 | -2/+2 | |
2014-02-07 | DecoderPlugin: pass Path instance to file_decode() and scan_file() | Max Kellermann | 1 | -4/+5 | |
2014-01-24 | decoder/*: move to decoder/plugins/ | Max Kellermann | 1 | -0/+0 | |
2014-01-13 | copyright year 2014 | Max Kellermann | 1 | -1/+1 | |
2013-11-28 | include cleanup using iwyu | Max Kellermann | 1 | -4/+0 | |
2013-10-30 | *: update copyright year to 2013 | Max Kellermann | 1 | -1/+1 | |
2013-10-23 | input_stream: rename struct to InputStream | Max Kellermann | 1 | -8/+8 | |
2013-10-23 | InputStream: add method Rewind() | Max Kellermann | 1 | -5/+1 | |
2013-10-21 | decoder: rename the struct to "Decoder" | Max Kellermann | 1 | -5/+5 | |
2013-10-21 | decoder_plugin: rename struct to DecoderPlugin | Max Kellermann | 1 | -2/+2 | |
2013-10-02 | Log: new logging library API | Max Kellermann | 1 | -13/+22 | |
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend. | |||||
2013-09-27 | DecoderCommand: convert to strictly-typed enum | Max Kellermann | 1 | -4/+4 | |
2013-09-05 | InputLegacy: move functions to the input_stream class | Max Kellermann | 1 | -1/+1 | |
2013-09-04 | util/Error: new error passing library | Max Kellermann | 1 | -1/+2 | |
Replaces GLib's GError. | |||||
2013-08-04 | *: use gcc.h macros instead of GLib | Max Kellermann | 1 | -1/+1 | |
2013-08-04 | DecoderPlugin: pass config_param reference | Max Kellermann | 1 | -1/+1 | |
2013-08-03 | audio_format: convert to C++ | Max Kellermann | 1 | -1/+1 | |
2013-07-31 | Tag: add method Clear() | Max Kellermann | 1 | -5/+3 | |
Allow reusing Tag instances. | |||||
2013-07-31 | DecoderAPI: pass rvalue reference to decoder_tag() | Max Kellermann | 1 | -1/+1 | |
Avoid duplicating the tag. | |||||
2013-07-30 | tag: convert to C++ | Max Kellermann | 1 | -4/+4 | |
2013-05-06 | decoder/FLAC*: rename files and symbols to Flac* | Denis Krjuchkov | 1 | -19/+19 | |
2013-01-07 | decoder/ogg_codec: convert to C++ | Max Kellermann | 1 | -4/+1 | |
2012-10-04 | decoder/flac: support FLAC files inside archives | Max Kellermann | 1 | -2/+32 | |
Implement the "scan_stream" method that can read tags from any input_stream object. This requires a FLAC__IOCallbacks implementation based on the input_stream API. | |||||
2012-10-04 | decoder/flac: move flac_scan_file2() to main plugin file | Max Kellermann | 1 | -1/+9 | |
2012-10-02 | decoder/flac: move callbacks to class FLACInput | Max Kellermann | 1 | -96/+13 | |
2012-10-02 | decoder/flac: add ctor/dtor to struct flac_data | Max Kellermann | 1 | -6/+1 | |
2012-10-02 | decoder/flac: add method FLACMetadataChain::Scan() | Max Kellermann | 1 | -9/+1 | |
Merge common code. | |||||
2012-10-02 | decoder/flac: add C++ libFLAC wrappers | Max Kellermann | 1 | -13/+8 | |
Not using libFLAC++ because this library adds a lot of overhead due to virtual method calls. This new class library is zero-overhead. | |||||
2012-10-02 | decoder/flac: eliminate the obsolete "track number" code | Max Kellermann | 1 | -3/+2 | |
This has been deprecated by the "embcue" playlist plugin. | |||||
2012-10-02 | decoder/flac: use C++ compiler | Max Kellermann | 1 | -27/+40 | |
2012-10-02 | {decoder,encoder}/flac: drop support for libFLAC 1.1 | Max Kellermann | 1 | -54/+5 | |
2012-09-04 | decoder/ogg_common: rename to ogg_codec.c | Max Kellermann | 1 | -3/+3 | |
2012-09-04 | decoder/ogg_common: pass decoder to _type_detect() | Max Kellermann | 1 | -1/+1 | |
Allow the function to be cancelled. | |||||
2012-09-04 | decoder/_ogg_common: rename to ogg_common.c | Max Kellermann | 1 | -2/+2 | |
2012-02-11 | decoder_plugin: scan tags with callback table | Max Kellermann | 1 | -17/+13 | |
Pass a callback table to scan_file() and scan_stream(), instead of returning a tag object. | |||||
2012-02-11 | decoder/flac: check for errors only after _process_single() | Max Kellermann | 1 | -8/+6 | |
The only other libFLAC call (seek) does not produce fatal errors. | |||||
2012-02-11 | decoder/flac: symmetric FLAC__stream_decoder_finish() calls | Max Kellermann | 1 | -1/+3 | |
Call it in the function that also invokved FLAC__stream_decoder_init_*(). | |||||
2012-02-11 | decoder/flac: use error messages from libFLAC | Max Kellermann | 1 | -27/+7 | |
2012-02-11 | decoder/flac: eliminate the remaining "gotos" | Max Kellermann | 1 | -42/+54 | |
https://www.xkcd.com/292/ | |||||
2011-09-16 | input_stream: non-blocking I/O | Max Kellermann | 1 | -4/+5 | |
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins. | |||||
2011-03-23 | decoder/flac: fix enum mismatch in flac_tell_cb() | Max Kellermann | 1 | -1/+1 | |
Fix clang warning. | |||||
2011-01-29 | copyright year 2011 | Max Kellermann | 1 | -1/+1 | |
2010-03-21 | Add support for MixRamp tags | Tim Phipps | 1 | -1/+6 | |
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading. | |||||
2010-01-06 | decoder/flac: support streams without STREAMINFO block | Max Kellermann | 1 | -0/+12 | |
2010-01-06 | decoder/flac: moved decoder initialization to _flac_common.c | Max Kellermann | 1 | -15/+4 | |
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-06 | decoder/flac: remember audio_format, not stream_info | Max Kellermann | 1 | -3/+3 | |
2010-01-06 | decoder/flac: removed CUE sheet support | Max Kellermann | 1 | -295/+1 | |
This feature has been moved to the "flac" playlist plugin. | |||||
2010-01-06 | decoder/flac: moved flac_tag_load() to flac_metadata.c | Max Kellermann | 1 | -53/+0 | |
Make this code is reusable. |