libmad hasn't been maintained for many many years, while libmpg123 is
still maintained.
Our "mad" plugin can't do streams, but MPD will automatically fall
back to "mad" (or "ffmpeg") for streams.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1954
This bug introduced by commit 49ed9dae34f29f499d193490af2c8a869d170e8e
and activated by commit acc1bd6297ed4550f2e567aa2d2d27ffc6784629
caused leading spaces to disappear from the beginning of all file
names.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1961
After all these years, we had this as a field but there was never a
way to change the value. So let's just hard-code it until we actually
have a reason to make it variable at runtime.
Turns out that `AVAHI_CLIENT_S_COLLISION` can occur after
`AVAHI_CLIENT_S_RUNNING`, and `connected==true`. Relaxing this fixes
a bogus assertion failure.
Since the very beginning when idle subscriptions where introduced
(commit 0bad84066bc12), waiting for a certain idle mask would clear
all other idle flags as well. This would cause idle events to get
lost.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1998
Previously, inode numbers were truncated to 32 bits, which could lead
to problems on XFS where inodes are 64 bit; this could lead to bogus
"recursive directory found" errors during database update.
[mk: added commit description and NEWS line]
Closes https://github.com/MusicPlayerDaemon/MPD/issues/2000
The three new compare operators "eq", "gt" and "lt" are casting the values to int.
Sort supports:
- uri: sort by uri
- value: sort by value as string
- value_int: casts value to int
Closes#1894
This allows editing the list of services at any time instead of
passing a constant list at construction time. To do this, Service
instances are now caller-owned and managed in an IntrusiveList instead
of Publisher-owned in a std::forward_list.
Prepares making the service list dyammic; the DeferEvent not only
moves the operation out of the current stack frame, but also allows
combining several AddService() calls.