This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new fa281d1394 avfilter/af_lv2: call lilv_instance_activate before
lilv_instance_run
fa281d1394 is described below
commit fa281d139453ca43ef6054b1c5b829141405c80d
Author: Karl Mogensen <[email protected]>
AuthorDate: Sun Mar 8 18:07:35 2026 +0100
Commit: Michael Niedermayer <[email protected]>
CommitDate: Fri Mar 13 21:31:54 2026 +0100
avfilter/af_lv2: call lilv_instance_activate before lilv_instance_run
Why: the change is done to comply with lilv expectations of hosts.
Added call lilv_instance_activate in the config_output function to abide by
lilv documentation that states it must be called before lilv_instance_run:
"This MUST be called before calling lilv_instance_run()" - documentation
source (https://github.com/lv2/lilv/blob/main/include/lilv/lilv.h)
Added call lilv_instance_deactivate in the uninit function to abide by lv2
documentation:
"If a host calls activate(), it MUST call deactivate() at some point in the
future" - documentation source
(https://gitlab.com/lv2/lv2/-/blob/main/include/lv2/core/lv2.h)
Added instance_activated integer to LV2Context struct to track if instance
was activated and only do lilv_instance_deactivate if was activated to abide by
lv2 documentation:
"Hosts MUST NOT call deactivate() unless activate() was previously called."
- documentation source
(https://gitlab.com/lv2/lv2/-/blob/main/include/lv2/core/lv2.h)
Regarding the patcheck warning (possibly constant :instance_activated):
This is a false positive since the struct member is zero-initialized.
Fixes: trac issue #11661 (https://trac.ffmpeg.org/ticket/11661)
Reported-by: Dave Flater
Signed-off-by: Karl Mogensen <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
---
libavfilter/af_lv2.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavfilter/af_lv2.c b/libavfilter/af_lv2.c
index e7f3f9c588..c34f6eb30c 100644
--- a/libavfilter/af_lv2.c
+++ b/libavfilter/af_lv2.c
@@ -74,6 +74,7 @@ typedef struct LV2Context {
float *controls;
LilvInstance *instance;
+ int instance_activated;
LilvNode *atom_AtomPort;
LilvNode *atom_Sequence;
@@ -387,6 +388,9 @@ static int config_output(AVFilterLink *outlink)
inlink->min_samples = inlink->max_samples = 4096;
}
+ lilv_instance_activate(s->instance);
+ s->instance_activated = 1;
+
return 0;
}
@@ -562,6 +566,8 @@ static av_cold void uninit(AVFilterContext *ctx)
{
LV2Context *s = ctx->priv;
+ if (s->instance_activated)
+ lilv_instance_deactivate(s->instance);
lilv_node_free(s->powerOf2BlockLength);
lilv_node_free(s->fixedBlockLength);
lilv_node_free(s->boundedBlockLength);
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]