aboutsummaryrefslogtreecommitdiffstats
path: root/m4/faad.m4 (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-02decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann1-30/+1
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/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann1-30/+1
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!
2013-01-29decoder/faad: use the newer NeAAC* APIMax Kellermann1-53/+12
Drop support for the old faacDec* API.
2013-01-29faad.m4: clear FAAD_LIBS if faad got auto-disabledMax Kellermann1-0/+3
Fixes build errors on systems without libfaad, when --disable-aac was not specified.
2013-01-29faad.m4: don't add -I. to temporary CFLAGSMax Kellermann1-1/+1
2013-01-29faad.m4: remove faad --with-* optionsMax Kellermann1-26/+2
Some of these are not implemented properly and never worked. And the others are not useful; you can easily set environment variables instead.
2013-01-28decoder/mp4ff: delete obsolete pluginMax Kellermann1-34/+0
The underlying library has been obsolete for many years.
2011-10-09configure.ac: use $LIBS instead of $MPD_LIBSMax Kellermann1-4/+4
2011-10-09configure.ac: substitute FAAD_CFLAGS, FAAD_LIBSMax Kellermann1-2/+8
Don't use MPC_CFLAGS, MPD_LIBS.
2011-01-07configure.ac: use AC_LANG_SOURCEMax Kellermann1-6/+6
Fixes autotools warnings.
2009-05-26configure.ac: use $FAAD_LIBS in libmp4ff checkMax Kellermann1-1/+1
Append $FAAD_LIBS to $LIBS when detecting libmp4ff. $FAAD_LIBS may contain an important -L flag.
2009-04-29configure: Fix where mp4 was not explicitly disabled.Avuton Olrich1-1/+3
2009-03-06configure: Move the faad stuff to m4/faad.m4Avuton Olrich1-0/+190