| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
While seeking, metadata must not be updated. ResponseBoundary() was
added in MPD 0.19.1, but I forgot to add the IsSeeking() check there.
This caused the "seekable" flag to reset.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On "list albumartist", songs that have no AlbumArtist tag will use the
Artist tag. However, if AlbumArtist is disabled via
"metadata_to_use", the TagBuilder::AddItem() call is ignored, and
PrintUniqueTag() attempts to print a nullptr string.
This commit fixes the problem by attempting the fallback only if
AlbumArtist is not disabled.
|
| | | |
|
| | |
| | |
| | |
| | | |
Eliminate one implicit std::string copy.
|
| | | |
|
| | | |
|
| | | |
|
|\| | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
When uri_apply_base() was moved from db/upnp/Util.cpp to
util/UriUtil.cpp, the parameter order was changed, however without
swapping the parameters in the ContentDirectoryService constructor.
|
| | |
| | |
| | |
| | | |
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().
|
| | | |
|
| | | |
|