| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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!
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
A mutex acts as a memory barrier, and thus "volatile" is not
necessary.
|
| | |
| | |
| | |
| | | |
Fixes buffer overflow bug.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Use the new uri_get_suffix() overload that removes the query string.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit f0be48ff90503d9ffa5b295fd4454eec753950ee
(except for the NEWS entry).
If libdispatch (GCD) is used before forking, it
can't safely be used again after forking.
|
| | | |
|
| | |
| | |
| | |
| | | |
Negating an unsigned integer does not work.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Works around the "PCM conversion from f to dsd is not implemented"
error message that prevents DSD playback.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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!
|
| | |
| | |
| | |
| | | |
configured
|
| | |
| | |
| | |
| | | |
For free().
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pulseaudio expects clients to specify their channel-map if the
default (ALSA) map does not route the audio to the expected speakers.
Many Google results suggest dealing with this by re-routing the audio
channels with the appropriate ALSA plugin, but this will then simply
break any clients which expect the default ALSA mapping.
Virtually all media files and codecs, certainly flac, dca, a52, and of
course anything based on Microsoft's WAVEFORMAT_EXTENSIBLE specification,
assume the layout in the table here:
http://en.wikipedia.org/wiki/Surround_sound#Standard_speaker_channels
Fortunately, pulseaudio directly addresses this with a built-in channel
map for WAVE-EX which can be set automatically in the stream sample-spec.
|
|/ / |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
MPD_PATH_MAX_UTF8 is only used by GLib-specific code currently.
|
| | |
|
| |
| |
| |
| |
| | |
Abort if --enable-libmpdclient or --enable-upnp are used with
--disable-database, instead of ignoring the mismatch silently.
|
| | |
|
| |
| |
| |
| | |
Fixes memory leak because ao_plugin_close() never gets called.
|
| |
| |
| |
| | |
Be consistent.
|
| |
| |
| |
| |
| | |
A mutex acts as a memory barrier, and thus "volatile" is not
necessary.
|
| |
| |
| |
| |
| | |
Use the "_format" parameter instead of the (uninitialized) "format"
attribute.
|
| |
| |
| |
| |
| | |
Report unsupported format while opening the filter, not later when the
first conversion takes place.
|
| |
| |
| |
| |
| | |
Fixes assertion failure in destructor by not assigning
{src,dest}_format when an error occurs.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Fixes truncated lines in m3u and cue files (regression by commit
67958f7).
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The file systemd/mpd.service.in is being distributed implicitly, but
systemd/mpd.socket is not and needs to be added to EXTRA_DIST.
|