Age | Commit message (Collapse) | Author |
|
|
|
Was broken by commit 8a86460b8f054a42130a4b59e082b66d921d2a1b
Closes #87
|
|
Addresses #82.
Previously, the ffmpeg decoder only checked for the "generic"
MusicBrainz metadata keys used in other metadata container formats.
|
|
|
|
|
|
release v0.20.9
|
|
|
|
This commit is similar to 788e3b31e1ab8243386339eaf136ede18f015d55,
and removes more "pure" attributes which were placed on functions that
could throw exceptions, which is illegal according to clang's
understanding of the attribute (but not according to GCC's). GitHub
issue #58 was most likely about StorageDirectoryReader::GetInfo() and
Storage::GetInfo(), which still had "pure" attributes.
Closes #58
|
|
Add ffmpeg decoder support for *.adx files (Sega game console)
Closes #60
|
|
Patch from
https://svnweb.freebsd.org/ports/head/audio/musicpd/files/patch-src_system_ByteOrder.hxx?revision=441921&view=co
(with a tiny modification)
Closes #59
|
|
|
|
release v0.20.8
|
|
|
|
|
|
|
|
|
|
Fixes build failure on OS X, closes #44. With the other plugins,
that's not critical, because those use the AudioOutputWrapper, which
hides this problem.
|
|
|
|
release v0.20.7
|
|
|
|
Closes #34
|
|
|
|
The "pure" and "const" attributes are not so well-defined, and a
recent clang version implements an optimization which pushes the
definition's boundary beyond what I believed it was. clang now
assumes that functions declared "pure" cannot throw exceptions, even
if they lack the "noexcept" specification.
When compiled with this new clang version, MPD will crash randomly if
an exception happens to get thrown by such as "pure" function
(https://github.com/MusicPlayerDaemon/MPD/issues/41).
This commit removes all such misplaced "pure" and "const" attributes,
closing #41.
|
|
Closes #31
|
|
|
|
|
|
An ino_t is usually a 64 bit integer, and some file systems (such as
Linux's kernel NFS client) really uses the upper 32 bit. This can
lead to false positives in the directory loop detection in
FindAncestorLoop(). Increasing these two attributes (in
StorageFileInfo and Directory) to 64 bit adds little overhead, but
makes the check a lot safer.
|
|
|
|
release v0.20.6
|
|
|
|
|
|
The TAG_MODIFIED handler (i.e. playlist::TagModified()) works only if
the modified song is the current song - something that is not updated
until SYNC_WITH_PLAYER is finished. This fixes tag updates right
after a new song is started.
|
|
https://bugs.musicpd.org/view.php?id=4665
|
|
This repairs the damage to commit 74dbaade6fa done by commit
b3f5b4932c3
|
|
std::rethrow_if_nested() workaround
|
|
https://bugs.musicpd.org/view.php?id=4656 describes a crash due to
division by zero because frame.samples==0. This should never happen,
but apparently can happen after seeking. The best we can do is to
just ignore this frame.
|
|
|
|
release v0.20.5
|
|
|
|
|
|
Fixes another buffer overflow: if the stream has a very long title or
URL, resulting in a metadata string of more than 2 kB, icy_string[0]
is a negative value, which gets casted to size_t - ouch!
https://bugs.musicpd.org/view.php?id=4652
|
|
Use SND_PCM_NONBLOCK, and perform all snd_pcm_writei() calls in the
IOThread. Use a lockless queue to copy data from the OutputThread to
the IOThread.
This rather major change aims to improve MPD's internal latency. All
waits are now under MPD's control, instead of blocking inside
libasound2.
As a side effect, an output's filter is now decoupled from the actual
device I/O, which solves a major latency problem with the conversion
filter on slow CPUs and small period buffers. See:
https://bugs.musicpd.org/view.php?id=3900
|
|
|
|
Fixes potential crash bug.
|
|
The libsidplayfp fork has merged libsidutils into the main library.
The libsidutils we used to link with was part of the original
libsidplay project.
|
|
Implement the second part of https://bugs.musicpd.org/view.php?id=3990
|
|
The "tagtypes" command now has several sub commands which can be used
to edit that mask.
|
|
|
|
|
|
|