summaryrefslogtreecommitdiff
path: root/NEWS
AgeCommit message (Collapse)Author
2021-01-21protocol: add command "binarylimit"Max Kellermann
Increasing the protocol version to 0.22.4 to allow clients to detect this feature. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1038
2021-01-21python/build/libs.py: build CURL with OpenSSL supportMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1059
2021-01-21db/simple/Song: Export() merges tags with "target"Max Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1048
2021-01-21SongPrint: use LightSong::GetDuration()Max Kellermann
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
2021-01-20command/file: use %zu to format a size_tMax Kellermann
`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
2021-01-05Merge branch 'bugfix/1039/fix-webdav' of git://github.com/PVince81/MPD into ↵Max Kellermann
v0.22.x Closes https://github.com/MusicPlayerDaemon/MPD/issues/1039
2020-11-16filter/ffmpeg: detect the output sample formatMax Kellermann
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
2020-11-15Fixes #994 - moveoutput: new AudioOutputControl created from copyMoving an ↵Stapper
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.
2020-11-10decoder/dsdiff: apply padding to odd-sized chunksMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1001
2020-11-06increment version number to 0.22.4Max Kellermann
2020-11-06release v0.22.3v0.22.3Max Kellermann
2020-11-06storage/curl: fix nullptr dereferenceMax Kellermann
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
2020-11-04filter/LoadChain: use the AutoConvertFilterMax Kellermann
This adds support for input samples other than 16 bit to the FFmpeg filter plugin.
2020-11-04filter/ffmpeg: interleave the output AVFrameMax Kellermann
If the FFmpeg filter outputs planar data, interleave it, just like the FFmpeg decoder plugin does.
2020-11-04filter/chain: copy the child nameMax Kellermann
filter_chain_parse() passes a temporary string pointer which results in a use-after-free in the PreparedChainFilter::Child::Open() error message.
2020-11-04increment version number to 0.22.3Max Kellermann
2020-11-04playlist/registry: add option "as_directory"Max Kellermann
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.
2020-10-28release v0.22.2v0.22.2Max Kellermann
2020-10-28meson_options.txt: disable the "smbclient" plugin by defaultMax Kellermann
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
2020-10-28lib/yajl/Handle: strip newlines from error messagesMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/981
2020-10-28Main: save the state_file on shutdownMax Kellermann
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
2020-10-28db/simple: purge songs for unavailable decoder plugins on updateMax Kellermann
2020-10-27db/simple: purge special directories for unavailable plugins on updateMax Kellermann
2020-10-27increment version number to 0.22.2Max Kellermann
2020-10-17release v0.22.1v0.22.1Max Kellermann
2020-10-16decoder/opus: fix track/album ReplayGain fallbackMax Kellermann
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
2020-10-16decoder/opus: submit output_gain even if there is no OpusTags packetMax Kellermann
2020-10-08config/Data: cast to std::chrono::steady_clock::duration properlyMax Kellermann
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.
2020-10-05playlist/cue/parser: fix nullptr dereferenceMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/974
2020-10-05playlist/cue/parser: fix off-by-one buffer overflowMax Kellermann
cue_next_word() can return a pointer one past the end of the string if the word is followed by the terminating null byte.
2020-10-02output/jack: implement Interrupt()Max Kellermann
2020-10-02output/pulse: implement Interrupt()Max Kellermann
2020-10-02output/alsa: implement Interrupt()Max Kellermann
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
2020-09-23increment version number to 0.22.1Max Kellermann
2020-09-23release v0.22v0.22Max Kellermann
2020-09-23NEWS: update recommended compilersMax Kellermann
2020-09-21Merge tag 'v0.21.26' into masterMax Kellermann
release v0.21.26
2020-09-21release v0.21.26v0.21.26v0.21.xMax Kellermann
2020-09-21decoder/ffmpeg: implement protocols() and uri_decode() (for RTSP)Max Kellermann
This implements the feature that was missing/broken in this bug report: https://github.com/MusicPlayerDaemon/MPD/issues/930
2020-09-21Merge branch 'v0.21.x' into masterMax Kellermann
2020-09-21Support opus header gain tags and match opus playback volume to other tracks ↵Desuwa
when ReplayGain is enabled.
2020-09-17Merge branch 'v0.21.x' into masterMax Kellermann
2020-09-17db/update/InotifyUpdate: obey `.mpdignore` filesMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/846
2020-09-16player/Thread: call OnPlayerSync() in SeekDecoder()Max Kellermann
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
2020-09-16LogBackend: change the initial log_threshold to DEFAULTMax Kellermann
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
2020-09-16decoder/ffmpeg: add "hls+http://" to the list of supported protocolsMax Kellermann
2020-09-16decoder/ffmpeg: remove "rtsp://" from the list of supported protocolsMax Kellermann
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
2020-09-07Merge branch 'v0.21.x' into masterMax Kellermann
2020-09-07archive/iso9660: implement seekingMax Kellermann
2020-09-07archive/iso9660: fix unaligned readsMax Kellermann
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.