aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/plugins (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/ffmpeg: fix crash due to wrong avio_alloc_context() callMax Kellermann2015-10-261-4/+13
| | | | | | | | Allocate the buffer dynamically using av_malloc(), and free AVIOContext.buffer in the destructor, as mandated by the libavformat documentation. Fixes http://bugs.musicpd.org/view.php?id=4446
* decoder/mpcdec: use SampleTraits<SampleFormat::S24_P32>Max Kellermann2015-10-161-11/+13
| | | | | | Eliminates some duplicate code, and as a side effect, this works around clang 3.8 compiler warning because a negative value was shifted.
* decoder/mpcdec: use Clamp()Max Kellermann2015-10-161-6/+2
|
* decoder/ffmpeg: skip unwanted samples after seekingMax Kellermann2015-06-201-5/+48
| | | | | When seeking to the beginning of a packet, skip the samples that come before the desired time stamp.
* decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seekingMax Kellermann2015-06-201-1/+5
| | | | | | Ask FFmpeg to seek to the next packet boundary *before* the seek position, so we don't miss audio data. Now we get too much, but we'll solve that in the next commit.
* decoder/ffmpeg: move code to StreamRelativePts()Max Kellermann2015-06-191-6/+20
|
* decoder/DsdLib: use new[] to allocate the ID3 bufferMax Kellermann2015-01-291-3/+5
| | | | | Don't abort the process if there's not enough memory. This buffer is not important and can be large.
* decoder/DsdLib: free ID3 buffer right after id3_tag_parse()Max Kellermann2015-01-291-5/+2
| | | | Merge two free() calls.
* decoder/DsdLib: raise ID3 tag limit to 1 MBMax Kellermann2015-01-291-1/+1
| | | | | A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD.
* decoder/ffmpeg: support interleaved floating pointMax Kellermann2014-12-231-0/+1
|
* decoder/DsdLib: add missing stdlib.h includeMax Kellermann2014-12-231-0/+1
|
* DSF ID3 tags hitting 4k size limitJan Brittenson2014-12-231-6/+12
| | | | | | | | | Here's a change to dynamically allocate the DSD ID3 tag buffer. Pretty much anything with cover art is going to exceed the existing, static 4k limit... Here's a change to dynamically allocate the buffer and sanity check it at some upper limit. I rather arbitrarily pulled 256k out of thin air just to keep a corrupt file from causing it to trying to allocate a buffer larger than available memory.
* Merge tag 'v0.18.21' into v0.19.xMax Kellermann2014-12-171-4/+7
|
* Merge tag 'v0.18.20' into v0.19.xMax Kellermann2014-12-081-0/+5
|
* decoder/mp4v2: remove because of incompatible licenseMax Kellermann2014-11-252-355/+0
| | | | | | | | | libmp4v2 is licensed under MPL 1.1, which is incompatible with GPLv2. Unfortunately, this means that we must remove the plugin. More information can be found in the Debian bug report: http://bugs.debian.org/767504
* decoder/{dsdiff,dsf,opus}: fix deadlock while seekingMax Kellermann2014-11-242-3/+3
|
* decoder/opus: add MIME types audio/ogg and application/oggMax Kellermann2014-11-121-0/+7
|
* decoder/opus: support chained streamsMax Kellermann2014-11-111-1/+36
|
* decoder/opus: move code to HandleEOS()Max Kellermann2014-11-111-1/+8
|
* decoder/opus: improved error loggingMax Kellermann2014-11-111-4/+11
|
* decoder/opus: fix mistyped LoadEOSPacket() return valueMax Kellermann2014-11-111-1/+1
|
* decoder/opus: eliminate flag "found_opus"Max Kellermann2014-11-111-5/+3
| | | | Check opus_decoder!=nullptr instead.
* decoder/opus: add constexpr output_buffer_framesMax Kellermann2014-11-111-8/+10
|
* decoder/audiofile: fix bit rate calculationMax Kellermann2014-11-101-1/+1
|
* decoder/ffmpeg: support opusMax Kellermann2014-11-071-1/+2
|
* decoder/mad: fix negative replay gain valuesMax Kellermann2014-10-281-1/+1
| | | | Negating an unsigned integer does not work.
* decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-10-252-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | Many years ago, FAAD had a serious ABI bug: the NeAACDecInit() prototype in its header declared the "samplerate" parameter to be "unsigned long *", but internally, the function assumed it was "uint32_t *" instead. On 32 bit machines, that was no difference, but on 64 bit, this left one portion of the return value uninitialized; and worse, on big-endian, the wrong word was filled. This bug had to be worked around in MPD (commit 9c4e97a6). A few months later, the bug was fixed in the FAAD CVS in commit 1.117 on file libfaad/decoder.c; the commit message was: "Use public headers internally to prevent duplicate declarations" The commit message was too brief at best; the problem was not duplicate declarations, but a prototype mismatch. No mention of the bug fix in the ChangeLog. The MPD project never learned about this bug fix, and so MPD would always pass a "uin32_t *" dressed up as a "unsigned long *". Nearly 6 years later, it's about time to fix this second ABI problem. Let's kill the workaround!
* decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-10-251-0/+1
|
* decoder/mp4v2: add tag tableMax Kellermann2014-09-241-10/+19
|
* decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann2014-09-241-1/+90
|
* decoder/mpg123: make variables more localMax Kellermann2014-09-241-20/+11
|
* decoder/flac: pass VorbisComment to flac_parse_mixramp()Max Kellermann2014-09-243-6/+4
|
* decoder/flac: move code to tag/MixRamp.cxxMax Kellermann2014-09-241-35/+10
|
* decoder/mad: move code to tag/MixRamp.cxxMax Kellermann2014-09-241-5/+2
|
* decoder/flac: pass VorbisComment to flac_parse_replay_gain()Max Kellermann2014-09-243-6/+3
|
* tag/ReplayGain: add VorbisComment parserMax Kellermann2014-09-242-41/+12
| | | | Move code from the Vorbis and FLAC decoder plugins.
* decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxxMax Kellermann2014-09-242-24/+3
|
* tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxxMax Kellermann2014-09-241-12/+2
|
* DecoderBuffer: convert functions to methodsMax Kellermann2014-09-221-19/+19
|
* decoder/faad: use DecoderBuffer referencesMax Kellermann2014-09-221-27/+27
|
* decoder/faad: allocate DecoderBuffer on stackMax Kellermann2014-09-221-13/+8
|
* DecoderBuffer: export the structMax Kellermann2014-09-221-6/+6
| | | | Eliminates the functions _new() and _free().
* decoder/adplug: log version numberMax Kellermann2014-09-211-0/+6
|
* decoder/adplug: move the buffer into the loopMax Kellermann2014-09-211-2/+2
|
* decoder/sndfile: include cleanupMax Kellermann2014-09-211-1/+0
|
* decoder/audiofile: fix indentMax Kellermann2014-09-191-1/+1
|
* decoder/sndfile: remove obsolete code commentMax Kellermann2014-09-191-3/+0
|
* decoder/sndfile: remove debug printf()Max Kellermann2014-09-191-2/+0
|
* decoder/sndfile: log detailed sf_open_virtual() error messageMax Kellermann2014-09-191-1/+2
|
* decoder/sndfile: support float and 16 bit samplesMax Kellermann2014-09-191-4/+32
| | | | | Support these PCM formats natively, instead of letting libsndfile convert everything to 32 bit.