Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2015-06-20 | decoder/ffmpeg: skip unwanted samples after seeking | Max Kellermann | 1 | -5/+48 | |
When seeking to the beginning of a packet, skip the samples that come before the desired time stamp. | |||||
2015-06-20 | decoder/ffmpeg: use AVSEEK_FLAG_BACKWARD for seeking | Max Kellermann | 1 | -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. | |||||
2015-06-19 | decoder/ffmpeg: move code to StreamRelativePts() | Max Kellermann | 1 | -6/+20 | |
2015-01-29 | decoder/DsdLib: use new[] to allocate the ID3 buffer | Max Kellermann | 1 | -3/+5 | |
Don't abort the process if there's not enough memory. This buffer is not important and can be large. | |||||
2015-01-29 | decoder/DsdLib: free ID3 buffer right after id3_tag_parse() | Max Kellermann | 1 | -5/+2 | |
Merge two free() calls. | |||||
2015-01-29 | decoder/DsdLib: raise ID3 tag limit to 1 MB | Max Kellermann | 1 | -1/+1 | |
A bug report was submitted with a 600 kB ID3 tag that could not be read by MPD. | |||||
2014-12-23 | decoder/ffmpeg: support interleaved floating point | Max Kellermann | 1 | -0/+1 | |
2014-12-23 | decoder/DsdLib: add missing stdlib.h include | Max Kellermann | 1 | -0/+1 | |
2014-12-23 | DSF ID3 tags hitting 4k size limit | Jan Brittenson | 1 | -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. | |||||
2014-12-15 | decoder/ffmpeg: detect and fix negative time stamps | Max Kellermann | 1 | -4/+7 | |
Works around assertion failure due to something that appears to be a (minor) FFmpeg bug. | |||||
2014-12-08 | decoder/ffmpeg: support FFmpeg 2.5 | Max Kellermann | 1 | -0/+5 | |
Version 2.5 fixed an API oddity, however it broke API compatibility, at least with C++. Disable the workaround when a libavformat version is detected that is recent enough. | |||||
2014-11-25 | decoder/mp4v2: remove because of incompatible license | Max Kellermann | 3 | -359/+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 | |||||
2014-11-24 | decoder/{dsdiff,dsf,opus}: fix deadlock while seeking | Max Kellermann | 2 | -3/+3 | |
2014-11-12 | decoder/opus: add MIME types audio/ogg and application/ogg | Max Kellermann | 1 | -0/+7 | |
2014-11-11 | decoder/opus: support chained streams | Max Kellermann | 1 | -1/+36 | |
2014-11-11 | decoder/opus: move code to HandleEOS() | Max Kellermann | 1 | -1/+8 | |
2014-11-11 | decoder/opus: improved error logging | Max Kellermann | 1 | -4/+11 | |
2014-11-11 | decoder/opus: fix mistyped LoadEOSPacket() return value | Max Kellermann | 1 | -1/+1 | |
2014-11-11 | decoder/opus: eliminate flag "found_opus" | Max Kellermann | 1 | -5/+3 | |
Check opus_decoder!=nullptr instead. | |||||
2014-11-11 | decoder/opus: add constexpr output_buffer_frames | Max Kellermann | 1 | -8/+10 | |
2014-11-10 | decoder/ffmpeg: support opus | Max Kellermann | 1 | -1/+2 | |
2014-11-10 | decoder/audiofile: fix bit rate calculation | Max Kellermann | 1 | -1/+1 | |
2014-11-07 | decoder/ffmpeg: support opus | Max Kellermann | 1 | -1/+2 | |
2014-11-02 | decoder/faad: remove workaround for ancient libfaad2 ABI bug | Max Kellermann | 1 | -10/+2 | |
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! | |||||
2014-11-02 | decoder/ffmpeg: recognize MIME type audio/aacp | Steven OBrien | 1 | -0/+1 | |
2014-11-01 | Decoder, Playlist: ignore URI query string for plugin detection | Max Kellermann | 1 | -1/+2 | |
Use the new uri_get_suffix() overload that removes the query string. | |||||
2014-10-28 | decoder/mad: fix negative replay gain values | Max Kellermann | 1 | -1/+1 | |
Negating an unsigned integer does not work. | |||||
2014-10-25 | decoder/faad: remove workaround for ancient libfaad2 ABI bug | Max Kellermann | 2 | -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! | |||||
2014-10-25 | decoder/ffmpeg: recognize MIME type audio/aacp | Steven OBrien | 1 | -0/+1 | |
2014-10-02 | input/Open: use OpenLocalInputStream() | Max Kellermann | 1 | -3/+1 | |
Make the "open" method of plugins "file" and "archive" dummy methods that always fail. Instead, let InputStream::Open() hard-code access to these two plugins by using OpenLocalInputStream(). This allows simplifyin the algorithm for falling back to probing archive plugins. | |||||
2014-10-02 | DecoderThread: use OpenLocalInputStream() for local files | Max Kellermann | 1 | -1/+20 | |
2014-09-24 | decoder/mp4v2: add tag table | Max Kellermann | 1 | -10/+19 | |
2014-09-24 | decoder/mpg123: support ID3v2, ReplayGain and MixRamp | Max Kellermann | 1 | -1/+90 | |
2014-09-24 | decoder/mpg123: make variables more local | Max Kellermann | 1 | -20/+11 | |
2014-09-24 | decoder/flac: pass VorbisComment to flac_parse_mixramp() | Max Kellermann | 3 | -6/+4 | |
2014-09-24 | decoder/flac: move code to tag/MixRamp.cxx | Max Kellermann | 1 | -35/+10 | |
2014-09-24 | decoder/mad: move code to tag/MixRamp.cxx | Max Kellermann | 1 | -5/+2 | |
2014-09-24 | decoder/flac: pass VorbisComment to flac_parse_replay_gain() | Max Kellermann | 3 | -6/+3 | |
2014-09-24 | tag/ReplayGain: add VorbisComment parser | Max Kellermann | 2 | -41/+12 | |
Move code from the Vorbis and FLAC decoder plugins. | |||||
2014-09-24 | decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxx | Max Kellermann | 2 | -24/+3 | |
2014-09-24 | tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxx | Max Kellermann | 1 | -12/+2 | |
2014-09-22 | DecoderBuffer: struct to class | Max Kellermann | 1 | -1/+2 | |
2014-09-22 | DecoderBuffer: convert functions to methods | Max Kellermann | 3 | -121/+85 | |
2014-09-22 | decoder/faad: use DecoderBuffer references | Max Kellermann | 1 | -27/+27 | |
2014-09-22 | decoder/faad: allocate DecoderBuffer on stack | Max Kellermann | 1 | -13/+8 | |
2014-09-22 | DecoderBuffer: export the struct | Max Kellermann | 3 | -58/+28 | |
Eliminates the functions _new() and _free(). | |||||
2014-09-21 | DecoderBuffer: make "decoder" const | Max Kellermann | 1 | -1/+1 | |
2014-09-21 | DecoderBuffer: convert pointer to reference | Max Kellermann | 1 | -5/+5 | |
2014-09-21 | DecoderBuffer: use class DynamicFifoBuffer | Max Kellermann | 1 | -69/+23 | |
2014-09-21 | decoder/adplug: log version number | Max Kellermann | 1 | -0/+6 | |