You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
No audio output when target sink is a mono Bluetooth HFP/HSP device (e.g. call profile) #298
Bluetooth profile at time of bug: headset-head-unit-msbc (HFP, mono, 16kHz) — this profile is auto-selected by WirePlumber whenever the headset's microphone is used (e.g. during a VoIP call)
Description
When the configured output device is a Bluetooth sink that only exposes a single mono port (playback_MONO, as produced by the BlueZ HFP/HSP headset-head-unit profiles), JDSP4Linux produces no audible output, even though:
pw-link -l shows a valid connection from the plugin node to the sink:
The upstream app (tested with Teams for Linux / Chromium) is confirmed to be sending a live signal to jamesdsp_sink (verified visually via pavucontrol's peak meter, which moves during playback).
jamesdsp_sink and the Bluetooth sink both report state RUNNING (not suspended).
Running --relink does not fix it.
Disabling all DSP processing via --set master_enable=false (passthrough) does not fix it either — so this is not an effects/processing bug, but appears to be in the plugin's own routing/resampling to a mono-only sink.
Steps to reproduce
Connect a Bluetooth headset that supports both A2DP and HFP/HSP (e.g. Sennheiser MOMENTUM 4).
Set JDSP4Linux's output device to the Bluetooth sink, with AudioOutputUseDefault=true.
Start a call in an app that uses the headset's microphone (e.g. Teams for Linux), forcing WirePlumber to switch the Bluetooth profile to headset-head-unit-msbc (mono, 16kHz).
Observe: playback stream is active (visible level in pavucontrol / pactl list sink-inputs), pipeline is linked (pw-link -l shows the connection), but no audio is audible on the headset.
Confirm the pipeline itself is fine: quit JDSP4Linux entirely. The same app now connects directly to the Bluetooth sink and audio works correctly.
Confirm it's not a DSP/effects issue: with JDSP4Linux running, run jamesdsp --set master_enable=false (passthrough) — still no audio.
Expected behavior
Audio should play correctly regardless of whether the target sink exposes stereo (FL/FR) or a single mono port, the same way it does when the Bluetooth device is in A2DP mode (stereo, works fine).
Actual behavior
Silent output whenever the target device is a mono-only Bluetooth sink (HFP/HSP call profile), both with processing enabled and in passthrough mode.
Workaround
Quit JDSP4Linux before starting a call, relaunch afterwards for normal (A2DP) listening.
Activity