bluetooth: don't set auto_connect flag when discovering bt devices

This commit is contained in:
Lennart Poettering 2009-10-04 13:00:51 +02:00
parent afd1b6d355
commit 40c1ca76c4
2 changed files with 12 additions and 3 deletions

View file

@ -74,7 +74,8 @@ PA_MODULE_USAGE(
"profile=<a2dp|hsp> "
"rate=<sample rate> "
"channels=<number of channels> "
"path=<device object path>");
"path=<device object path> "
"auto_connect=<automatically connect?>");
/*
#ifdef NOKIA
@ -98,6 +99,7 @@ static const char* const valid_modargs[] = {
"rate",
"channels",
"path",
"auto_connect",
#ifdef NOKIA
"sco_sink",
"sco_source",
@ -141,6 +143,7 @@ struct userdata {
char *address;
char *path;
pa_bluetooth_discovery *discovery;
pa_bool_t auto_connect;
pa_dbus_connection *connection;
@ -399,7 +402,7 @@ static int get_caps(struct userdata *u, uint8_t seid) {
pa_assert(u->profile == PROFILE_HSP);
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)
return -1;
@ -2363,6 +2366,12 @@ int pa__init(pa_module* m) {
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;
if (pa_modargs_get_value_u32(ma, "channels", &channels) < 0 ||
channels <= 0 || channels > PA_CHANNELS_MAX) {

View file

@ -117,7 +117,7 @@ static pa_hook_result_t load_module_for_device(pa_bluetooth_discovery *y, const
#endif
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);
m = pa_module_load(u->module->core, "module-bluetooth-device", args);