Sound is sped-up 2x in firefox but not in other applications
- PipeWire version (
pipewire --version
): Compiled with libpipewire 1.1.0 Linked with libpipewire 1.1.0 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Pop!_OS 22.04 LTS - Desktop Environment: Pop!_OS default
- Kernel version (
uname -r
): 6.6.0-rc7+
Description of Problem:
When I play a video on youtube in firefox, the sound is always sped-up 2x and I get these types of logs continuously:
[W][05789.825648] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (0 suppressed) out of buffers on port 0 1
[W][05792.522062] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (1 suppressed) out of buffers on port 0 1
[W][05794.994508] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (2 suppressed) out of buffers on port 0 1
[W][05797.339092] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (3 suppressed) out of buffers on port 0 1
[W][05799.642398] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (4 suppressed) out of buffers on port 0 1
[W][05801.947499] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (5 suppressed) out of buffers on port 0 1
[W][05803.992864] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (5 suppressed) out of buffers on port 0 1
[W][05806.124416] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (6 suppressed) out of buffers on port 0 1
[W][05808.302373] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (7 suppressed) out of buffers on port 0 1
[W][05810.308158] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (7 suppressed) out of buffers on port 0 1
[W][05812.438242] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (8 suppressed) out of buffers on port 0 1
[W][05814.616441] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (9 suppressed) out of buffers on port 0 1
[W][05816.701713] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (9 suppressed) out of buffers on port 0 1
[W][05818.839502] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (10 suppressed) out of buffers on port 0 1
[W][05820.924935] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (10 suppressed) out of buffers on port 0 1
[W][05823.063925] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (11 suppressed) out of buffers on port 0 1
[W][05825.152339] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (11 suppressed) out of buffers on port 0 1
[W][05827.193661] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (11 suppressed) out of buffers on port 0 1
[W][05829.292153] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (12 suppressed) out of buffers on port 0 1
[W][05831.378034] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (12 suppressed) out of buffers on port 0 1
[W][05833.387980] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (12 suppressed) out of buffers on port 0 1
[W][05835.520868] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (13 suppressed) out of buffers on port 0 1
[W][05837.608874] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (13 suppressed) out of buffers on port 0 1
[W][05839.656780] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (13 suppressed) out of buffers on port 0 1
[W][05841.664886] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (13 suppressed) out of buffers on port 0 1
[W][05843.795011] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05845.885481] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05847.968981] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05849.983901] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05852.024393] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05854.027434] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (14 suppressed) out of buffers on port 0 1
[W][05856.122990] spa.audioconvert | [ audioconvert.c: 2971 impl_node_process()] 0x5572f4023a80: (15 suppressed) out of buffers on port 0 1
What is weird this happens in firefox but not in chrome. Also it stops happening if I open the sound settings or if I open chrome or if I open VLC. Basically If I open an application that works ok, that forces firefox to also work ok. If I close these applications the sound again starts to sped-up in firefox and these logs start to get printed again.
I should mention that this happens on a new sound machine driver I introduced in the Linux kernel: https://lore.kernel.org/all/20230829220116.1159-1-posteuca@mutex.one/
This issue didn't happen on older versions of pipewire that came with my popos installation. Recently I tried an RC kernel where my driver is present on a new arch installation and this issue appeared. The arch distro comes with a very recent version of pipewire.
So I decided to compile and runt the master pipewire version on PopOS and it happens here too.
I started a git bisect session between master and 0.3.63 (last known good version to me), and I managed to pinpoint the commit that introduced this behavior for me: 11320cf2
If I revert this commit the sound works ok, furthermore I narrowed it down to the change in spa/plugins/audioconvert/audioconvert.c
. If I just revert this file the sound is not sped-up anymore.
How Reproducible:
Systematic
Steps to Reproduce:
- Start Firefox
- Play video on youtube
Actual Results:
Sound is sped-up 2x
Expected Results:
Sound is not sped-up
Additional Info (as attachments):
-
pw-dump > pw-dump.log
:debug-logs.txt
I am able to test patches and test things if needed.