From 5ae286702e9042d3a844c4abbe60d780abfefe66 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 1 Mar 2021 17:01:46 +0100 Subject: [PATCH] audioconvert: make sure we update the flags When we get a param update, update with the new flags. --- spa/plugins/audioconvert/audioadapter.c | 9 +++++++++ spa/plugins/audioconvert/audioconvert.c | 3 +++ 2 files changed, 12 insertions(+) diff --git a/spa/plugins/audioconvert/audioadapter.c b/spa/plugins/audioconvert/audioadapter.c index 5a96c7abb..c04176fe6 100644 --- a/spa/plugins/audioconvert/audioadapter.c +++ b/spa/plugins/audioconvert/audioadapter.c @@ -609,6 +609,9 @@ static void convert_node_info(void *data, const struct spa_node_info *info) } if (idx != SPA_ID_INVALID) { this->info.change_mask |= SPA_NODE_CHANGE_MASK_PARAMS; + this->params[idx].flags = + (this->params[idx].flags & SPA_PARAM_INFO_SERIAL) | + (info->params[i].flags & SPA_PARAM_INFO_READWRITE); this->params[idx].user++; } } @@ -683,6 +686,9 @@ static void follower_info(void *data, const struct spa_node_info *info) } if (idx != SPA_ID_INVALID) { this->info.change_mask |= SPA_NODE_CHANGE_MASK_PARAMS; + this->params[idx].flags = + (this->params[idx].flags & SPA_PARAM_INFO_SERIAL) | + (info->params[i].flags & SPA_PARAM_INFO_READWRITE); this->params[idx].user++; } } @@ -708,6 +714,9 @@ static void follower_port_info(void *data, } if (idx != SPA_ID_INVALID) { this->info.change_mask |= SPA_NODE_CHANGE_MASK_PARAMS; + this->params[idx].flags = + (this->params[idx].flags & SPA_PARAM_INFO_SERIAL) | + (info->params[i].flags & SPA_PARAM_INFO_READWRITE); this->params[idx].user++; } } diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c index 570db74b2..62532c98f 100644 --- a/spa/plugins/audioconvert/audioconvert.c +++ b/spa/plugins/audioconvert/audioconvert.c @@ -628,6 +628,9 @@ static void on_channelmix_info(void *data, const struct spa_node_info *info) } if (idx != SPA_ID_INVALID) { this->info.change_mask |= SPA_NODE_CHANGE_MASK_PARAMS; + this->params[idx].flags = + (this->params[idx].flags & SPA_PARAM_INFO_SERIAL) | + (info->params[i].flags & SPA_PARAM_INFO_READWRITE); this->params[idx].user++; } }