pipewire/pipewire-alsa/alsa-plugins
Erik Fröbrant 552bca8595 pcm_pipewire: optimize by updating existing stream
pw_stream_connect can take a very long time to finish connecting. This
process continues after snd_pcm_pipewire_prepare has released lock on
pw->main_loop and during this time the device returns EBUSY on write
attempts. This adds a significant latency to playback compared to pre-
pipewire configurations. This is a problem when using for example
Gstreamer alsasink with tight time synchronization options since
GstAudioBaseSink keeps track of internal time by counting processed
samples. Also worth noting is that alsasink calls prepare often,
for example on receiving a caps event.

With this change an existing pipewire stream will be updated rather than
destroyed and re-created when prepare is called.
2022-10-06 15:13:03 +00:00
..
ctl_pipewire.c alsa: pass bool argument properly 2022-09-01 10:18:55 +02:00
meson.build meson.build: drop HAVE_CONFIG_H 2021-06-10 09:04:16 +10:00
pcm_pipewire.c pcm_pipewire: optimize by updating existing stream 2022-10-06 15:13:03 +00:00