aboutsummaryrefslogtreecommitdiff
path: root/src/decoder
Commit message (Collapse)AuthorAge
* ffmpeg decoder plugin: do not abuse the AVCODEC_MAX_AUDIO_FRAME_SIZE macroHEADmasterAnton Khirnov2013-04-20
| | | | | | | | | | | | It is not meant to be used with the new audio decoding API, decoded audio frames can now be arbitrarily large depending on the decoder and the input packet size. Instead dynamically allocate the interleaving buffer to be as large as needed. Fixes build with libavcodec 55. With the old decoding API, use the av_fast_malloc() function to allocate the aligned decoding buffer instead of doing manual alignment.
* ffmpeg decoder plugin: do not print AVCodecContext.codec_name.Anton Khirnov2013-04-11
| | | | | It practically never contains anything useful. Print the decoder name instead.
* ffmpeg decoder plugin: refactor the decoding functionsAnton Khirnov2013-04-11
| | | | | | | | Move some variables shared between multiple functions to a struct so the functions don't need too many parameters. Move initializing the decoder into a separate function to improve readability and reduce cleanup code duplication.
* ffmpeg decoder plugin: do not allocate an AVFrame on stack.Anton Khirnov2013-03-21
| | | | AVFrame must be allocated with avcodec_alloc_frame().
* decoder/Opus: replace non-static data member initializersMax Kellermann2013-02-04
| | | | Would require gcc 4.7, and MPD attempts to be compatible with gcc 4.6.
* decoder/faad: use the newer NeAAC* APIMax Kellermann2013-01-29
| | | | Drop support for the old faacDec* API.
* InputStream: use std::stringMax Kellermann2013-01-28
|
* InputStream: store references instead of pointersMax Kellermann2013-01-28
|
* decoder/ffmpeg: require ffmpeg/libav 0.7.6Max Kellermann2013-01-28
| | | | | | | | This is the version present in Ubuntu Oneiric, the oldest distribution with gcc 4.6. Debian Squeeze is off target, because it has gcc 4.4, which is unable to compile MPD anyway. This commit drops all API compatibility hacks for older versions.
* decoder/mp4ff: delete obsolete pluginMax Kellermann2013-01-28
| | | | The underlying library has been obsolete for many years.
* DecoderControl, InputStream: use Mutex/Cond instead of GMutex/GCondMax Kellermann2013-01-27
|
* input_stream: forward-declare the structMax Kellermann2013-01-26
| | | | Hide the definition from C code, to prepare the transition to C++.
* decoder/ffmpeg: convert to C++Max Kellermann2013-01-26
|
* Merge branch 'v0.17.x'Max Kellermann2013-01-16
|\
| * decoder/ffmpeg: support float planar audioBrice Jaglin2013-01-16
| |
* | string_util.c: provide fallback strndup() implementationDenis Krjuchkov2013-01-11
| | | | | | | | | | This patch also adds extern "C" { } wrapper around string_util.h to allow its usage in C++ code
* | decoder/wavpack: convert to C++Max Kellermann2013-01-10
| |
* | decoder/wavpack: include cleanupMax Kellermann2013-01-10
| |
* | decoder/OggUtil,Opus: move code to new class OggSyncStateMax Kellermann2013-01-08
| |
* | decoder/Opus: read total timeMax Kellermann2013-01-08
| |
* | decoder/OggUtil: add OggExpectPageSeek()Max Kellermann2013-01-08
| |
* | decoder/Opus: move page reader into the decoder classMax Kellermann2013-01-08
| |
* | decoder/Opus: move code to HandlePackets()Max Kellermann2013-01-08
| |
* | decoder/Opus: make internal methods inlineMax Kellermann2013-01-08
| |
* | decoder/OggUtil: add OggExpectFirstPage() and OggExpectPageIn()Max Kellermann2013-01-08
| |
* | decoder/Opus: use OggExpectPage() in main loopMax Kellermann2013-01-08
| |
* | decoder/OggUtil: add struct forward declarationsMax Kellermann2013-01-08
| |
* | input_stream: add method _cheap_seeking()Max Kellermann2013-01-07
| | | | | | | | Move code from the Vorbis decoder plugin.
* | decoder/ogg_codec: convert to C++Max Kellermann2013-01-07
| |
* | decoder/vorbis: convert to C++Max Kellermann2013-01-07
| |
* | decoder_api.h, ...: add "extern C"Max Kellermann2013-01-07
| |
* | DecoderAPI: _replay_gain() returns voidMax Kellermann2013-01-05
| | | | | | | | | | | | Let the function decoder_replay_gain() update decoder_control::replay_gain_db instead of letting each decoder plugin take care for that.
* | don't include stdbool.h in C++ sourcesMax Kellermann2013-01-02
| | | | | | | | The "bool" type is built-in.
* | Add tag support for DSD (DSDIFF & DSF) decodersJurgen Kramer2012-10-27
| |
* | Merge branch 'v0.17.x'Max Kellermann2012-10-05
|\| | | | | | | | | Conflicts: src/PlaylistSave.cxx
| * decoder/ffmpeg: support planar audioMax Kellermann2012-10-05
| | | | | | | | Implements Mantis feature request 3582.
| * decoder/ffmpeg: fix playback of planar PCM dataMax Kellermann2012-10-05
| | | | | | | | | | Interleaving was completely wrong. This code was never used, so it didn't have an effect.
| * decoder/ffmpeg: move code to copy_interleave_frame2()Max Kellermann2012-10-05
| |
| * decoder/ffmpeg: ignore negative time stampsMax Kellermann2012-10-05
| | | | | | | | Works around assertion failure in decoder_timestamp().
| * decoder/ffmpeg: show unsupported sample format nameMax Kellermann2012-10-05
| | | | | | | | Use av_get_sample_fmt_string() to obtain a human-readable string.
| * decoder/ffmpeg: pass AVSampleFormat to ffmpeg_sample_format()Max Kellermann2012-10-05
| | | | | | | | API simplification.
| * decoder/ffmpeg: remove duplicate sample format error messageMax Kellermann2012-10-05
| |
* | decoder/flac: support FLAC files inside archivesMax Kellermann2012-10-04
| | | | | | | | | | | | 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.
* | decoder/flac: move flac_scan_file2() to main plugin fileMax Kellermann2012-10-04
| |
* | decoder/flac: move callbacks to class FLACInputMax Kellermann2012-10-02
| |
* | decoder/flac: add ctor/dtor to struct flac_dataMax Kellermann2012-10-02
| |
* | decoder/flac: add method FLACMetadataChain::Scan()Max Kellermann2012-10-02
| | | | | | | | Merge common code.
* | decoder/flac: don't use FLAC__Metadata_SimpleIteratorMax Kellermann2012-10-02
| | | | | | | | Use the new FLACMetadataIterator C++ class, which is more powerful.
* | decoder/flac: add C++ libFLAC wrappersMax Kellermann2012-10-02
| | | | | | | | | | Not using libFLAC++ because this library adds a lot of overhead due to virtual method calls. This new class library is zero-overhead.
* | decoder/flac: eliminate the obsolete "track number" codeMax Kellermann2012-10-02
| | | | | | | | This has been deprecated by the "embcue" playlist plugin.