mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-01-26 06:07:53 +00:00
bluez5: Remove hw-offload feature flag check and associated quirks
The sco_offload_btcodec() function now returns void and only skips offload setup when using the default datapath, simplifying the logic and removing the need for explicit feature flag checks.
This commit is contained in:
parent
2b5d21da5b
commit
78f16bc04b
@ -298,12 +298,15 @@ static const struct media_codec *codec_list_best(struct impl *backend, struct sp
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int sco_offload_btcodec(struct impl *backend, int sock, bool msbc)
|
||||
static void sco_offload_btcodec(struct impl *backend, int sock, bool msbc)
|
||||
{
|
||||
int err;
|
||||
char buffer[255];
|
||||
struct bt_codecs *codecs;
|
||||
|
||||
if (backend->hfphsp_sco_datapath == HFP_SCO_DEFAULT_DATAPATH)
|
||||
return;
|
||||
|
||||
spa_log_info(backend->log, "sock(%d) msbc(%d)", sock, msbc);
|
||||
|
||||
memset(buffer, 0, sizeof(buffer));
|
||||
@ -321,7 +324,6 @@ static int sco_offload_btcodec(struct impl *backend, int sock, bool msbc)
|
||||
spa_log_error(backend->log, "ERROR: %s (%d)", strerror(errno), errno);
|
||||
else
|
||||
spa_log_info(backend->log, "set offload codec succeeded");
|
||||
return err;
|
||||
}
|
||||
|
||||
static DBusHandlerResult profile_release(DBusConnection *conn, DBusMessage *m, void *userdata)
|
||||
@ -2623,9 +2625,6 @@ static int sco_create_socket(struct impl *backend, struct spa_bt_adapter *adapte
|
||||
}
|
||||
}
|
||||
|
||||
if (backend->quirks &&
|
||||
(spa_bt_quirks_get_features(backend->quirks, NULL, NULL, &bt_features) == 0) &&
|
||||
((bt_features & (SPA_BT_FEATURE_HW_OFFLOAD)) != 0))
|
||||
sco_offload_btcodec(backend, sock, transparent);
|
||||
|
||||
return spa_steal_fd(sock);
|
||||
|
||||
@ -810,7 +810,6 @@ enum spa_bt_feature {
|
||||
SPA_BT_FEATURE_SBC_XQ = (1 << 5),
|
||||
SPA_BT_FEATURE_FASTSTREAM = (1 << 6),
|
||||
SPA_BT_FEATURE_A2DP_DUPLEX = (1 << 7),
|
||||
SPA_BT_FEATURE_HW_OFFLOAD = (1 << 8),
|
||||
};
|
||||
|
||||
struct spa_bt_quirks;
|
||||
|
||||
@ -52,7 +52,6 @@ struct spa_bt_quirks {
|
||||
int force_sbc_xq;
|
||||
int force_faststream;
|
||||
int force_a2dp_duplex;
|
||||
int force_hw_offload;
|
||||
|
||||
char *device_rules;
|
||||
char *adapter_rules;
|
||||
@ -70,7 +69,6 @@ static enum spa_bt_feature parse_feature(const char *str)
|
||||
{ "sbc-xq", SPA_BT_FEATURE_SBC_XQ },
|
||||
{ "faststream", SPA_BT_FEATURE_FASTSTREAM },
|
||||
{ "a2dp-duplex", SPA_BT_FEATURE_A2DP_DUPLEX },
|
||||
{ "hw-offload", SPA_BT_FEATURE_HW_OFFLOAD },
|
||||
};
|
||||
SPA_FOR_EACH_ELEMENT_VAR(feature_keys, f) {
|
||||
if (spa_streq(str, f->key))
|
||||
@ -230,7 +228,6 @@ struct spa_bt_quirks *spa_bt_quirks_create(const struct spa_dict *info, struct s
|
||||
this->force_hw_volume = parse_force_flag(info, "bluez5.enable-hw-volume");
|
||||
this->force_faststream = parse_force_flag(info, "bluez5.enable-faststream");
|
||||
this->force_a2dp_duplex = parse_force_flag(info, "bluez5.enable-a2dp-duplex");
|
||||
this->force_hw_offload = parse_force_flag(info, "bluez5.hw-offload-sco");
|
||||
|
||||
if ((str = spa_dict_lookup(info, "bluez5.hardware-database")) != NULL) {
|
||||
spa_log_debug(this->log, "loading session manager provided data");
|
||||
@ -388,9 +385,6 @@ static int get_features(const struct spa_bt_quirks *this,
|
||||
if (this->force_a2dp_duplex != -1)
|
||||
SPA_FLAG_UPDATE(*features, SPA_BT_FEATURE_A2DP_DUPLEX, this->force_a2dp_duplex);
|
||||
|
||||
if (this->force_hw_offload != -1)
|
||||
SPA_FLAG_UPDATE(*features, SPA_BT_FEATURE_HW_OFFLOAD, this->force_hw_offload);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user