| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | | |
Fixes crash in the "audiofile" decoder while logging the seek error.
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | | |
Fixes playback of redirected streams.
|
| | | |
|
| | | |
|
| |\| |
|
| | | |
|
| | |
| | |
| | |
| | | |
Use the new uri_get_suffix() overload that removes the query string.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |
| |
| |
| | |
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).
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes deadlock bug in the "mms" plugin.
|
| | |
|
| |
| |
| |
| |
| | |
Export it from the protected base class. This fixes a build failure
on Mac OS X.
|