- 21 May, 2023 2 commits
-
-
Naïm Favier authored
-
Max Kellermann authored
-
- 17 Jan, 2023 1 commit
-
-
Max Kellermann authored
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1721
-
- 14 Oct, 2022 1 commit
-
-
Max Kellermann authored
It is not explicitly documented whether snd_pcm_name() is allowed to return NULL: https://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga5031edc0422df8db1f70af056a12dd77 But apparently this is legal: https://github.com/alsa-project/alsa-lib/blob/0222f45d11e8b71bf651b985b00fdb0addbf3eed/src/pcm/pcm.c#L2761-L2762 That's ... surprising! Closes https://github.com/MusicPlayerDaemon/MPD/issues/1645
-
- 08 Aug, 2022 2 commits
-
-
Max Kellermann authored
Eliminate global variables, convert them to MixerMemento fields. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1583
-
Dave Hocker authored
This PR provides forward and backward compatibility at macos SDK 12.0. At SDK 12.0, API function names were changed essentially replacing occurrences of the word Master/master with Main/main. This change was test built on two different systems. 1. macos 10.15.7 with Xcode 12.4 and clang 12.0.0 on x86_64 2. macos 12.5 with Xcode 13.4.1 and clang 13.1.6 on arm64 (Apple silicon M1) It should be noted that on macos 10.15.7 with Xcode 11.2 and clang 11.0, MPD will not build. The MPD documentation states that clang 11.0 is the minimum requirement, but clang 11.0 produces compile errors. Apparently the macos version of clang 11.0 is not fully compliant.
-
- 12 Jul, 2022 1 commit
-
-
guihkx authored
Closes #1564
-
- 08 Jul, 2022 17 commits
-
-
Max Kellermann authored
Deactivate the stream in Cancel(). This fixes stuttering after a manual song change by refilling the whole ring buffer before reactivating the stream. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1354
-
Max Kellermann authored
Clear not only MPD's ring buffer, but also libpipewire's buffers, to avoid playing some audio from the previous song after a manual song change. Fixes part 1 of https://github.com/MusicPlayerDaemon/MPD/issues/1354
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Removing the LockHasClients(); this code was copied from the "httpd" output plugin, but unlike "httpd", the SnapCast output plugin does not feed silence while paused, so we need to implement a delay to avoid busy-looping the CPU. As a side effect, this eliminates the suttering after resuming playback, because the timer now gets reset even if there is a client. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1394
-
Max Kellermann authored
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1484
-
Max Kellermann authored
After connecting, PipeWire sometimes sends SPA_PROP_channelVolumes with no values, and this led to "volume=-NaN".
-
Max Kellermann authored
Since PipeWire 0.3.53, there is no control name anymore, therefore the name check doesn't work anymore, breaking volume change events. This obsoletes the crash bug fix in commit 2ee57f9b
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Fixes a potential crash bug.
-
Max Kellermann authored
This is a lower-level function without some of the clutter of PipeWireOutput::SetVolume() which is not needed in that case.
-
Max Kellermann authored
-
Max Kellermann authored
If the PipeWire output has not yet been enabled and no thread_loop has been created yet, a nullptr dereference in SetVolume() was possible because nullptr was passed to pw_thread_loop_lock().
-
Max Kellermann authored
This reveals more about the nature of an error instead of just returning "problems setting volume".
-
- 04 Jul, 2022 1 commit
-
-
Max Kellermann authored
Since PipeWire 0.3.53, control names can apparently be nulled, leading to crashes in applications assertion that the string cannot be nullptr. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1558
-
- 24 May, 2022 1 commit
-
-
Dave Hocker authored
-
- 26 Apr, 2022 10 commits
-
-
Max Kellermann authored
Even if the "wave_encoder" option is disabled (and no other encoder plugins are enabled), forcefully enable the Wave encoder (if Snapcast is enabled). Closes https://github.com/MusicPlayerDaemon/MPD/issues/1500
-
Arsen Arsenović authored
Previous versions of MPD would call SetVolume on enabled outputs before they are ready, causing all of MPD to crash. Checking the really_enabled flag prevents this, though it also prevents setting volume before the player starts. Before (with the PipeWire output): [i] ~$ mpc clear volume: 81% repeat: off random: off single: off consume: off [i] ~$ systemctl --user restart mpd.service [i] ~$ mpc volume 100 MPD error: Connection closed by the server [i] ~ 1 $ After: [i] ~$ # mpd is freshly started w/o anything in the queue [i] ~$ mpc volume:100% repeat: off random: off single: off consume: off [i] ~$ mpc volume 80 MPD error: problems setting volume [i] ~ 1 $ mpc volume:100% repeat: off random: off single: off consume: off [i] ~$
-
Arsen Arsenović authored
Previous versions of MPD would, on parameter change, set the PipeWire volume before clearing the restore_volume flag, causing the call to short circuit and do nothing. Instead, clear the flag before the call.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
This version was released 7 years ago, and it's reasonable to require at least this version.
-
Max Kellermann authored
-
Max Kellermann authored
Fixes -Wunused-result
-
- 14 Mar, 2022 1 commit
-
-
Richard Schorrig authored
Wasapi output plugin won't start playing after being paused The cause is that the scope guard in the WASAPI work thread (WasapiOutputPlugin.cxx, function WasapiOutputThread::Work(), in the while (true) loop) is set up too 'late' in the execution. There is one condition ("if (data_in_frames >= buffer_size_in_frames)") when it is hit, the loop will continue without executing the scope guard. This scope guard is responsible for emptying the buffer again, and if the buffer is not emptied, the above mentioned condition will stay true. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1451
-
- 09 Mar, 2022 1 commit
-
-
Max Kellermann authored
Must be initialized for the check in SetVolume().
-
- 03 Dec, 2021 1 commit
-
-
Max Kellermann authored
-
- 26 Nov, 2021 1 commit
-
-
Rosen Penev authored
Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-