mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-23 06:59:58 -05:00
spa: bluez: backend-native: Fix CIEV call status support for HFP AG
Based on HFP specs, the audio connection is independent of the active call status, which should be managed by the ModemManager part of the plugin. But when using HFP AG without modem attached, e.g. during zoom meeting, the connection will be closed after a while unless call status has been forced to active, cf. https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1744. Currently and for HFP AG PTS tests requesting to get an audio connection in 3 seconds after a call activates, this prevent to start audio connection before starting a call. This commit prevents to force the call status during audio (dis)connection if a modem is available.
This commit is contained in:
parent
b940d9f3a1
commit
f9f08f7f5c
1 changed files with 4 additions and 2 deletions
|
|
@ -2759,7 +2759,8 @@ static int sco_acquire_cb(void *data, bool optional)
|
|||
goto fail;
|
||||
|
||||
#ifdef HAVE_BLUEZ_5_BACKEND_HFP_NATIVE
|
||||
rfcomm_hfp_ag_set_cind(td->rfcomm, true);
|
||||
if (!mm_is_available(backend->modemmanager))
|
||||
rfcomm_hfp_ag_set_cind(td->rfcomm, true);
|
||||
#endif
|
||||
|
||||
t->fd = sock;
|
||||
|
|
@ -2813,7 +2814,8 @@ static int sco_release_cb(void *data)
|
|||
spa_bt_transport_set_state(t, SPA_BT_TRANSPORT_STATE_IDLE);
|
||||
|
||||
#ifdef HAVE_BLUEZ_5_BACKEND_HFP_NATIVE
|
||||
rfcomm_hfp_ag_set_cind(td->rfcomm, false);
|
||||
if (!mm_is_available(backend->modemmanager))
|
||||
rfcomm_hfp_ag_set_cind(td->rfcomm, false);
|
||||
#endif
|
||||
|
||||
sco_destroy_cb(t);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue