aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-12-12vorbiscomments: Remove support for non-standard "album artist" tags.Rasmus Steinke1-1/+0
MPD used both "album artist" and "albumartist" tags and mapped them to one tag. This could lead to issues, if a file had both tags, causing MPD to send a list of albumartists instead of a single one. Since "album artist" is not a standard tag anyway and even its originators started to use the proper alternative, its time to say goodbye!
2014-12-11decoder/ffpmeg: make variables more localMax Kellermann1-3/+2
2014-12-11decoder/ffpmeg: simplify ffmpeg_send_packet()Max Kellermann1-8/+8
2014-12-11decoder/ffmpeg: support stream tagsMax Kellermann1-0/+39
2014-12-11decoder/ffpmeg: move code to FfmpegScanMetadata()Max Kellermann1-4/+18
2014-12-10decoder/ffmpeg: support ReplayGain and MixRampMax Kellermann1-0/+56
2014-12-10decoder/ffpmeg: use forward declarationsMax Kellermann2-9/+5
2014-12-10decoder/ffpmeg: rename functions to CamelCaseMax Kellermann3-17/+17
2014-12-10decoder/ffmpeg: optimize ffmpeg_scan_dictionary()Max Kellermann1-7/+9
Don't scan tag items if the handler doesn't implement the tag() method.
2014-12-09decoder/mad: convert "const" to "constexpr"Max Kellermann1-4/+4
2014-12-09decoder/ffmpeg: make the tag_table constexprMax Kellermann1-1/+1
2014-12-09configure.ac: use MPD_ENABLE_AUTO_LIB for libfaadMax Kellermann1-1/+1
2014-12-09configure.ac: add macro MPD_ENABLE_AUTO_LIBMax Kellermann1-1/+1
2014-12-08decoder/ffmpeg: support FFmpeg 2.5Max Kellermann1-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-12-04playlist, InotifySource, ...: update GLib commentsMax Kellermann1-2/+2
2014-12-04decoder/sidplay: pass SidTuneMod to get_song_length()Max Kellermann1-14/+9
Eliminate duplicate SidTune construction.
2014-12-04decoder/sidplay: simplify the SidDatabase::length() callMax Kellermann1-4/+2
2014-12-04decoder/sidplay: include cleanupMax Kellermann1-2/+0
2014-12-04decoder/sidplay: use class SidDatabaseMax Kellermann1-51/+11
Remove our own songlength database parser.
2014-12-04decoder/sidplay: use config_param::GetBlockPath()Max Kellermann1-7/+12
2014-12-04decoder/sidplay: make "songlength_file" localMax Kellermann1-2/+1
2014-12-04decoder/sidplay: pass parsed path to get_song_length()Max Kellermann1-4/+3
Eliminates duplicate ParseContainerPath() call.
2014-12-04decoder/sidplay: merge get_container_name() and get_song_num()Max Kellermann1-50/+38
2014-12-03util/SplitString: rename to DivideStringMax Kellermann2-4/+4
2014-12-02decoder/gme: simplify ParseContainerPath()Max Kellermann1-32/+27
Use simple string and path parsing functions instead of GLib's g_pattern_match(), which was used in a very clumsy way.
2014-12-02decoder/gme: merge get_container_name() and get_song_num()Max Kellermann1-54/+28
There is duplicate code in the two.
2014-12-01decoder/gme: get_song_num() returns unsignedMax Kellermann1-6/+9
2014-12-01decoder/gme: move code to ScanMusicEmu()Max Kellermann1-14/+22
2014-12-01decoder/gme: move code to ScanGmeInfo()Max Kellermann1-34/+42
2014-11-25decoder/mp4v2: remove because of incompatible licenseMax Kellermann3-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-24decoder/{dsdiff,dsf,opus}: fix deadlock while seekingMax Kellermann2-3/+3
2014-11-22configure.ac: add macro MPD_ENABLE_AUTO_PKG_LIBMax Kellermann5-17/+17
2014-11-21configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann1-10/+8
Simplify the definition of many build options.
2014-11-12decoder/opus: add MIME types audio/ogg and application/oggMax Kellermann1-0/+7
2014-11-11decoder/opus: support chained streamsMax Kellermann1-1/+36
2014-11-11decoder/opus: move code to HandleEOS()Max Kellermann1-1/+8
2014-11-11decoder/opus: improved error loggingMax Kellermann1-4/+11
2014-11-11decoder/opus: fix mistyped LoadEOSPacket() return valueMax Kellermann1-1/+1
2014-11-11decoder/opus: eliminate flag "found_opus"Max Kellermann1-5/+3
Check opus_decoder!=nullptr instead.
2014-11-11decoder/opus: add constexpr output_buffer_framesMax Kellermann1-8/+10
2014-11-10decoder/ffmpeg: support opusMax Kellermann1-1/+2
2014-11-10decoder/audiofile: fix bit rate calculationMax Kellermann1-1/+1
2014-11-07decoder/ffmpeg: support opusMax Kellermann1-1/+2
2014-11-02decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann1-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-02decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien1-0/+1
2014-11-01Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann1-1/+2
Use the new uri_get_suffix() overload that removes the query string.
2014-10-28decoder/mad: fix negative replay gain valuesMax Kellermann1-1/+1
Negating an unsigned integer does not work.
2014-10-25decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2-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-25decoder/wavpack: don't use GLibMax Kellermann1-3/+3
2014-10-25decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien1-0/+1