diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
index 2fae233..e52bb35 100644
--- a/profiles/audio/a2dp.c
+++ b/profiles/audio/a2dp.c
struct btd_adapter *adapter = avdtp_get_adapter(session);
struct btd_device *device = avdtp_get_device(session);
- return manager_find_device(NULL, adapter_get_address(adapter),
- device_get_address(device), NULL,
- FALSE);
+ return manager_get_device(adapter_get_address(adapter),
+ device_get_address(device), FALSE);
}
static struct a2dp_setup *setup_new(struct avdtp *session)
diff --git a/profiles/audio/manager.c b/profiles/audio/manager.c
index 3743e10..3b1370c 100644
--- a/profiles/audio/manager.c
+++ b/profiles/audio/manager.c
device_get_address(device), TRUE);
}
+static GSList *manager_find_devices(const char *path,
+ const bdaddr_t *src,
+ const bdaddr_t *dst,
+ const char *interface,
+ gboolean connected)
+{
+ GSList *result = NULL;
+ GSList *l;
+
+ for (l = devices; l != NULL; l = l->next) {
+ struct audio_device *dev = l->data;
+ const bdaddr_t *dev_src;
+ const bdaddr_t *dev_dst;
+
+ dev_src = adapter_get_address(device_get_adapter(dev->btd_dev));
+ dev_dst = device_get_address(dev->btd_dev);
+
+ if ((path && (strcmp(path, "")) &&
+ strcmp(device_get_path(dev->btd_dev), path)))
+ continue;
+
+ if ((src && bacmp(src, BDADDR_ANY)) && bacmp(dev_src, src))
+ continue;
+
+ if ((dst && bacmp(dst, BDADDR_ANY)) && bacmp(dev_dst, dst))
+ continue;
+
+ if (interface && !strcmp(AUDIO_SINK_INTERFACE, interface)
+ && !dev->sink)
+ continue;
+
+ if (interface && !strcmp(AUDIO_SOURCE_INTERFACE, interface)
+ && !dev->source)
+ continue;
+
+ if (interface && !strcmp(AUDIO_CONTROL_INTERFACE, interface)
+ && !dev->control)
+ continue;
+
+ if (connected && !audio_device_is_active(dev, interface))
+ continue;
+
+ result = g_slist_append(result, dev);
+ }
+
+ return result;
+}
+
+static struct audio_device *manager_find_device(const char *path,
+ const bdaddr_t *src,
+ const bdaddr_t *dst,
+ const char *interface,
+ gboolean connected)
+{
+ struct audio_device *result;
+ GSList *l;
+
+ l = manager_find_devices(path, src, dst, interface, connected);
+ if (l == NULL)
+ return NULL;
+
+ result = l->data;
+ g_slist_free(l);
+ return result;
+}
+
static void audio_remove(struct btd_profile *p, struct btd_device *device)
{
struct audio_device *dev;
btd_unregister_adapter_driver(&media_driver);
}
-static GSList *manager_find_devices(const char *path,
- const bdaddr_t *src,
- const bdaddr_t *dst,
- const char *interface,
- gboolean connected)
-{
- GSList *result = NULL;
- GSList *l;
-
- for (l = devices; l != NULL; l = l->next) {
- struct audio_device *dev = l->data;
- const bdaddr_t *dev_src;
- const bdaddr_t *dev_dst;
-
- dev_src = adapter_get_address(device_get_adapter(dev->btd_dev));
- dev_dst = device_get_address(dev->btd_dev);
-
- if ((path && (strcmp(path, "")) &&
- strcmp(device_get_path(dev->btd_dev), path)))
- continue;
-
- if ((src && bacmp(src, BDADDR_ANY)) && bacmp(dev_src, src))
- continue;
-
- if ((dst && bacmp(dst, BDADDR_ANY)) && bacmp(dev_dst, dst))
- continue;
-
- if (interface && !strcmp(AUDIO_SINK_INTERFACE, interface)
- && !dev->sink)
- continue;
-
- if (interface && !strcmp(AUDIO_SOURCE_INTERFACE, interface)
- && !dev->source)
- continue;
-
- if (interface && !strcmp(AUDIO_CONTROL_INTERFACE, interface)
- && !dev->control)
- continue;
-
- if (connected && !audio_device_is_active(dev, interface))
- continue;
-
- result = g_slist_append(result, dev);
- }
-
- return result;
-}
-
-struct audio_device *manager_find_device(const char *path,
- const bdaddr_t *src,
- const bdaddr_t *dst,
- const char *interface,
- gboolean connected)
-{
- struct audio_device *result;
- GSList *l;
-
- l = manager_find_devices(path, src, dst, interface, connected);
- if (l == NULL)
- return NULL;
-
- result = l->data;
- g_slist_free(l);
- return result;
-}
-
struct audio_device *manager_get_device(const bdaddr_t *src,
const bdaddr_t *dst,
gboolean create)
diff --git a/profiles/audio/manager.h b/profiles/audio/manager.h
index e70d795..6d36ebe 100644
--- a/profiles/audio/manager.h
+++ b/profiles/audio/manager.h
int audio_manager_init(GKeyFile *config);
void audio_manager_exit(void);
-struct audio_device *manager_find_device(const char *path,
- const bdaddr_t *src,
- const bdaddr_t *dst,
- const char *interface,
- gboolean connected);
-
struct audio_device *manager_get_device(const bdaddr_t *src,
const bdaddr_t *dst,
gboolean create);