diff --git a/audio/a2dp.c b/audio/a2dp.c
index 75ad6ce..2d59dd2 100644
--- a/audio/a2dp.c
+++ b/audio/a2dp.c
return TRUE;
}
-static void endpoint_setconf_cb(struct a2dp_sep *sep, guint setup_id,
- gboolean ret)
-{
- struct a2dp_setup *setup = GUINT_TO_POINTER(setup_id);
+static void endpoint_setconf_cb(struct a2dp_setup *setup, gboolean ret)
+{
if (ret == FALSE) {
setup->err = g_new(struct avdtp_error, 1);
avdtp_error_init(setup->err, AVDTP_MEDIA_CODEC,
ret = a2dp_sep->endpoint->set_configuration(a2dp_sep,
setup->dev, codec->data,
cap->length - sizeof(*codec),
- GPOINTER_TO_UINT(setup),
+ setup,
endpoint_setconf_cb,
a2dp_sep->user_data);
if (ret == 0)
return TRUE;
}
-static void endpoint_open_cb(struct a2dp_sep *sep, guint setup_id,
- gboolean ret)
+static void endpoint_open_cb(struct a2dp_setup *setup, gboolean ret)
{
- struct a2dp_setup *setup = GUINT_TO_POINTER(setup_id);
int err;
if (ret == FALSE) {
err = a2dp_sep->endpoint->set_configuration(a2dp_sep, dev,
codec->data, service->length -
sizeof(*codec),
- GPOINTER_TO_UINT(setup),
+ setup,
endpoint_open_cb,
a2dp_sep->user_data);
if (err == 0)
return TRUE;
}
-static void select_cb(struct a2dp_sep *sep, guint setup_id, void *ret,
- int size)
+static void select_cb(struct a2dp_setup *setup, void *ret, int size)
{
- struct a2dp_setup *setup = GUINT_TO_POINTER(setup_id);
struct avdtp_service_capability *media_transport, *media_codec;
struct avdtp_media_codec_capability *cap;
err = sep->endpoint->select_configuration(sep, codec->data,
service->length - sizeof(*codec),
- GPOINTER_TO_UINT(setup),
+ setup,
select_cb, sep->user_data);
if (err == 0)
return cb_data->id;
diff --git a/audio/a2dp.h b/audio/a2dp.h
index 1637580..4ea9f60 100644
--- a/audio/a2dp.h
+++ b/audio/a2dp.h
#endif
struct a2dp_sep;
+struct a2dp_setup;
-typedef void (*a2dp_endpoint_select_t) (struct a2dp_sep *sep, guint setup_id,
- void *ret, int size);
-typedef void (*a2dp_endpoint_config_t) (struct a2dp_sep *sep, guint setup_id,
- gboolean ret);
+typedef void (*a2dp_endpoint_select_t) (struct a2dp_setup *setup, void *ret,
+ int size);
+typedef void (*a2dp_endpoint_config_t) (struct a2dp_setup *setup, gboolean ret);
struct a2dp_endpoint {
const char *(*get_name) (struct a2dp_sep *sep, void *user_data);
int (*select_configuration) (struct a2dp_sep *sep,
uint8_t *capabilities,
size_t length,
- guint setup_id,
+ struct a2dp_setup *setup,
a2dp_endpoint_select_t cb,
void *user_data);
int (*set_configuration) (struct a2dp_sep *sep,
struct audio_device *dev,
uint8_t *configuration,
size_t length,
- guint setup_id,
+ struct a2dp_setup *setup,
a2dp_endpoint_config_t cb,
void *user_data);
void (*clear_configuration) (struct a2dp_sep *sep, void *user_data);
diff --git a/audio/media.c b/audio/media.c
index 612408c..c943443 100644
--- a/audio/media.c
+++ b/audio/media.c
}
struct a2dp_config_data {
- guint setup_id;
+ struct a2dp_setup *setup;
a2dp_endpoint_config_t cb;
};
struct a2dp_select_data {
- guint setup_id;
+ struct a2dp_setup *setup;
a2dp_endpoint_select_t cb;
};
{
struct a2dp_select_data *data = user_data;
- data->cb(endpoint->sep, data->setup_id, ret, size);
+ data->cb(data->setup, ret, size);
}
static int select_config(struct a2dp_sep *sep, uint8_t *capabilities,
- size_t length, guint setup_id,
+ size_t length, struct a2dp_setup *setup,
a2dp_endpoint_select_t cb, void *user_data)
{
struct media_endpoint *endpoint = user_data;
struct a2dp_select_data *data;
data = g_new0(struct a2dp_select_data, 1);
- data->setup_id = setup_id;
+ data->setup = setup;
data->cb = cb;
if (select_configuration(endpoint, capabilities, length,
{
struct a2dp_config_data *data = user_data;
- data->cb(endpoint->sep, data->setup_id, ret ? TRUE : FALSE);
+ data->cb(data->setup, ret ? TRUE : FALSE);
}
static int set_config(struct a2dp_sep *sep, struct audio_device *dev,
uint8_t *configuration, size_t length,
- guint setup_id, a2dp_endpoint_config_t cb,
+ struct a2dp_setup *setup,
+ a2dp_endpoint_config_t cb,
void *user_data)
{
struct media_endpoint *endpoint = user_data;
struct a2dp_config_data *data;
data = g_new0(struct a2dp_config_data, 1);
- data->setup_id = setup_id;
+ data->setup = setup;
data->cb = cb;
if (set_configuration(endpoint, dev, configuration, length,