aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/plugins/Mp4v2DecoderPlugin.cxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-10-251-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/mp4v2: add tag tableMax Kellermann2014-09-241-10/+19
|
* TagHandler: pass SongTime to duration()Max Kellermann2014-08-291-2/+4
|
* DecoderAPI: pass SignedSongTime to decoder_initialized()Max Kellermann2014-08-291-1/+2
|
* DecoderAPI: use std::chrono::duration for decoder_seek*()Max Kellermann2014-08-261-3/+2
| | | | For type safety and code readability.
* decoder/mp4v2: use integer seek timesMax Kellermann2014-08-261-4/+7
|
* decoder/Mp4v2: fix crash with undefined errorAndrée Ekroth2014-08-081-6/+4
| | | | | | | | | When no track is found the error is now properly set. Previously the calling function tried to log an undefined error, which resulted in a crash. MPD falls back to ffmpeg for unsupported tracks, such as ALAC. This should fix issue 4051.
* decoder/Mp4v2: add MP4v2 decoder pluginAndrée Ekroth2014-08-071-0/+326
This plugin uses the MP4v2 library to play mp4/m4a files. It is limited to file_decode.