From 2fd86d9afadf9b62c2e900505558141a35e2ed6f Mon Sep 17 00:00:00 2001 From: James Almer Date: Thu, 2 Mar 2023 10:00:02 -0300 Subject: [PATCH] avfilter/graphparser: fix filter instance name when an id is provided Restores the behavior of naming the instance filter@id, which was accidentally changed to simpy id in commit f17051eaae. Fixes ticket #10226. Signed-off-by: James Almer --- libavfilter/graphparser.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index 8e12416ccb..4347131fad 100644 --- a/libavfilter/graphparser.c +++ b/libavfilter/graphparser.c @@ -532,8 +532,7 @@ int avfilter_graph_segment_create_filters(AVFilterGraphSegment *seg, int flags) for (size_t j = 0; j < ch->nb_filters; j++) { AVFilterParams *p = ch->filters[j]; const AVFilter *f = avfilter_get_by_name(p->filter_name); - char inst_name[30], *name = p->instance_name ? p->instance_name : - inst_name; + char name[64]; // skip already processed filters if (p->filter || !p->filter_name) @@ -546,7 +545,9 @@ int avfilter_graph_segment_create_filters(AVFilterGraphSegment *seg, int flags) } if (!p->instance_name) - snprintf(inst_name, sizeof(inst_name), "Parsed_%s_%zu", f->name, idx); + snprintf(name, sizeof(name), "Parsed_%s_%zu", f->name, idx); + else + snprintf(name, sizeof(name), "%s@%s", f->name, p->instance_name); p->filter = avfilter_graph_alloc_filter(seg->graph, f, name); if (!p->filter)