bluez5: backend-ofono: Add mSBC support

oFono tries to use the best codec when setting up the audio connection, so
the codec to use is known during call to `acquire` function, after the
transport has been created.
To get the codec before creating the transport, an audio connection is
set-up and discarded during `ofono_audio_card_found()`. It should return
the best codec available, which should not change during the time the
remote is connected.

mSBC can be enabled by passing "bluez5.msbc-support=true" parameter to
pipewire-media-session.
mSBC is automatically selected if remote device supports it.
This commit is contained in:
Frédéric Danis 2020-12-08 15:19:17 +01:00 committed by Wim Taymans
parent bd4663b3cc
commit 8bc711ce4d
3 changed files with 119 additions and 33 deletions

View file

@ -1824,7 +1824,7 @@ impl_init(const struct spa_handle_factory *factory,
spa_list_init(&this->transport_list);
this->backend_hsp_native = backend_hsp_native_new(this, this->conn, support, n_support);
this->backend_ofono = backend_ofono_new(this, this->conn, support, n_support);
this->backend_ofono = backend_ofono_new(this, this->conn, info, support, n_support);
this->backend_hsphfpd = backend_hsphfpd_new(this, this->conn, info, support, n_support);
return 0;