port: add filter to pw_port_for_each_filtered_param

This commit is contained in:
Wim Taymans 2018-04-09 09:33:09 +02:00
parent 53e03019da
commit 11f42d6262
2 changed files with 5 additions and 3 deletions

View file

@ -651,18 +651,19 @@ int pw_port_for_each_filtered_param(struct pw_port *in_port,
struct pw_port *out_port, struct pw_port *out_port,
uint32_t in_param_id, uint32_t in_param_id,
uint32_t out_param_id, uint32_t out_param_id,
const struct spa_pod *filter,
int (*callback) (void *data, int (*callback) (void *data,
uint32_t id, uint32_t index, uint32_t next, uint32_t id, uint32_t index, uint32_t next,
struct spa_pod *param), struct spa_pod *param),
void *data) void *data)
{ {
int res; int res;
struct param_filter filter = { in_port, out_port, in_param_id, out_param_id, callback, data, 0 }; struct param_filter fd = { in_port, out_port, in_param_id, out_param_id, callback, data, 0 };
if ((res = pw_port_for_each_param(in_port, in_param_id, 0, 0, NULL, do_filter, &filter)) < 0) if ((res = pw_port_for_each_param(in_port, in_param_id, 0, 0, filter, do_filter, &fd)) < 0)
return res; return res;
if (filter.n_params == 0) if (fd.n_params == 0)
res = do_filter(&filter, 0, 0, 0, NULL); res = do_filter(&filter, 0, 0, 0, NULL);
return res; return res;

View file

@ -568,6 +568,7 @@ int pw_port_for_each_filtered_param(struct pw_port *in_port,
struct pw_port *out_port, struct pw_port *out_port,
uint32_t in_param_id, uint32_t in_param_id,
uint32_t out_param_id, uint32_t out_param_id,
const struct spa_pod *filter,
int (*callback) (void *data, int (*callback) (void *data,
uint32_t id, uint32_t index, uint32_t next, uint32_t id, uint32_t index, uint32_t next,
struct spa_pod *param), struct spa_pod *param),