From 539115fc598161511a962fd8b1fb6495850364a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Wed, 22 Nov 2023 23:24:30 +0100 Subject: [PATCH] pipewire: module-filter-chain: dsp_ops_init(): take cpu_flags Instead of relying on the caller to initialize `dsp_ops::cpu_flags`, take it as an argument. --- src/modules/module-filter-chain.c | 3 +-- src/modules/module-filter-chain/dsp-ops.c | 5 +++-- src/modules/module-filter-chain/dsp-ops.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/modules/module-filter-chain.c b/src/modules/module-filter-chain.c index b0d5888ba..1022f0650 100644 --- a/src/modules/module-filter-chain.c +++ b/src/modules/module-filter-chain.c @@ -2995,8 +2995,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) } cpu_iface = spa_support_find(support, n_support, SPA_TYPE_INTERFACE_CPU); - impl->dsp.cpu_flags = cpu_iface ? spa_cpu_get_flags(cpu_iface) : 0; - dsp_ops_init(&impl->dsp); + dsp_ops_init(&impl->dsp, cpu_iface ? spa_cpu_get_flags(cpu_iface) : 0); if (pw_properties_get(props, PW_KEY_NODE_GROUP) == NULL) pw_properties_setf(props, PW_KEY_NODE_GROUP, "filter-chain-%u-%u", pid, id); diff --git a/src/modules/module-filter-chain/dsp-ops.c b/src/modules/module-filter-chain/dsp-ops.c index 56eafe868..7a21177bc 100644 --- a/src/modules/module-filter-chain/dsp-ops.c +++ b/src/modules/module-filter-chain/dsp-ops.c @@ -84,14 +84,15 @@ static void impl_dsp_ops_free(struct dsp_ops *ops) spa_zero(*ops); } -int dsp_ops_init(struct dsp_ops *ops) +int dsp_ops_init(struct dsp_ops *ops, uint32_t cpu_flags) { const struct dsp_info *info; - info = find_dsp_info(ops->cpu_flags); + info = find_dsp_info(cpu_flags); if (info == NULL) return -ENOTSUP; + ops->cpu_flags = cpu_flags; ops->priv = info; ops->free = impl_dsp_ops_free; ops->funcs = info->funcs; diff --git a/src/modules/module-filter-chain/dsp-ops.h b/src/modules/module-filter-chain/dsp-ops.h index 676548025..a1a7ab90f 100644 --- a/src/modules/module-filter-chain/dsp-ops.h +++ b/src/modules/module-filter-chain/dsp-ops.h @@ -55,7 +55,7 @@ struct dsp_ops { const void *priv; }; -int dsp_ops_init(struct dsp_ops *ops); +int dsp_ops_init(struct dsp_ops *ops, uint32_t cpu_flags); #define dsp_ops_free(ops) (ops)->free(ops)