aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * | 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.
* | | decoder/ffmpeg: fix indentMax Kellermann2014-12-231-2/+2
| | |
* | | decoder/ffmpeg: simplify mpd_ffmpeg_open_input()Max Kellermann2014-12-221-17/+12
| | |
* | | decoder/ffmpeg: move functions into the AvioStream structMax Kellermann2014-12-222-20/+37
| | |
* | | configure.ac: use MPD_ENABLE_AUTO_PKG_LIB for libgmeMax Kellermann2014-12-221-1/+1
| | |
* | | decoder/ffmpeg: move code to lib/ffmpeg/Init.cxxMax Kellermann2014-12-211-4/+2
| | |
* | | decoder/ffmpeg: move code to lib/ffmpeg/LogCallback.cxxMax Kellermann2014-12-201-34/+2
| | |
* | | decoder/ffmpeg: remove obsolete commentMax Kellermann2014-12-191-1/+0
| | |
* | | decoder/ffmpeg: convert enums to constexprMax Kellermann2014-12-191-4/+2
| | |
* | | decoder/ffmpeg: move struct AvioStream to FfmpegIo.hxxMax Kellermann2014-12-193-74/+139
| | |
* | | decoder/ffmpeg: remove unnecessary nullptr check for av_free()Max Kellermann2014-12-191-2/+1
| | |
* | | decoder/ffmpeg: use AVStream::durationMax Kellermann2014-12-191-10/+6
| | | | | | | | | | | | | | | Use the duration of the stream we're actually decoding - not the "global" attribute AVFormatContext::duration which may differ.
* | | decoder/ffmpeg: skip _scan_stream() if no audio stream was foundMax Kellermann2014-12-191-5/+9
| | |
* | | decoder/ffmpeg: remove redundant audio stream checkMax Kellermann2014-12-191-3/+3
| | |
* | | decoder/ffmpeg: use more referencesMax Kellermann2014-12-191-16/+16
| | |
* | | decoder/ffmpeg: merge avformat_close_input() callsMax Kellermann2014-12-191-57/+63
| | |
* | | decoder/ffmpeg: move code to lib/ffmpeg/Time.hxxMax Kellermann2014-12-191-48/+6
| | |
* | | decoder/ffmpeg: use av_free() instead of av_freep()Max Kellermann2014-12-191-1/+1
| | |
* | | decoder/ffmpeg: add API documentationMax Kellermann2014-12-191-1/+5
| | |
* | | decoder/ffmpeg: copy_interleave_frame() returns ConstBufferMax Kellermann2014-12-181-12/+12
| | |
* | | decoder/ffmpeg: copy_interleave_frame() returns ErrorMax Kellermann2014-12-181-14/+22
| | |
* | | decoder/ffmpeg: pass AVPacket copy to ffmpeg_send_packet()Max Kellermann2014-12-181-7/+5
| | |
* | | decoder/ffmpeg: simplify ffmpeg_send_packet()Max Kellermann2014-12-181-15/+15
| | |
* | | decoder/ffmpeg: pass references instead of pointersMax Kellermann2014-12-181-33/+33
| | |
* | | decoder/ffmpeg: move code to class FfmpegBufferMax Kellermann2014-12-181-17/+10
| | |
* | | decoder/ffmpeg: fix crash on out-of-memoryMax Kellermann2014-12-181-3/+7
| | | | | | | | | | | | Fixes regression by commit 7c8038e
* | | decoder/ffmpeg: log detailed error messageMax Kellermann2014-12-181-2/+2
| | |
* | | decoder/ffmpeg: remove obsolete commentMax Kellermann2014-12-181-1/+0
| | |
* | | decoder/ffmpeg: add "pure" attributesMax Kellermann2014-12-181-1/+2
| | |
* | | Merge tag 'v0.19.7'Max Kellermann2014-12-171-4/+7
|\| |
| * | Merge tag 'v0.18.21' into v0.19.xMax Kellermann2014-12-171-4/+7
| |\|
| | * decoder/ffmpeg: detect and fix negative time stampsMax Kellermann2014-12-151-4/+7
| | | | | | | | | | | | | | | Works around assertion failure due to something that appears to be a (minor) FFmpeg bug.
* | | vorbiscomments: Remove support for non-standard "album artist" tags.Rasmus Steinke2014-12-121-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!
* | | decoder/ffpmeg: make variables more localMax Kellermann2014-12-111-3/+2
| | |
* | | decoder/ffpmeg: simplify ffmpeg_send_packet()Max Kellermann2014-12-111-8/+8
| | |
* | | decoder/ffmpeg: support stream tagsMax Kellermann2014-12-111-0/+39
| | |
* | | decoder/ffpmeg: move code to FfmpegScanMetadata()Max Kellermann2014-12-111-4/+18
| | |
* | | decoder/ffmpeg: support ReplayGain and MixRampMax Kellermann2014-12-101-0/+56
| | |
* | | decoder/ffpmeg: use forward declarationsMax Kellermann2014-12-102-9/+5
| | |
* | | decoder/ffpmeg: rename functions to CamelCaseMax Kellermann2014-12-103-17/+17
| | |
* | | decoder/ffmpeg: optimize ffmpeg_scan_dictionary()Max Kellermann2014-12-101-7/+9
| | | | | | | | | | | | | | | Don't scan tag items if the handler doesn't implement the tag() method.
* | | decoder/mad: convert "const" to "constexpr"Max Kellermann2014-12-091-4/+4
| | |
* | | decoder/ffmpeg: make the tag_table constexprMax Kellermann2014-12-091-1/+1
| | |
* | | configure.ac: use MPD_ENABLE_AUTO_LIB for libfaadMax Kellermann2014-12-091-1/+1
| | |
* | | configure.ac: add macro MPD_ENABLE_AUTO_LIBMax Kellermann2014-12-091-1/+1
| | |
* | | 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!