• Max Kellermann's avatar
    decoder/faad: remove workaround for ancient libfaad2 ABI bug · f6b2899d
    Max Kellermann authored
    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!
    f6b2899d
Name
Last commit
Last update
..
ax_append_compile_flags.m4 Loading commit data...
ax_append_flag.m4 Loading commit data...
ax_append_link_flags.m4 Loading commit data...
ax_check_compile_flag.m4 Loading commit data...
ax_check_link_flag.m4 Loading commit data...
ax_cxx_compile_stdcxx_0x.m4 Loading commit data...
faad.m4 Loading commit data...
libwrap.m4 Loading commit data...
mpd_auto.m4 Loading commit data...
mpd_func.m4 Loading commit data...
pkg.m4 Loading commit data...
pretty_print.m4 Loading commit data...
ucred.m4 Loading commit data...