combine-sink fails to output data to all sinks / node activation issue
Using combine-sink to play to both ALSA and Bluetooth output results to audio not being to sent one of them,
$ pw-top
S ID QUANT RATE WAIT BUSY W/Q B/Q ERR FORMAT NAME
S 29 0 0 --- --- --- --- 0 Dummy-Driver
S 30 0 0 --- --- --- --- 0 Freewheel-Driver
S 40 0 0 --- --- --- --- 0 Midi-Bridge
S 50 0 0 --- --- --- --- 0 libcamera_input.__SB_.PCI0.XHC_.RHUB.HSP3-3_1.0-0c45_6368
S 52 0 0 --- --- --- --- 0 v4l2_input.pci-0000_00_14.0-usb-0_3_1.0
R 66 2048 48000 +++ 359,3us +++ 0,01 1 S16LE 2 48000 bluez_output.48_D8_45_AD_F1_2B.1
R 113 0 0 7,6us 24,2us 0,00 0,00 1 F32P 2 48000 + combined
R 116 0 0 --- 0,0us --- 0,00 25 F32P 2 48000 + output.combined_bluez_output.48_D8_45_AD_F1_2B.1
R 35 0 0 1,8us 120,3us 0,00 0,00 25 S16LE 2 48000 + alsa_output.usb-Logitech_PRO_000000000000-00.analog-stereo.2
R 115 0 0 0,0us 0,0us 0,00 0,00 25 F32P 2 48000 + output.combined_alsa_output.usb-Logitech_PRO_000000000000-00.analog-stereo.2
R 74 8192 44100 32,1us 102,1us 0,00 0,00 1 F32LE 2 44100 + paplay
In this case, there was no output on the ALSA device. If I unlink the output.combined from the bluez sink in Helvum, the ALSA node starts to play. If the Bluetooth node is linked again in Helvum, ALSA node starts to play a short loop as if repeating some current buffer.
Reproducer: have Bluetooth and ALSA outputs, do pactl load-module module-combine-sink
, play something, doesn't play on one of the devices. If you remove links in Helvum from combine-output to one sink, the other starts playing. If you reconnect, the problematic sink starts playing a short sample loop.
Git bisect: 3cae535d is the first bad commit
So looks like some node activation problem. Bluetooth is maybe relevant because it's a driver in a different process. This seems to occur also with only ALSA nodes.