| 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!
|
| | |
|
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes buffer overflow bug.
|
| |
| |
| |
| |
| |
| |
| |
| | |
MPD handles all strings in UTF-8 internally. Those decoders which
read Latin-1 tags are supposed to implement the conversion, instead of
passing Latin-1 to TagBuilder::AddItem(). FixTagString() is simply
the wrong place to do that, and hard-coding Latin-1 is kind of
arbitrary.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Share the NFS connection with the NFS input plugin.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Read all directory entries into memory and close the struct nfsdir
before returning the StorageDirectoryReader instance. This is what
libnfs does, anyway.
|