From 11f42d6262ae879a010041dcfac285474c05ac42 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 9 Apr 2018 09:33:09 +0200 Subject: [PATCH] port: add filter to pw_port_for_each_filtered_param --- src/pipewire/port.c | 7 ++++--- src/pipewire/private.h | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pipewire/port.c b/src/pipewire/port.c index e45052ba8..30ea71ea9 100644 --- a/src/pipewire/port.c +++ b/src/pipewire/port.c @@ -651,18 +651,19 @@ int pw_port_for_each_filtered_param(struct pw_port *in_port, struct pw_port *out_port, uint32_t in_param_id, uint32_t out_param_id, + const struct spa_pod *filter, int (*callback) (void *data, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param), void *data) { 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; - if (filter.n_params == 0) + if (fd.n_params == 0) res = do_filter(&filter, 0, 0, 0, NULL); return res; diff --git a/src/pipewire/private.h b/src/pipewire/private.h index b757ac649..f0772c58c 100644 --- a/src/pipewire/private.h +++ b/src/pipewire/private.h @@ -568,6 +568,7 @@ int pw_port_for_each_filtered_param(struct pw_port *in_port, struct pw_port *out_port, uint32_t in_param_id, uint32_t out_param_id, + const struct spa_pod *filter, int (*callback) (void *data, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param),