roc-streaming / roc-toolkit

Real-time audio streaming over the network.
https://roc-streaming.org
Mozilla Public License 2.0
1.03k stars 205 forks source link

roc-recv does not work with system libspeexdsp from Raspberry Pi OS Lite #542

Closed gavv closed 3 weeks ago

gavv commented 11 months ago

As reported by @Schlaefer on matrix.

scons -Q --build-3rdparty=openfec,speexdsp => works

scons -Q --build-3rdparty=openfec => no sound, no matter if roc-recv writes to file, pulseaudio, or alsa.

Both commands are native builds on Raspberry.

Tests are failing too:

     TEST   roc_audio
.........
src/tests/roc_audio/test_resampler.cpp:396: error: roc_panic()

ERROR: roc_test: compare with upscaled unexpectedly succeeded: backend=2 method=0

No backtrace available
Aborted

SpeexDSP:

$ apt list --installed *speex*
Listing... Done
libspeex-dev/stable,now 1.2~rc1.2-1.1 armhf [installed,automatic]
libspeex1/stable,now 1.2~rc1.2-1.1 armhf [installed,automatic]
libspeexdsp-dev/stable,now 1.2~rc1.2-1.1 armhf [installed]
libspeexdsp1/stable,now 1.2~rc1.2-1.1 armhf [installed,automatic]

Environment:

Schlaefer commented 3 weeks ago

Whatever the issue was seems to be resolved now. Most significant change was the update of RaspiOS from bullseye to bookworm, so I assume that "shook it loose".

Audio is working fine with v0.4.0 and scons -Q --build-3rdparty=openfec build on device. Previously failing tests are passing:

$ scons -Q --build-3rdparty=openfec --enable-tests test
...
     TEST   roc_audio
..................................................
..................................................
..................................................
..................................................
..................
OK (218 tests, 218 ran, 760241 checks, 0 ignored, 0 filtered out, 2505 ms)
$ uname -a
Linux <device> 6.6.31+rpt-rpi-v7l #1 SMP Raspbian 1:6.6.31-1+rpt1 (2024-05-29) armv7l GNU/Linux

$ apt list --installed *speex*
Listing... Done
libspeex-dev/stable,now 1.2.1-2 armhf [installed,automatic]
libspeex1/stable,now 1.2.1-2 armhf [installed,automatic]
libspeexdsp-dev/stable,now 1.2.1-1 armhf [installed]
libspeexdsp1/stable,now 1.2.1-1 armhf [installed,automatic]

Feel free to close.

gavv commented 3 weeks ago

I suppose it was a bug in speexdsp, since we didn't have meaningful changes on our side in 0.4. Closing, if someone will experience this problem, feel free to reopen.