diff options
| author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-09-08 18:20:29 -0300 | 
|---|---|---|
| committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-09-08 18:20:29 -0300 | 
| commit | 957d01bac7a4c448bbe0a15de613af7927d1c7d0 (patch) | |
| tree | 4c279a27c3284d9434a08cc5802b97bf846c6479 /audio/manager.c | |
| parent | 75b61c0a4f415fdb6518b9cf99f9b5d4b8072c5f (diff) | |
Fix a2dp and avrcp drivers to not rely on BDADDR_ANY.
Diffstat (limited to 'audio/manager.c')
| -rw-r--r-- | audio/manager.c | 34 | 
1 files changed, 32 insertions, 2 deletions
| diff --git a/audio/manager.c b/audio/manager.c index 3aa1a5dd..deeb375c 100644 --- a/audio/manager.c +++ b/audio/manager.c @@ -831,7 +831,21 @@ static int a2dp_server_probe(struct btd_adapter *adapter)  	if (!adp)  		return -EINVAL; -	return a2dp_init(connection, config); +	return a2dp_register(connection, &adp->src, config); +} + +static void a2dp_server_remove(struct btd_adapter *adapter) +{ +	struct audio_adapter *adp; +	const gchar *path = adapter_get_path(adapter); + +	DBG("path %s", path); + +	adp = find_adapter(adapters, path); +	if (!adp) +		return; + +	return a2dp_unregister(&adp->src);  }  static int avrcp_server_probe(struct btd_adapter *adapter) @@ -845,7 +859,21 @@ static int avrcp_server_probe(struct btd_adapter *adapter)  	if (!adp)  		return -EINVAL; -	return avrcp_init(connection, config); +	return avrcp_register(connection, &adp->src, config); +} + +static void avrcp_server_remove(struct btd_adapter *adapter) +{ +	struct audio_adapter *adp; +	const gchar *path = adapter_get_path(adapter); + +	DBG("path %s", path); + +	adp = find_adapter(adapters, path); +	if (!adp) +		return; + +	return avrcp_unregister(&adp->src);  }  static struct btd_device_driver audio_driver = { @@ -872,11 +900,13 @@ static struct btd_adapter_driver gateway_server_driver = {  static struct btd_adapter_driver a2dp_server_driver = {  	.name	= "audio-a2dp",  	.probe	= a2dp_server_probe, +	.remove	= a2dp_server_remove,  };  static struct btd_adapter_driver avrcp_server_driver = {  	.name	= "audio-control",  	.probe	= avrcp_server_probe, +	.remove	= avrcp_server_remove,  };  int audio_manager_init(DBusConnection *conn, GKeyFile *conf) | 
