- 12 Nov, 2021 1 commit
-
-
Rosen Penev authored
SonarLint reports the latter to be better: std::scoped_lock basically provides the same feature as std::lock_guard, but is more generic: It can lock several mutexes at the same time, with a deadlock prevention mechanism (see {rule:cpp:S5524}). The equivalent code to perform simultaneous locking with std::lock_guard is significantly more complex. Therefore, it is simpler to use std::scoped_lock all the time, even when locking only one mutex (there will be no performance impact). Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 05 Aug, 2021 2 commits
-
-
Max Kellermann authored
If UpdateStreamTag() gets called while an initial seek is pending, the result will never be submitted to a MusicChunk. By avoiding the UpdateStreamTag() call in that case (by moving UpdateStreamTag() to after the PrepareInitialSeek() check), the song_tag is preserved until UpdateStreamTag() is called again from SubmitData(). This fixes missing tags in the "httpd" output. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1137
-
Max Kellermann authored
-
- 30 Jul, 2021 1 commit
-
-
Max Kellermann authored
-
- 25 Jun, 2021 1 commit
-
-
Max Kellermann authored
-
- 01 Jan, 2021 1 commit
-
-
Max Kellermann authored
-
- 21 Sep, 2020 1 commit
-
-
Rosen Penev authored
Found with -Wdouble-promotion Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 10 Jun, 2020 1 commit
-
-
Max Kellermann authored
When the client wants to seek, but the decoder has already finished decoding the current song, the player restarts the decoder with an initial seek at the new position. When this initial seek fails, MPD pretends nothing has happened and plays this song from the start. With this new flag, a restarted decoder marks the initial seek as "essential" and fails the decoder if that seek fails. Closes https://github.com/MusicPlayerDaemon/MPD/issues/895
-
- 09 Jun, 2020 1 commit
-
-
Max Kellermann authored
Before the advent of io_uring (commit dae8da70), this didn't matter, because the `FileInputStream` never called this. But `UringInputStream` is derived from `AsyncInputStream`, and needs the handler to signal completion. Closes https://github.com/MusicPlayerDaemon/MPD/issues/898
-
- 16 Mar, 2020 2 commits
-
-
Rosen Penev authored
Found with -Wdouble-promotion Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
Rosen Penev authored
Boost does not seem to offer an overload for lrint. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 12 Mar, 2020 1 commit
-
-
Rosen Penev authored
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 01 Feb, 2020 1 commit
-
-
Max Kellermann authored
-
- 18 Jan, 2020 1 commit
-
-
Max Kellermann authored
-
- 20 Aug, 2019 1 commit
-
-
Max Kellermann authored
This optimization is useless because sane pthread_cond_signal() implementations check the number of waiters and do not invoke a system call if there are none.
-
- 05 Jul, 2019 1 commit
-
-
Max Kellermann authored
-
- 17 Jun, 2019 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 31 May, 2019 1 commit
-
-
Max Kellermann authored
-
- 30 May, 2019 1 commit
-
-
Max Kellermann authored
-
- 07 May, 2019 1 commit
-
-
Max Kellermann authored
-
- 26 Apr, 2019 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Just like std::condition_variable, which however has no way to specify the std::mutex directly.
-
- 25 Apr, 2019 1 commit
-
-
Max Kellermann authored
-
- 05 Apr, 2019 5 commits
-
-
Max Kellermann authored
If the DecoderThread gets woken up by a STOP command, this should be detected as early as possible.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 04 Apr, 2019 1 commit
-
-
Max Kellermann authored
Let the constructor and destructor do this. This means that all users have to be converted to allocate PcmConvert dynamically.
-
- 19 Nov, 2018 1 commit
-
-
Max Kellermann authored
Since we switched from autotools to Meson in commit 94592c14, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
-
- 31 Oct, 2018 1 commit
-
-
Max Kellermann authored
-
- 21 Sep, 2018 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 02 Aug, 2018 1 commit
-
-
Max Kellermann authored
-
- 23 Jun, 2018 1 commit
-
-
Max Kellermann authored
This requires re-adding the reference to struct DecoderControl, which was removed recently by commit 9f14e7a9
-
- 22 Jun, 2018 3 commits
-
-
Max Kellermann authored
Make all uses of MusicChunk safe.
-
Max Kellermann authored
This tiny amount of overhead allows omitting the MusicBuffer in Clear().
-
Max Kellermann authored
This adds a bit of overhead, but also adds flexibility to the API, because arbitrary triggers may be invoked from that virtual method implementation, not just Cond::signal(). The motivation for this is to make the handlers more dynamic, for the upcoming buffering class utilizing ProxyInputStream.
-