mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
bluez5: indicate codec support status for ofono/hsphfpd
Indicates codecs properly.
This commit is contained in:
parent
52fc22a76b
commit
df591638a5
2 changed files with 34 additions and 0 deletions
|
|
@ -1433,11 +1433,25 @@ static int backend_hsphfpd_free(void *data)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int backend_hsphfpd_supports_codec(void *data, struct spa_bt_device *device, unsigned int codec)
|
||||
{
|
||||
struct impl *backend = data;
|
||||
|
||||
switch (codec) {
|
||||
case HFP_AUDIO_CODEC_CVSD:
|
||||
return 1;
|
||||
case HFP_AUDIO_CODEC_MSBC:
|
||||
return backend->msbc_supported;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct spa_bt_backend_implementation backend_impl = {
|
||||
SPA_VERSION_BT_BACKEND_IMPLEMENTATION,
|
||||
.free = backend_hsphfpd_free,
|
||||
.register_profiles = backend_hsphfpd_register,
|
||||
.unregister_profiles = backend_hsphfpd_unregistered,
|
||||
.supports_codec = backend_hsphfpd_supports_codec,
|
||||
};
|
||||
|
||||
static bool is_available(struct impl *backend)
|
||||
|
|
@ -1492,6 +1506,9 @@ struct spa_bt_backend *backend_hsphfpd_new(struct spa_bt_monitor *monitor,
|
|||
else
|
||||
backend->msbc_supported = false;
|
||||
|
||||
if (!spa_bt_get_hfp_codec(monitor, HFP_AUDIO_CODEC_MSBC))
|
||||
backend->msbc_supported = false;
|
||||
|
||||
spa_log_topic_init(backend->log, &log_topic);
|
||||
|
||||
spa_list_init(&backend->endpoint_list);
|
||||
|
|
|
|||
|
|
@ -840,10 +840,24 @@ static int backend_ofono_free(void *data)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int backend_ofono_supports_codec(void *data, struct spa_bt_device *device, unsigned int codec)
|
||||
{
|
||||
struct impl *backend = data;
|
||||
|
||||
switch (codec) {
|
||||
case HFP_AUDIO_CODEC_CVSD:
|
||||
return 1;
|
||||
case HFP_AUDIO_CODEC_MSBC:
|
||||
return backend->msbc_supported;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct spa_bt_backend_implementation backend_impl = {
|
||||
SPA_VERSION_BT_BACKEND_IMPLEMENTATION,
|
||||
.free = backend_ofono_free,
|
||||
.register_profiles = backend_ofono_register,
|
||||
.supports_codec = backend_ofono_supports_codec,
|
||||
};
|
||||
|
||||
static bool is_available(struct impl *backend)
|
||||
|
|
@ -897,6 +911,9 @@ struct spa_bt_backend *backend_ofono_new(struct spa_bt_monitor *monitor,
|
|||
else
|
||||
backend->msbc_supported = false;
|
||||
|
||||
if (!spa_bt_get_hfp_codec(monitor, HFP_AUDIO_CODEC_MSBC))
|
||||
backend->msbc_supported = false;
|
||||
|
||||
spa_log_topic_init(backend->log, &log_topic);
|
||||
|
||||
backend->timer = spa_loop_utils_add_timer(backend->loop_utils, activate_timer_event, backend);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue