Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio stuttering & PulseAudio "complaning" #294

Closed
b3nis opened this issue Sep 17, 2020 · 16 comments · Fixed by #356
Closed

Audio stuttering & PulseAudio "complaning" #294

b3nis opened this issue Sep 17, 2020 · 16 comments · Fixed by #356
Labels
audio-block Issues related to balena's audio block bug Something isn't working

Comments

@b3nis
Copy link

b3nis commented Sep 17, 2020

Describe the problem
Audio is stuttering and PulseAudio is reporting a lof of underruns. Only using one Pi 4 (2GB) (server and client on same device).

To Reproduce
Steps to reproduce the behavior:

  1. Deploy a fresh BalenaSound image to a Pi 4
  2. Boot it up
  3. Let it update
  4. Play music via Spotify Connect

Expected behavior
No audio stuttering.

Screenshots
Screenshot from 2020-09-17 22-21-59

Device information

  • Board (hardware info): Raspberry Pi 4 (2GB)
  • Device type (as seen in balenaCloud): I must be blind because I cannot see that...
  • balenaOS version: balenaOS 2.56.0+rev1
@b3nis b3nis added the bug Something isn't working label Sep 17, 2020
@AlexProgrammerDE
Copy link
Contributor

@b3nis hm this sounds weird. Can you try setting it to Standalone mode?

@duchu
Copy link

duchu commented Sep 19, 2020

@AlexProgrammerDE i have similar problem but for me there is no any audio. How i can switch to Standalone mode?

@tmigone
Copy link
Contributor

tmigone commented Sep 22, 2020

Hi @b3nis @duchu, switching to standalone won't change much. These underruns happen because PulseAudio starts with an aggressively short playback latency and increments it as needed. In my experience, it can happen quite often (as seen on the screenshot) when you start playback but will quickly stabilize and stop happening. Has this been your experience too?

Regardless, I'm investigating how we can be more lenient with the initial latency to avoid this problem. I've got a couple of avenues worth exploring but it might take a few days.

@jellyfish-bot
Copy link

[tmigone] This issue has attached support thread https://jel.ly.fish/59d9e7d8-26e1-4672-a289-fa6213841421

@tmigone
Copy link
Contributor

tmigone commented Oct 28, 2020

A couple users reported switching to STANDALONE mode does help. This warrants further investigation, I'll try get into it soon.

Also copying the warning message in plain text so it's easier to find it using search:

W: [pulseaudio] module-loopback.c: Too many underruns, increasing latency to 320.00 ms

@tmigone tmigone added the audio-block Issues related to balena's audio block label Oct 28, 2020
@xvisor16
Copy link

xvisor16 commented Nov 5, 2020

I am experiencing the same issues on a RPi 3B running 2.60.1+rev1. Stutter roughly occurs about 10 to 20 times a song and it isn't always the same length, it can be as short as 0.05 seconds, barely noticable but also up to a full second and everything in between. Sometimes I see the underrun message when it happens but sometimes I see different messages about Alsa failed to get chunk, see log snippet below:

05.11.20 16:56:59 (+0100) audio W: [pulseaudio] module-loopback.c: Too many underruns, increasing latency to 340.00 ms
05.11.20 16:57:11 (+0100) multiroom-server 2020-11-05 15-57-11 [Info] (onResync) onResync (balenaSound): 87 ms
05.11.20 16:57:12 (+0100) multiroom-server 2020-11-05 15-57-12 [Info] (do_read) next read < 0 (balenaSound): -0.596 ms
05.11.20 16:57:12 (+0100) multiroom-server 2020-11-05 15-57-12 [Info] (onResync) onResync (balenaSound): 118 ms
05.11.20 16:57:13 (+0100) multiroom-client 2020-11-05 15-57-13 [Info] (Stream) pMiniBuffer->full() && (abs(pMiniBuffer->mean()) > 50): -161896
05.11.20 16:57:16 (+0100) multiroom-server 2020-11-05 15-57-16 [Info] (do_read) next read < 0 (balenaSound): -21.858 ms
05.11.20 16:57:16 (+0100) multiroom-server 2020-11-05 15-57-16 [Info] (do_read) next read < 0 (balenaSound): -3.601 ms
05.11.20 16:57:17 (+0100) multiroom-server 2020-11-05 15-57-17 [Info] (onResync) onResync (balenaSound): 254 ms
05.11.20 16:57:17 (+0100) multiroom-server 2020-11-05 15-57-17 [Info] (onResync) onResync (balenaSound): 165 ms
05.11.20 16:57:17 (+0100) multiroom-server 2020-11-05 15-57-17 [Info] (do_read) next read < 0 (balenaSound): -23.261 ms
05.11.20 16:57:17 (+0100) multiroom-server 2020-11-05 15-57-17 [Info] (do_read) next read < 0 (balenaSound): -4.727 ms
05.11.20 16:57:17 (+0100) multiroom-server 2020-11-05 15-57-17 [Info] (onResync) onResync (balenaSound): 59 ms
05.11.20 16:57:17 (+0100) multiroom-client 2020-11-05 15-57-17 [Info] (Stream) abs(age > 500): 511300
05.11.20 16:57:17 (+0100) multiroom-client 2020-11-05 15-57-17 [Info] (Alsa) Failed to get chunk
05.11.20 16:57:19 (+0100) multiroom-client 2020-11-05 15-57-19 [Info] (Stream) pMiniBuffer->full() && (abs(pMiniBuffer->mean()) > 50): -129488

Don't know if that could be related? I have tried DISABLE_MULTI_ROOM = 1 which makes it less but doesn't completely resolve it. Load on the Pi is low, everything but memory is green in Balena but memory, max load on the device comes from pulseaudio which is about 6 a 7 percent on the host OS. In balena total load doesn't reach above 15%. Temp is 50c.
Hope this helps.

@tmigone
Copy link
Contributor

tmigone commented Nov 19, 2020

@xvisor16, @duchu, @b3nis

If you guys can help me out here I could use some logs with extra verbosity. You'll need to set environment variable AUDIO_LOG_LEVEL to DEBUG and then share with me the logs. You'll know it's on DEBUG mode because logs will show the following:

19.11.20 18:34:42 (-0300)  audio  --- Audio ---
19.11.20 18:34:42 (-0300)  audio  Starting audio service with settings:
19.11.20 18:34:42 (-0300)  audio  - Pulse log level: DEBUG

What I'm looking for in the logs is instances of this error occurring, so make sure you get a few:

W: [pulseaudio] module-loopback.c: Too many underruns, increasing latency to 320.00 ms

Thanks!

@xvisor16
Copy link

xvisor16 commented Nov 19, 2020

@tmigone
Here you go!

balena-sound2_white-snow-19.11.20_23_27_54_(+0100).txt

Bye the way if I can give you access to the devices or something that's fine by me!

@tmigone
Copy link
Contributor

tmigone commented Nov 20, 2020

Thanks @xvisor16, for the time being this should suffice. I'll let you know if I need access. Thank you.

tmigone added a commit that referenced this issue Nov 23, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
tmigone added a commit that referenced this issue Nov 23, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
tmigone added a commit that referenced this issue Nov 23, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also help with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
tmigone added a commit that referenced this issue Nov 23, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
@tmigone
Copy link
Contributor

tmigone commented Nov 23, 2020

@xvisor16, @duchu, @b3nis, @ChestersGarage hey there.

I just opened PR #356 which contains changes that should fix or at the very least drastically improve the audio stuttering related to the message:

Too many underruns, increasing latency to xxx.00 ms

Changes made are the following:

  1. Significantly reduce the CPU and I/O usage which were the biggest contributors to this problem, specially for multiroom scenarios. This probably improves performance on lesser devices too (Pi0 for instance). In my case, running multiroom on Pi 4's would always start with the initial latency value of 200msec and increase it all the way up to 270msec, but with this update it has never complained and is also smoother.

  2. Introduced a new environment variable SOUND_INPUT_LATENCY that allows you to directly set the latency that's causing the problem. If you are still having problems you can increase the base latency with this variable. You should let it run for a while until it stabilises and use whatever end value you found. This way the audio server won't go from 200msec all the way up to whatever value in 5msec increments but rather start at the end value. Downside is that you are adding a latency to the pipeline ofc.

As you can see, 1) is the actual fix while 2) is just an additional workaround. My hope is, and the limited testing I've done is in line with it, that you shouldn't need to set the SOUND_INPUT_LATENCY at all.

If you are interested in more details about this you can check the following:

Now the big ask :D I'd love it if you could try it and let me know how it goes! You'll need to deploy the application using the balena CLI or use this handy dandy DWB I created just for this purpose:

deploy button

Thanks!

tmigone added a commit that referenced this issue Nov 23, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
@xvisor16
Copy link

@tmigone Hi there, well one simple but satisfactory answer, YES! You fixed the issue, my Pi3 doesn't even up the latency at all, not even once! Thanks, now I can really start building my complete setup.

By the way, could I also experiment by setting the sound_input_latency even lower? Maybe like 50ms so it's more responsive??

@xvisor16
Copy link

Aw well I already tried, and found that's not possible...

25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 10.64 ms + 39.93 ms + -0.48 ms = 50.03 ms
25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 50.03 ms
25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: [snapcast] Updated sampling rate to 44100 Hz.
25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 64.65 ms + 145.87 ms + -9.67 ms = 200.65 ms
25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.65 ms
25.11.20 02:47:07 (+0100) audio D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44102 Hz.
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 18.82 ms + 35.06 ms + -3.76 ms = 50.03 ms
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 50.03 ms
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: [snapcast] Updated sampling rate to 44100 Hz.
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 45.43 ms + 163.85 ms + -8.44 ms = 200.74 ms
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.75 ms
25.11.20 02:47:17 (+0100) audio D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44103 Hz.
25.11.20 02:47:27 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 13.75 ms + 37.12 ms + -0.79 ms = 50.03 ms
25.11.20 02:47:27 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 50.03 ms
25.11.20 02:47:27 (+0100) audio D: [pulseaudio] module-loopback.c: [snapcast] Updated sampling rate to 44100 Hz.
25.11.20 02:47:27 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback overall latency is 65.86 ms + 154.41 ms + -19.61 ms = 200.59 ms
25.11.20 02:47:27 (+0100) audio D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.60 ms

But I am happy anyway!

@tmigone
Copy link
Contributor

tmigone commented Nov 27, 2020

Hey @xvisor16, glad this makes things better for you!! 💪 💪 💪 💪
In theory you can go with a latency as low as 1msec. In reality as you found out, the latency you configure is merely a suggestion made to pulseaudio, and it will increase if it's not possible to satisfy it.

I'll merge the PR soon so that it hits the master branch as I've seen mainly great feedback about it. Thanks again for helping out!

tmigone added a commit that referenced this issue Nov 27, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
ghost pushed a commit that referenced this issue Nov 27, 2020
- Update snapcast to v0.22.0-r0
- Replace FIFO stream source with ALSA which significantly reduces CPU and I/O usage (fixes #294)
- Add SOUND_INPUT_LATENCY and SOUND_OUTPUT_LATENCY env vars (also helps with #294)
- Reduce multiroom-server image with multi stage builds for a slimmer image
- Reduce verbose level for both multiroom services

Connects-to: #294
Change-type: minor
Signed-off-by: Tomás Migone <tomas@balena.io>
@ghost ghost closed this as completed in #356 Nov 27, 2020
@xvisor16
Copy link

xvisor16 commented Nov 28, 2020 via email

@heyarne
Copy link

heyarne commented Mar 13, 2021

I am using the my balena sound device as a pulseaudio tunnel sink as described in #422.
I am still quite frequently experiencing stuttering, at least once every 5 minutes or so. The relevant log entries:

Log output
13.03.21 19:53:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:53:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 59.80 ms + 207.87 ms + -67.27 ms = 200.32 ms
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.32 ms
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44101 Hz.
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 63.02 ms + 150.02 ms + -12.76 ms = 200.16 ms
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:53:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 65.10 ms + 177.07 ms + -41.83 ms = 200.22 ms
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.22 ms
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44100 Hz.
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 39.11 ms + 187.53 ms + -26.34 ms = 200.16 ms
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:53:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 58.73 ms + 161.11 ms + -19.39 ms = 200.33 ms
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.33 ms
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44101 Hz.
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 15.26 ms + 187.53 ms + -2.52 ms = 200.16 ms
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 63.26 ms + 207.68 ms + -70.61 ms = 200.23 ms
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.24 ms
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44101 Hz.
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 66.45 ms + 150.02 ms + -16.21 ms = 200.16 ms
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 65.24 ms + 180.49 ms + -45.49 ms = 200.13 ms
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.13 ms
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44100 Hz.
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 42.58 ms + 187.53 ms + -29.83 ms = 200.16 ms
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:22 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 62.55 ms + 160.84 ms + -23.04 ms = 200.24 ms
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.24 ms
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44101 Hz.
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 18.75 ms + 187.53 ms + -6.01 ms = 200.16 ms
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:32 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 65.16 ms + 207.86 ms + -72.80 ms = 200.12 ms
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.12 ms
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44100 Hz.
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 69.85 ms + 150.02 ms + -19.59 ms = 200.16 ms
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:42 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 66.08 ms + 184.19 ms + -49.94 ms = 200.25 ms
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.25 ms
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44101 Hz.
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 44.86 ms + 187.53 ms + -32.11 ms = 200.16 ms
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:54:52 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 64.23 ms + 160.93 ms + -24.90 ms = 200.15 ms
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.15 ms
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: [alsa_output.dac.stereo-fallback] Updated sampling rate to 44100 Hz.
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 20.61 ms + 187.53 ms + -7.88 ms = 200.16 ms
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.16 ms
13.03.21 19:55:02 (+0100)  audio  D: [pulseaudio] module-loopback.c: [balena-sound.output] Updated sampling rate to 44100 Hz.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 3960 bytes on render memblockq.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 3960 bytes on implementor.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 3960 bytes.
13.03.21 19:55:04 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5524 bytes on render memblockq.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5524 bytes on implementor.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5524 bytes.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5828 bytes on render memblockq.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5828 bytes on implementor.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5828 bytes.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 6224 bytes on render memblockq.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 6224 bytes on implementor.
13.03.21 19:55:05 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 6224 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5260 bytes on render memblockq.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5260 bytes on implementor.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5260 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5872 bytes on render memblockq.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5872 bytes on implementor.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5872 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4548 bytes on render memblockq.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4548 bytes on implementor.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4548 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5656 bytes on render memblockq.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5656 bytes on implementor.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5656 bytes.
13.03.21 19:55:06 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5468 bytes on render memblockq.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5468 bytes on implementor.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5468 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4868 bytes on render memblockq.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4868 bytes on implementor.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4868 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4632 bytes on render memblockq.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4632 bytes on implementor.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4632 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4976 bytes on render memblockq.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4976 bytes on implementor.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4976 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 6020 bytes on render memblockq.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 6020 bytes on implementor.
13.03.21 19:55:07 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 6020 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5396 bytes on render memblockq.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5396 bytes on implementor.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5396 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4944 bytes on render memblockq.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4944 bytes on implementor.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4944 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5344 bytes on render memblockq.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5344 bytes on implementor.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5344 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4776 bytes on render memblockq.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4776 bytes on implementor.
13.03.21 19:55:08 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4776 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5128 bytes on render memblockq.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5128 bytes on implementor.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5128 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5736 bytes on render memblockq.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5736 bytes on implementor.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5736 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 5160 bytes on render memblockq.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 5160 bytes on implementor.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 5160 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Implicit underrun of 'Tunnel for arne@plume'
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] protocol-native.c: Requesting rewind due to end of underrun.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Requested to rewind 6616 bytes.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] sink-input.c: Have to rewind 4972 bytes on render memblockq.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source.c: Processing rewind...
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] source-output.c: Have to rewind 4972 bytes on implementor.
13.03.21 19:55:09 (+0100)  audio  D: [null-sink] module-null-sink.c: Rewound 4972 bytes.
13.03.21 19:55:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback overall latency is 54.39 ms + 161.16 ms + -15.15 ms = 200.31 ms
13.03.21 19:55:12 (+0100)  audio  D: [pulseaudio] module-loopback.c: Loopback latency at base rate is 200.31 ms

The pulseaudio config on the laptop I'm streaming from is:

Config, list-sinks and list-modules
$ pulseaudio --dump-conf
### Read from configuration file: /home/arne/.config/pulse//daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
rescue-streams = yes
lock-memory = no
exit-idle-time = -1
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-14.2/modules
default-script-file = /home/arne/.config/pulse/default.pa
load-default-script-file = yes
log-target = 
log-level = notice
resample-method = auto
avoid-resampling = no
enable-remixing = yes
remixing-use-all-sink-channels = yes
remixing-produce-lfe = no
remixing-consume-lfe = no
lfe-crossover-freq = 0
default-sample-format = float32le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 8
default-fragment-size-msec = 12
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 8000
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = -1

$ pacmd list-sinks
# rest is omitted
index: 19
	name: <BangOlufsen1802>
	driver: <module-tunnel-sink-new.c>
	flags: NETWORK DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 9000
	volume: front-left: 28105 /  43% / -22.06 dB,   front-right: 28105 /  43% / -22.06 dB
	        balance 0.00
	base volume: 65536 / 100% / 0.00 dB
	volume steps: 65537
	muted: no
	current latency: 129.31 ms
	max request: 8 KiB
	max rewind: 0 KiB
	monitor source: 20
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 11
	configured latency: 75.00 ms; range is 0.50 .. 200.00 ms
	module: 45
	properties:
		device.class = "sound"
		device.description = "Bang Olufsen 1802"
		device.icon_name = "audio-card"

$ pacmd list-modules
23 module(s) loaded.
    index: 0
	name: <module-device-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute state of devices"
		module.version = "14.2"
    index: 1
	name: <module-stream-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute/device state of streams"
		module.version = "14.2"
    index: 2
	name: <module-card-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore profile of cards"
		module.version = "14.2"
    index: 3
	name: <module-augment-properties>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Augment the property sets of streams with additional static information"
		module.version = "14.2"
    index: 4
	name: <module-switch-on-port-available>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "David Henningsson"
		module.description = "Switches ports and profiles when devices are plugged/unplugged"
		module.version = "14.2"
    index: 5
	name: <module-udev-detect>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Detect available audio hardware and load matching drivers"
		module.version = "14.2"
    index: 6
	name: <module-alsa-card>
	argument: <device_id="0" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1">
	used: 0
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "ALSA Card"
		module.version = "14.2"
    index: 7
	name: <module-jackdbus-detect>
	argument: <channels=2>
	used: -1
	load once: yes
	properties:
		module.author = "David Henningsson"
		module.description = "Adds JACK sink/source ports when JACK is started"
		module.version = "14.2"
    index: 8
	name: <module-dbus-protocol>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Tanu Kaskinen"
		module.description = "D-Bus interface"
		module.version = "14.2"
    index: 9
	name: <module-native-protocol-unix>
	argument: <>
	used: -1
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "Native protocol (UNIX sockets)"
		module.version = "14.2"
    index: 10
	name: <module-gsettings>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Sylvain Baubeau"
		module.description = "GSettings Adapter"
		module.version = "14.2"
    index: 11
	name: <module-raop-discover>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "mDNS/DNS-SD Service Discovery of RAOP devices"
		module.version = "14.2"
    index: 12
	name: <module-default-device-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the default sink and source"
		module.version = "14.2"
    index: 13
	name: <module-always-sink>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Always keeps at least one sink loaded even if it's a null one"
		module.version = "14.2"
    index: 14
	name: <module-intended-roles>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically set device of streams based on intended roles of devices"
		module.version = "14.2"
    index: 15
	name: <module-console-kit>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Create a client for each ConsoleKit session of this user"
		module.version = "14.2"
    index: 16
	name: <module-systemd-login>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Create a client for each login session of this user"
		module.version = "14.2"
    index: 17
	name: <module-position-event-sounds>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
		module.version = "14.2"
    index: 18
	name: <module-role-cork>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Mute & cork streams with certain roles while others exist"
		module.version = "14.2"
    index: 19
	name: <module-filter-heuristics>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Detect when various filters are desirable"
		module.version = "14.2"
    index: 20
	name: <module-filter-apply>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Load filter sinks automatically when needed"
		module.version = "14.2"
    index: 22
	name: <module-cli-protocol-unix>
	argument: <>
	used: -1
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "Command line interface protocol (UNIX sockets)"
		module.version = "14.2"
    index: 45
	name: <module-tunnel-sink-new>
	argument: <server=192.168.1.132:4317 sink=balena-sound.input format=s16le channels=2 rate=44100 sink_properties=device.description="Bang\ Olufsen\ 1802" sink_name=BangOlufsen1802 channel_map=front-left,front-right>
	used: -1
	load once: no
	properties:
		module.author = "Alexander Couzens"
		module.description = "Create a network sink which connects via a stream to a remote PulseAudio server"
		module.version = "14.2"

@dolfje
Copy link

dolfje commented Apr 11, 2021

Same here, lot of lag. So if press play, or move the volume higher on my bluetooth android, it takes more than 5s to respond. Raspberry pi zero w + hifiberry amp2. Also a lot of stutter, so repeats of the same phrase and cracks (music ringbuffer not fast enough filled?). Also a lot of "increasing latency". Just installed yesterday, so I guess the newest version?

I have tried Pi MusicBox, almost no stutter, but it is still there. And latency is also 5s+.
I have tried moode player, no stutter + latency 500ms

So at the moment with moode player, but willing to do experiments...

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audio-block Issues related to balena's audio block bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants