Improve loop callbacks

Pass just one data item to the callbacks.
Add properties to port.
Add user data to link
Handle autolink with multiple ports
More work on jack support
This commit is contained in:
Wim Taymans 2017-08-11 19:16:30 +02:00
parent cfd9967637
commit 9ad1f911b2
38 changed files with 1773 additions and 271 deletions

View file

@ -434,7 +434,7 @@ static void make_node(struct data *data)
data->node = pw_node_new(data->core, NULL, NULL, "SDL-sink", props, 0);
pw_node_set_implementation(data->node, &impl_node, data);
data->port = pw_port_new(PW_DIRECTION_INPUT, 0, 0);
data->port = pw_port_new(PW_DIRECTION_INPUT, 0, NULL, 0);
pw_port_set_implementation(data->port, &impl_port, data);
pw_port_add(data->port, data->node);
pw_node_register(data->node);

View file

@ -411,7 +411,7 @@ static void make_nodes(struct data *data)
data->node = pw_node_new(data->core, NULL, NULL, "SDL-sink", NULL, 0);
pw_node_set_implementation(data->node, &impl_node, data);
data->port = pw_port_new(PW_DIRECTION_INPUT, 0, 0);
data->port = pw_port_new(PW_DIRECTION_INPUT, 0, NULL, 0);
pw_port_set_implementation(data->port, &impl_port, data);
pw_port_add(data->port, data->node);
pw_node_register(data->node);
@ -427,7 +427,8 @@ static void make_nodes(struct data *data)
data->port,
NULL,
NULL,
NULL);
NULL,
0);
pw_link_activate(data->link);
}

View file

@ -79,7 +79,7 @@ struct data {
uint32_t seq;
};
static void on_timeout(struct spa_loop_utils *utils, struct spa_source *source, void *userdata)
static void on_timeout(void *userdata, uint64_t expirations)
{
struct data *data = userdata;
uint32_t id;