Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-10-08 | config/Parser: use std::size_t | Max Kellermann | |
2020-10-08 | config/{Data,Block}: use With() in GetUnsigned(), GetPositive() | Max Kellermann | |
2020-10-08 | event/Loop: forward-declare class TimerEvent | Max Kellermann | |
2020-10-08 | event/TimerEvent: use base_hook instead of member_hook | Max Kellermann | |
2020-10-08 | event/Loop: use `using` instead of `typedef` | Max Kellermann | |
2020-10-06 | event/Loop: set the uring_initialized flag | Max Kellermann | |
Don't attempt to initialize the io_uring subsystem more than once. | |||
2020-10-05 | playlist/cue/parser: use lambda to fix ambiguous overload | Max 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-05 | playlist/cue/parser: use StringView internally | Max Kellermann | |
Don't copy the input StringView. | |||
2020-10-05 | playlist/cue/parser: pass StringView to Feed() | Max Kellermann | |
2020-10-05 | playlist/cue/parser: add `noexcept` | Max Kellermann | |
2020-10-05 | playlist/cue/parser: fix nullptr dereference | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/974 | |||
2020-10-05 | playlist/cue/parser: fix off-by-one buffer overflow | Max 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-02 | output/jack: implement Interrupt() | Max Kellermann | |
2020-10-02 | output/pulse: implement Interrupt() | Max Kellermann | |
2020-10-02 | output/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-02 | output/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-02 | output/Thread: simplify the main loop switch | Max 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-01 | output/Interface: add `noexcept` | Max Kellermann | |
2020-10-01 | output/Filtered: move try/catch from IteratePause() to caller | Max Kellermann | |
2020-09-30 | Merge remote-tracking branches 'neheb/defa', 'neheb/auto' and ↵ | Max Kellermann | |
'neheb/clocale' into master | |||
2020-09-29 | remove clocale test | Rosen 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-26 | clang-tidy: remove pointless std::move | Rosen Penev | |
Found with performance-move-const-arg Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||
2020-09-26 | clang-tidy: use auto | Rosen Penev | |
Found with modernize-use-auto Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||
2020-09-23 | db/upnp: store UPnPDirContent in local variable | Max Kellermann | |
Fixes use-after-free because the temporary goes out of scope. | |||
2020-09-23 | LogLevel: rename DEFAULT to NOTICE | Max 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-23 | LogInit: provide mappings for LogLevel::{ERROR,WARNING} | Max Kellermann | |
2020-09-23 | LogInit: 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-23 | LogInit: use StringIsEqual() | Max Kellermann | |
2020-09-23 | decoder/ffmpeg: support album art | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/892 | |||
2020-09-23 | input/uring: safe cancellation | Max 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-22 | io/uring/Operation: add method ReplaceUring() | Max Kellermann | |
2020-09-22 | io/uring/Operation: add API documentation | Max Kellermann | |
2020-09-22 | net/SocketError: work around -Wvla by defining a constexpr variable | Max Kellermann | |
2020-09-21 | Merge tag 'v0.21.26' into master | Max Kellermann | |
release v0.21.26 | |||
2020-09-21 | archive/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-21 | archive/iso9660: remove unused macro CEILING() | Max Kellermann | |
2020-09-21 | decoder/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-21 | decoder/ffmpeg: pass InputStream by pointer | Max Kellermann | |
Prepare for an implementation without InputStream. | |||
2020-09-21 | decoder/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-21 | CommandLine: reindent lambdas | Max Kellermann | |
2020-09-21 | archive/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-21 | input/ffmpeg: add "hls+http://" to the list of supported protocols | Max 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-21 | input/Plugin: add `noexcept` | Max Kellermann | |
2020-09-21 | archive/iso9660: remove unused function CEILING() | Max Kellermann | |
2020-09-21 | Merge branch 'v0.21.x' into master | Max Kellermann | |
2020-09-21 | util/ByteOrder: add FromLE16S() | Max Kellermann | |
2020-09-21 | Support opus header gain tags and match opus playback volume to other tracks ↵ | Desuwa | |
when ReplayGain is enabled. | |||
2020-09-21 | fix double promotions | Rosen Penev | |
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||
2020-09-21 | Merge branch 'gcc5' of git://github.com/neheb/MPD into master | Max Kellermann | |
2020-09-17 | Merge branch 'v0.21.x' into master | Max Kellermann | |