Age | Commit message (Collapse) | Author |
|
Increasing the protocol version to 0.22.4 to allow clients to detect
this feature.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1038
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1059
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1048
|
|
This properly prints the "Time"/"duration" values for songs in virtual
CUE folders.
This is loosely related to
https://github.com/MusicPlayerDaemon/MPD/issues/1048
|
|
`PRIoffset` was wrong, because it expects an `offset_type`
(i.e. `uint64_t`). This broke on 32 bit machines where `size_t` has
32 bits.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1058
|
|
v0.22.x
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1039
|
|
Some FFmpeg filters change the sample format, and since MPD assumes
this never happens, this results in loud noise instead of music. This
commit finally implements the TODO comment by sending one frame of
silence to the filter and checking the output frame's format.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1009
|
|
output to a partition is now done via MultipleOutputs::AddCopy(),using a new AudioOutputControl constructor. Tags and always_on settings willpersist when moving outputs between partitions.
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1001
|
|
|
|
|
|
Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting
it to std::string_view. This selects the right overload which returns
std::string_view instead of `const char *`; the latter could return
`nullptr` which would cause the implicit conversion of the return
value to std::string_view to crash.
Regression caused by commits ead208987dd and a98d627c0bd.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/995
|
|
This adds support for input samples other than 16 bit to the FFmpeg
filter plugin.
|
|
If the FFmpeg filter outputs planar data, interleave it, just like the
FFmpeg decoder plugin does.
|
|
filter_chain_parse() passes a temporary string pointer which results
in a use-after-free in the PreparedChainFilter::Child::Open() error
message.
|
|
|
|
This allows users to disable the "CUE files as directories" feature
without having to disable the CUE playlist plugin completely. This
feature has been annoying some users.
|
|
|
|
The bug https://bugzilla.samba.org/show_bug.cgi?id=11413 makes MPD
crash after at most a minute of using the plugin. Since this bug is
five years old already and it doesn't look like it will ever be fixed,
all libsmbclient code in MPD is scheduled for removal. For now, the
plugin is disabled by default so people are less likely to hit the
crash bug.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/991
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/981
|
|
This got lost in commit 5d597a3646cc (v0.21.19), but it was never
noticed because the state_file_interval was way too short due to
commit 3413d1bf23a, fixed recently by commit 27cc7b352d5
|
|
|
|
|
|
|
|
|
|
Fixes regression by commit 23d5a2b8620cea69958d087fc7e13fe1e5adb83d -
that commit always pretended that any Opus file has both track and
album gain, and thus disabled the fallback to the other if one is not
set.
This patch changes the logic to only submit ReplayGain if at least one
value is set, and apply the offset only to that value. If none is
available, then the new check in HandleAudio() will submit only the
output gain.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/977
|
|
|
|
Oh no, 3413d1bf23a was broken! Instead of passing a number as
"seconds" to the duration constructor, it just abused the duration
constructor as cast operator, which caused custom state_file_interval
settings to be extremely short.
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/974
|
|
cue_next_word() can return a pointer one past the end of the string if
the word is followed by the terminating null byte.
|
|
|
|
|
|
This allows canceling the blocking method LockWaitWriteAvailable(),
and thus allows breaking free of misbehaving ALSA drivers, avoiding a
MPD lockup.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/966
|
|
|
|
|
|
|
|
release v0.21.26
|
|
|
|
This implements the feature that was missing/broken in this bug
report: https://github.com/MusicPlayerDaemon/MPD/issues/930
|
|
|
|
when ReplayGain is enabled.
|
|
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/846
|
|
This fixes a spurious "single" mode bug which occurs when using "play"
or "seek" to start playback on the song that is currently paused: in
that case, the main thread never queues the next song, and at the end
of the song, the player thread exits Run(), stopping playback, and
after that, the main thread starts the next song without considering
"single" mode.
By calling OnPlayerSync(), we ensure that the main thread gets a
chance to queue the next song before the player thread exits the Run()
loop.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/850
|
|
The log levels have always been very confusing (and badly named), but
this was most confusing: if there's a log level called "default", why
is it not the default?
Closes https://github.com/MusicPlayerDaemon/MPD/issues/926
|
|
|
|
FFmpeg implements RTSP as a demuxer, not as a protocol handler. Thus,
avio_open() cannot be used, and our input plugin cannot handle RTSP.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/930
|
|
|
|
|
|
Oh the horror! This plugin cannot possibly ever have worked. It was
broken from the start, when it was added in commit 37796699cf7 nearly
twelve (!) years ago.
The plugin would always read at sector boundaries, so it could only
ever work at multiples of 2 kB.
|