music player daemon (fork)
Go to file
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
doc doc/protocol: fix description of "stats" response 2014-08-31 13:16:39 +02:00
m4 decoder/faad: remove workaround for ancient libfaad2 ABI bug 2014-11-02 11:50:56 +01:00
scripts scripts: delete obsolete scripts 2013-04-17 00:37:30 +02:00
src decoder/faad: remove workaround for ancient libfaad2 ABI bug 2014-11-02 11:50:56 +01:00
test test/test_protocol: add missing stdlib.h include 2014-09-24 23:03:28 +02:00
.gitignore test/test_protocol: unit test for protocol/ArgParser.cxx 2014-09-04 17:10:30 +02:00
AUTHORS AUTHORS: add new authors 2013-10-31 00:23:41 +01:00
COPYING Update the text of the GPLv2, this fixes the address and a few other oddities. 2008-12-20 19:02:09 -08:00
INSTALL doc: show .tar.xz in sample unpack command 2013-11-08 12:29:04 +01:00
Makefile.am configure.ac: add option to disable the DSD decoders 2014-09-26 09:29:18 +02:00
NEWS decoder/faad: remove workaround for ancient libfaad2 ABI bug 2014-11-02 11:50:56 +01:00
README Word wrap to 80 char lines 2008-12-20 19:27:02 -08:00
UPGRADING UPGRADING: added a 0.14 section 2008-11-05 21:27:30 +01:00
autogen.sh Makefile.am: require automake 1.11 2011-10-09 18:32:55 +02:00
configure.ac configure.ac: show DSD in result 2014-11-02 11:50:56 +01:00
mpd.service.in mpd.service: depend on network.target 2012-11-21 17:26:23 +01:00
valgrind.suppressions valgrind.suppressions: add g_get_home_dir suppression 2013-10-18 01:14:31 +02:00

README

		       Music Player Daemon (MPD)
			http://www.musicpd.org

A daemon for playing music of various formats.  Music is played through the 
server's audio device.  The daemon stores info about all available music, 
and this info can be easily searched and retrieved.  Player control, info
retrieval, and playlist management can all be managed remotely.

For basic installation information see the INSTALL file.

MPD is released under the GNU General Public License version 2, which is
distributed in the COPYING file.

You should have received a copy of the GNU General Public License along with
this program.  If not, see <http://www.gnu.org/licenses/>.