mpd/src/decoder
Max Kellermann f6b2899dd2 decoder/faad: remove workaround for ancient libfaad2 ABI bug
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-11-02 11:50:56 +01:00
..
AdPlugDecoderPlugin.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
AdPlugDecoderPlugin.h decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
AudiofileDecoderPlugin.cxx decoder/audiofile: fix crash after seeking 2014-09-06 19:32:10 +02:00
AudiofileDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
DsdiffDecoderPlugin.cxx decoer/dsdiff: fix endless loop on malformed file 2014-08-21 12:48:03 +02:00
DsdiffDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
DsdLib.cxx decoder/dsd: use decoder_read_full() where appropriate 2014-07-09 19:18:36 +02:00
DsdLib.hxx decoder/dsd: use decoder_read_full() where appropriate 2014-07-09 19:18:36 +02:00
DsfDecoderPlugin.cxx decoer/dsf: fix endless loop on malformed file 2014-08-21 12:37:22 +02:00
DsfDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
FaadDecoderPlugin.cxx decoder/faad: remove workaround for ancient libfaad2 ABI bug 2014-11-02 11:50:56 +01:00
FaadDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
FfmpegDecoderPlugin.cxx decoder/ffmpeg: recognize MIME type audio/aacp 2014-11-02 11:50:56 +01:00
FfmpegDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
FfmpegMetaData.cxx *: use nullptr instead of NULL 2013-10-28 23:58:17 +01:00
FfmpegMetaData.hxx decoder/ffmpeg: include cleanup 2014-01-15 11:31:51 +01:00
FlacCommon.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacCommon.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacDecoderPlugin.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacDecoderPlugin.h decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
FlacDomain.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacDomain.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacInput.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacInput.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacIOHandle.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacIOHandle.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacMetadata.cxx DecoderControl: move code/attributes to new class MixRampInfo 2013-10-26 14:19:34 +02:00
FlacMetadata.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacPcm.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FlacPcm.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
FluidsynthDecoderPlugin.cxx decoder: rename the struct to "Decoder" 2013-10-21 21:12:37 +02:00
FluidsynthDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
GmeDecoderPlugin.cxx decoder/gme: fix song duration 2014-08-29 23:03:29 +02:00
GmeDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
MadDecoderPlugin.cxx DecoderAPI: add function decoder_read_full() 2014-07-09 19:03:58 +02:00
MadDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
MikmodDecoderPlugin.cxx decoder: rename the struct to "Decoder" 2013-10-21 21:12:37 +02:00
MikmodDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
ModplugDecoderPlugin.cxx input_stream: rename struct to InputStream 2013-10-23 23:12:02 +02:00
ModplugDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
MpcdecDecoderPlugin.cxx ReplayGainInfo: refactor to a class 2013-10-25 19:12:46 +02:00
MpcdecDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
Mpg123DecoderPlugin.cxx decoder: rename the struct to "Decoder" 2013-10-21 21:12:37 +02:00
Mpg123DecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
OggCodec.cxx input_stream: rename struct to InputStream 2013-10-23 23:12:02 +02:00
OggCodec.hxx input_stream: rename struct to InputStream 2013-10-23 23:12:02 +02:00
OggFind.cxx decoder/OggFind.cxx: include stdio.h for SEEK_END definition 2013-11-18 16:28:39 +06:00
OggFind.hxx decoder/Opus: implement seeking 2013-10-24 23:26:58 +02:00
OggSyncState.hxx input_stream: rename struct to InputStream 2013-10-23 23:12:02 +02:00
OggUtil.cxx decoder/OggUtil: allow skipping up to 32 kB after seek 2014-04-29 11:56:05 +02:00
OggUtil.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusDecoderPlugin.cxx decoder/OpusDecoderPlugin: fix build failure due to missing stdio.h include 2014-07-09 17:41:31 +02:00
OpusDecoderPlugin.h decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
OpusDomain.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusDomain.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusHead.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusHead.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusReader.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
OpusTags.cxx ReplayGainInfo: use CamelCase for struct name 2013-10-25 19:12:38 +02:00
OpusTags.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
PcmDecoderPlugin.cxx input_stream: rename struct to InputStream 2013-10-23 23:12:02 +02:00
PcmDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
SidplayDecoderPlugin.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
SidplayDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
SndfileDecoderPlugin.cxx decoder/sndfile: use decoder_read_full() 2014-07-11 21:18:44 +02:00
SndfileDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
VorbisComments.cxx *: use nullptr instead of NULL 2013-10-28 23:58:17 +01:00
VorbisComments.hxx ReplayGainInfo: use CamelCase for struct name 2013-10-25 19:12:38 +02:00
VorbisDecoderPlugin.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
VorbisDecoderPlugin.h decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
VorbisDomain.cxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
VorbisDomain.hxx *: update copyright year to 2013 2013-10-30 23:37:06 +01:00
WavpackDecoderPlugin.cxx ReplayGainInfo: refactor to a class 2013-10-25 19:12:46 +02:00
WavpackDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
WildmidiDecoderPlugin.cxx decoder: rename the struct to "Decoder" 2013-10-21 21:12:37 +02:00
WildmidiDecoderPlugin.hxx decoder_plugin: rename struct to DecoderPlugin 2013-10-21 20:31:34 +02:00
XiphTags.cxx TagTable: un-inline the two functions 2013-09-04 23:57:30 +02:00
XiphTags.hxx Tag*: move TagTable.hxx to libtag.a 2013-09-04 23:54:37 +02:00