• Max Kellermann's avatar
    decoder/faad: remove workaround for ancient libfaad2 ABI bug · bc5a5357
    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!
    bc5a5357
Name
Last commit
Last update
..
AudioCompress Loading commit data...
android Loading commit data...
archive Loading commit data...
client Loading commit data...
command Loading commit data...
config Loading commit data...
db Loading commit data...
decoder Loading commit data...
encoder Loading commit data...
event Loading commit data...
filter Loading commit data...
fs Loading commit data...
input Loading commit data...
java Loading commit data...
lib Loading commit data...
mixer Loading commit data...
neighbor Loading commit data...
osx Loading commit data...
output Loading commit data...
pcm Loading commit data...
playlist Loading commit data...
protocol Loading commit data...
queue Loading commit data...
sticker Loading commit data...
storage Loading commit data...
system Loading commit data...
tag Loading commit data...
thread Loading commit data...
unix Loading commit data...
util Loading commit data...
win32 Loading commit data...
zeroconf Loading commit data...
AudioConfig.cxx Loading commit data...
AudioConfig.hxx Loading commit data...
AudioFormat.cxx Loading commit data...
AudioFormat.hxx Loading commit data...
AudioParser.cxx Loading commit data...
AudioParser.hxx Loading commit data...
BulkEdit.hxx Loading commit data...
CheckAudioFormat.cxx Loading commit data...
CheckAudioFormat.hxx Loading commit data...
Chrono.hxx Loading commit data...
CommandLine.cxx Loading commit data...
CommandLine.hxx Loading commit data...
Compiler.h Loading commit data...
CrossFade.cxx Loading commit data...
CrossFade.hxx Loading commit data...
DetachedSong.cxx Loading commit data...
DetachedSong.hxx Loading commit data...
GlobalEvents.cxx Loading commit data...
GlobalEvents.hxx Loading commit data...
IOThread.cxx Loading commit data...
IOThread.hxx Loading commit data...
IcyMetaDataParser.cxx Loading commit data...
IcyMetaDataParser.hxx Loading commit data...
Idle.cxx Loading commit data...
Idle.hxx Loading commit data...
Instance.cxx Loading commit data...
Instance.hxx Loading commit data...
Listen.cxx Loading commit data...
Listen.hxx Loading commit data...
Log.cxx Loading commit data...
Log.hxx Loading commit data...
LogBackend.cxx Loading commit data...
LogBackend.hxx Loading commit data...
LogInit.cxx Loading commit data...
LogInit.hxx Loading commit data...
LogLevel.hxx Loading commit data...
LogV.hxx Loading commit data...
Main.cxx Loading commit data...
Main.hxx Loading commit data...
Mapper.cxx Loading commit data...
Mapper.hxx Loading commit data...
MixRampInfo.hxx Loading commit data...
MusicBuffer.cxx Loading commit data...
MusicBuffer.hxx Loading commit data...
MusicChunk.cxx Loading commit data...
MusicChunk.hxx Loading commit data...
MusicPipe.cxx Loading commit data...
MusicPipe.hxx Loading commit data...
Partition.cxx Loading commit data...
Partition.hxx Loading commit data...
Permission.cxx Loading commit data...
Permission.hxx Loading commit data...
PlayerControl.cxx Loading commit data...
PlayerControl.hxx Loading commit data...
PlayerListener.hxx Loading commit data...
PlayerThread.cxx Loading commit data...
PlayerThread.hxx Loading commit data...
PlaylistDatabase.cxx Loading commit data...
PlaylistDatabase.hxx Loading commit data...
PlaylistError.cxx Loading commit data...
PlaylistError.hxx Loading commit data...
PlaylistFile.cxx Loading commit data...
PlaylistFile.hxx Loading commit data...
PlaylistGlobal.cxx Loading commit data...
PlaylistGlobal.hxx Loading commit data...
PlaylistPrint.cxx Loading commit data...
PlaylistPrint.hxx Loading commit data...
PlaylistSave.cxx Loading commit data...
PlaylistSave.hxx Loading commit data...
ReplayGainConfig.cxx Loading commit data...
ReplayGainConfig.hxx Loading commit data...
ReplayGainInfo.cxx Loading commit data...
ReplayGainInfo.hxx Loading commit data...
SongFilter.cxx Loading commit data...
SongFilter.hxx Loading commit data...
SongLoader.cxx Loading commit data...
SongLoader.hxx Loading commit data...
SongPrint.cxx Loading commit data...
SongPrint.hxx Loading commit data...
SongSave.cxx Loading commit data...
SongSave.hxx Loading commit data...
SongUpdate.cxx Loading commit data...
StateFile.cxx Loading commit data...
StateFile.hxx Loading commit data...
Stats.cxx Loading commit data...
Stats.hxx Loading commit data...
TagFile.cxx Loading commit data...
TagFile.hxx Loading commit data...
TagPrint.cxx Loading commit data...
TagPrint.hxx Loading commit data...
TagSave.cxx Loading commit data...
TagSave.hxx Loading commit data...
TagStream.cxx Loading commit data...
TagStream.hxx Loading commit data...
TimePrint.cxx Loading commit data...
TimePrint.hxx Loading commit data...
check.h Loading commit data...
ls.cxx Loading commit data...
ls.hxx Loading commit data...
notify.cxx Loading commit data...
notify.hxx Loading commit data...
open.h Loading commit data...
poison.h Loading commit data...