output/pipewire: attempt to change the graph sample rate

Requires PipeWire 0.3.32.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1283
This commit is contained in:
Max Kellermann 2021-10-18 16:45:21 +02:00
parent c112cb60da
commit d5be8c74b0
2 changed files with 8 additions and 0 deletions

1
NEWS
View File

@ -1,5 +1,6 @@
ver 0.23.1 (not yet released)
* output
- pipewire: attempt to change the graph sample rate
- snapcast: fix time stamp bug which caused "Failed to get chunk"
* fix libfmt linker problems
* fix broken password authentication

View File

@ -383,6 +383,13 @@ PipeWireOutput::Open(AudioFormat &audio_format)
if (target != nullptr && target_id == PW_ID_ANY)
pw_properties_setf(props, PW_KEY_NODE_TARGET, "%s", target);
#ifdef PW_KEY_NODE_RATE
/* ask PipeWire to change the graph sample rate to ours
(requires PipeWire 0.3.32) */
pw_properties_setf(props, PW_KEY_NODE_RATE, "1/%u",
audio_format.sample_rate);
#endif
const PipeWire::ThreadLoopLock lock(thread_loop);
stream = pw_stream_new_simple(pw_thread_loop_get_loop(thread_loop),