aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'v0.19.6'Max Kellermann2014-12-081-0/+5
|\
| * Merge tag 'v0.18.20' into v0.19.xMax Kellermann2014-12-081-0/+5
| |\
| | * decoder/ffmpeg: support FFmpeg 2.5Max Kellermann2014-12-081-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.
| | * decoder/ffmpeg: support opusMax Kellermann2014-11-101-1/+2
| | |
| | * decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-11-021-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!
| | * decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-11-021-0/+1
| | |
* | | playlist, InotifySource, ...: update GLib commentsMax Kellermann2014-12-041-2/+2
| | |
* | | decoder/sidplay: pass SidTuneMod to get_song_length()Max Kellermann2014-12-041-14/+9
| | | | | | | | | | | | Eliminate duplicate SidTune construction.
* | | decoder/sidplay: simplify the SidDatabase::length() callMax Kellermann2014-12-041-4/+2
| | |
* | | decoder/sidplay: include cleanupMax Kellermann2014-12-041-2/+0
| | |
* | | decoder/sidplay: use class SidDatabaseMax Kellermann2014-12-041-51/+11
| | | | | | | | | | | | Remove our own songlength database parser.
* | | decoder/sidplay: use config_param::GetBlockPath()Max Kellermann2014-12-041-7/+12
| | |
* | | decoder/sidplay: make "songlength_file" localMax Kellermann2014-12-041-2/+1
| | |
* | | decoder/sidplay: pass parsed path to get_song_length()Max Kellermann2014-12-041-4/+3
| | | | | | | | | | | | Eliminates duplicate ParseContainerPath() call.
* | | decoder/sidplay: merge get_container_name() and get_song_num()Max Kellermann2014-12-041-50/+38
| | |
* | | util/SplitString: rename to DivideStringMax Kellermann2014-12-032-4/+4
| | |
* | | decoder/gme: simplify ParseContainerPath()Max Kellermann2014-12-021-32/+27
| | | | | | | | | | | | | | | Use simple string and path parsing functions instead of GLib's g_pattern_match(), which was used in a very clumsy way.
* | | decoder/gme: merge get_container_name() and get_song_num()Max Kellermann2014-12-021-54/+28
| | | | | | | | | | | | There is duplicate code in the two.
* | | decoder/gme: get_song_num() returns unsignedMax Kellermann2014-12-011-6/+9
| | |
* | | decoder/gme: move code to ScanMusicEmu()Max Kellermann2014-12-011-14/+22
| | |
* | | decoder/gme: move code to ScanGmeInfo()Max Kellermann2014-12-011-34/+42
| | |
* | | Merge tag 'v0.19.5'Max Kellermann2014-11-263-359/+0
|\| |
| * | decoder/mp4v2: remove because of incompatible licenseMax Kellermann2014-11-253-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
* | | Merge branch 'v0.19.x'Max Kellermann2014-11-242-3/+3
|\| |
| * | decoder/{dsdiff,dsf,opus}: fix deadlock while seekingMax Kellermann2014-11-242-3/+3
| | |
* | | configure.ac: add macro MPD_ENABLE_AUTO_PKG_LIBMax Kellermann2014-11-225-17/+17
| | |
* | | configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann2014-11-211-10/+8
| | | | | | | | | | | | Simplify the definition of many build options.
* | | Merge tag 'v0.19.4'Max Kellermann2014-11-181-0/+7
|\| |
| * | decoder/opus: add MIME types audio/ogg and application/oggMax Kellermann2014-11-121-0/+7
| | |
* | | Merge tag 'v0.19.3'Max Kellermann2014-11-112-19/+68
|\| |
| * | 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
| | |
* | | Merge branch 'v0.19.x'Max Kellermann2014-11-071-1/+2
|\| |
| * | decoder/ffmpeg: support opusMax Kellermann2014-11-071-1/+2
| | |
* | | Merge tag 'v0.19.2'Max Kellermann2014-11-024-22/+7
|\| |
| * | Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann2014-11-011-1/+2
| | | | | | | | | | | | Use the new uri_get_suffix() overload that removes the query string.
| * | 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/wavpack: don't use GLibMax Kellermann2014-10-251-3/+3
|/ /
* | decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-10-251-0/+1
| |
* | input/Open: use OpenLocalInputStream()Max Kellermann2014-10-021-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.
* | DecoderThread: use OpenLocalInputStream() for local filesMax Kellermann2014-10-021-1/+20
| |
* | Merge tag 'v0.18.16'Max Kellermann2014-09-261-0/+2
|\|
* | decoder/mp4v2: add tag tableMax Kellermann2014-09-241-10/+19
| |
* | decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann2014-09-241-1/+90
| |