summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-10-08config/Parser: use std::size_tMax Kellermann
2020-10-08config/{Data,Block}: use With() in GetUnsigned(), GetPositive()Max Kellermann
2020-10-08event/Loop: forward-declare class TimerEventMax Kellermann
2020-10-08event/TimerEvent: use base_hook instead of member_hookMax Kellermann
2020-10-08event/Loop: use `using` instead of `typedef`Max Kellermann
2020-10-06event/Loop: set the uring_initialized flagMax Kellermann
Don't attempt to initialize the io_uring subsystem more than once.
2020-10-05playlist/cue/parser: use lambda to fix ambiguous overloadMax Kellermann
On Windows, there is an IsWhitespaceOrNull() overload with TCHAR, and the compiler doesn't know which one to pass to std::find_if().
2020-10-05playlist/cue/parser: use StringView internallyMax Kellermann
Don't copy the input StringView.
2020-10-05playlist/cue/parser: pass StringView to Feed()Max Kellermann
2020-10-05playlist/cue/parser: add `noexcept`Max Kellermann
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-10-02output/Interface: add virtual method Interrupt()Max Kellermann
This allows interrupting the output thread (for some plugins which implement this method). This way, operations can be canceled properly, instead of waiting for some external entity.
2020-10-02output/Thread: simplify the main loop switchMax Kellermann
Move the InternalPlay() call and the wake_cond.wait() call into the `case Command::NONE` and revert all `continue` statements to a simple `break`.
2020-10-01output/Interface: add `noexcept`Max Kellermann
2020-10-01output/Filtered: move try/catch from IteratePause() to callerMax Kellermann
2020-09-30Merge remote-tracking branches 'neheb/defa', 'neheb/auto' and ↵Max Kellermann
'neheb/clocale' into master
2020-09-29remove clocale testRosen Penev
clocale is part of C++11. In practical terms, gcc's libstdc++ comes with its own locale defines when the libc does not have them. Also reworked to be dependent on !ANDROID. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-26clang-tidy: remove pointless std::moveRosen Penev
Found with performance-move-const-arg Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-26clang-tidy: use autoRosen Penev
Found with modernize-use-auto Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-23db/upnp: store UPnPDirContent in local variableMax Kellermann
Fixes use-after-free because the temporary goes out of scope.
2020-09-23LogLevel: rename DEFAULT to NOTICEMax Kellermann
"DEFAULT" is a bad name - all it says is that it's the default value, but it doesn't say what it means. The name NOTICE mimics the syslog level.
2020-09-23LogInit: provide mappings for LogLevel::{ERROR,WARNING}Max Kellermann
2020-09-23LogInit: rename "secure" to "info"Max Kellermann
Calling this "secure" never made sense. Messages about client connects are just a small part of what gets logged as "secure", a.k.a. "info".
2020-09-23LogInit: use StringIsEqual()Max Kellermann
2020-09-23decoder/ffmpeg: support album artMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/892
2020-09-23input/uring: safe cancellationMax Kellermann
My concept with `class CancellableOperation` doesn't work properly, because the kernel may continue to write to the given buffer as soon as the read finishes. To fix this, this commit adds `class ReadOperation` which owns the buffer and the `struct iovec`. Instances of this class persist until the read really finishes, even if the operation is canceled.
2020-09-22io/uring/Operation: add method ReplaceUring()Max Kellermann
2020-09-22io/uring/Operation: add API documentationMax Kellermann
2020-09-22net/SocketError: work around -Wvla by defining a constexpr variableMax Kellermann
2020-09-21Merge tag 'v0.21.26' into masterMax Kellermann
release v0.21.26
2020-09-21archive/iso9660: fix odd seeking bug (assertion failure)Max Kellermann
Skip the beginning of a sector if the last seek was odd, and clear the buffer on seek.
2020-09-21archive/iso9660: remove unused macro CEILING()Max 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-21decoder/ffmpeg: pass InputStream by pointerMax Kellermann
Prepare for an implementation without InputStream.
2020-09-21decoder/plugin: add method protocols()Max Kellermann
Similar to commit 4e2a551f30c1e1db13933d15c44d9186a2f37959 but for decoder plugins. This is tailored for the FFmpeg decoder plugin which implements some protocols (e.g. RTSP) as demuxer plugin.
2020-09-21CommandLine: reindent lambdasMax Kellermann
2020-09-21archive/iso9660: fix odd seeking bug (assertion failure)Max Kellermann
Skip the beginning of a sector if the last seek was odd, and clear the buffer on seek.
2020-09-21input/ffmpeg: add "hls+http://" to the list of supported protocolsMax Kellermann
Same as e10b867fe6ffbac1ac37a333dbd69597e4fc9f03 but it got lost in the merge, because the v0.22 branch uses a different way to detect supported protocols at runtime.
2020-09-21input/Plugin: add `noexcept`Max Kellermann
2020-09-21archive/iso9660: remove unused function CEILING()Max Kellermann
2020-09-21Merge branch 'v0.21.x' into masterMax Kellermann
2020-09-21util/ByteOrder: add FromLE16S()Max Kellermann
2020-09-21Support opus header gain tags and match opus playback volume to other tracks ↵Desuwa
when ReplayGain is enabled.
2020-09-21fix double promotionsRosen Penev
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-21Merge branch 'gcc5' of git://github.com/neheb/MPD into masterMax Kellermann
2020-09-17Merge branch 'v0.21.x' into masterMax Kellermann