mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
bluetooth: don't set auto_connect flag when discovering bt devices
This commit is contained in:
parent
afd1b6d355
commit
40c1ca76c4
2 changed files with 12 additions and 3 deletions
|
|
@ -74,7 +74,8 @@ PA_MODULE_USAGE(
|
||||||
"profile=<a2dp|hsp> "
|
"profile=<a2dp|hsp> "
|
||||||
"rate=<sample rate> "
|
"rate=<sample rate> "
|
||||||
"channels=<number of channels> "
|
"channels=<number of channels> "
|
||||||
"path=<device object path>");
|
"path=<device object path> "
|
||||||
|
"auto_connect=<automatically connect?>");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#ifdef NOKIA
|
#ifdef NOKIA
|
||||||
|
|
@ -98,6 +99,7 @@ static const char* const valid_modargs[] = {
|
||||||
"rate",
|
"rate",
|
||||||
"channels",
|
"channels",
|
||||||
"path",
|
"path",
|
||||||
|
"auto_connect",
|
||||||
#ifdef NOKIA
|
#ifdef NOKIA
|
||||||
"sco_sink",
|
"sco_sink",
|
||||||
"sco_source",
|
"sco_source",
|
||||||
|
|
@ -141,6 +143,7 @@ struct userdata {
|
||||||
char *address;
|
char *address;
|
||||||
char *path;
|
char *path;
|
||||||
pa_bluetooth_discovery *discovery;
|
pa_bluetooth_discovery *discovery;
|
||||||
|
pa_bool_t auto_connect;
|
||||||
|
|
||||||
pa_dbus_connection *connection;
|
pa_dbus_connection *connection;
|
||||||
|
|
||||||
|
|
@ -399,7 +402,7 @@ static int get_caps(struct userdata *u, uint8_t seid) {
|
||||||
pa_assert(u->profile == PROFILE_HSP);
|
pa_assert(u->profile == PROFILE_HSP);
|
||||||
msg.getcaps_req.transport = BT_CAPABILITIES_TRANSPORT_SCO;
|
msg.getcaps_req.transport = BT_CAPABILITIES_TRANSPORT_SCO;
|
||||||
}
|
}
|
||||||
msg.getcaps_req.flags = BT_FLAG_AUTOCONNECT;
|
msg.getcaps_req.flags = u->auto_connect ? BT_FLAG_AUTOCONNECT : 0;
|
||||||
|
|
||||||
if (service_send(u, &msg.getcaps_req.h) < 0)
|
if (service_send(u, &msg.getcaps_req.h) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
@ -2363,6 +2366,12 @@ int pa__init(pa_module* m) {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u->auto_connect = TRUE;
|
||||||
|
if (pa_modargs_get_value_boolean(ma, "auto_connect", &u->auto_connect)) {
|
||||||
|
pa_log("Failed to parse auto_connect= argument");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
channels = u->sample_spec.channels;
|
channels = u->sample_spec.channels;
|
||||||
if (pa_modargs_get_value_u32(ma, "channels", &channels) < 0 ||
|
if (pa_modargs_get_value_u32(ma, "channels", &channels) < 0 ||
|
||||||
channels <= 0 || channels > PA_CHANNELS_MAX) {
|
channels <= 0 || channels > PA_CHANNELS_MAX) {
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ static pa_hook_result_t load_module_for_device(pa_bluetooth_discovery *y, const
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (d->audio_source_state >= PA_BT_AUDIO_STATE_CONNECTED)
|
if (d->audio_source_state >= PA_BT_AUDIO_STATE_CONNECTED)
|
||||||
args = pa_sprintf_malloc("%s profile=\"a2dp_source\"", args);
|
args = pa_sprintf_malloc("%s profile=\"a2dp_source\" auto_connect=no", args);
|
||||||
|
|
||||||
pa_log_debug("Loading module-bluetooth-device %s", args);
|
pa_log_debug("Loading module-bluetooth-device %s", args);
|
||||||
m = pa_module_load(u->module->core, "module-bluetooth-device", args);
|
m = pa_module_load(u->module->core, "module-bluetooth-device", args);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue