diff options
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vsrc_testsrc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c index 36a921931c..405bc30196 100644 --- a/libavfilter/vsrc_testsrc.c +++ b/libavfilter/vsrc_testsrc.c @@ -92,13 +92,11 @@ static av_cold int init(AVFilterContext *ctx, const char *args) av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: '%s'\n", test->rate); return ret; } - av_freep(&test->rate); if (test->duration && (ret = av_parse_time(&duration, test->duration, 1)) < 0) { av_log(ctx, AV_LOG_ERROR, "Invalid duration: '%s'\n", test->duration); return ret; } - av_freep(&test->duration); if (test->nb_decimals && strcmp(ctx->filter->name, "testsrc")) { av_log(ctx, AV_LOG_WARNING, @@ -120,6 +118,13 @@ static av_cold int init(AVFilterContext *ctx, const char *args) return 0; } +static av_cold void uninit(AVFilterContext *ctx) +{ + TestSourceContext *test = ctx->priv; + + av_opt_free(test); +} + static int config_props(AVFilterLink *outlink) { TestSourceContext *test = outlink->src->priv; @@ -186,6 +191,7 @@ AVFilter avfilter_vsrc_nullsrc = { .name = "nullsrc", .description = NULL_IF_CONFIG_SMALL("Null video source, return unprocessed video frames."), .init = nullsrc_init, + .uninit = uninit, .priv_size = sizeof(TestSourceContext), .inputs = (const AVFilterPad[]) {{ .name = NULL}}, @@ -402,6 +408,7 @@ AVFilter avfilter_vsrc_testsrc = { .description = NULL_IF_CONFIG_SMALL("Generate test pattern."), .priv_size = sizeof(TestSourceContext), .init = test_init, + .uninit = uninit, .query_formats = test_query_formats, @@ -526,6 +533,7 @@ AVFilter avfilter_vsrc_rgbtestsrc = { .description = NULL_IF_CONFIG_SMALL("Generate RGB test pattern."), .priv_size = sizeof(TestSourceContext), .init = rgbtest_init, + .uninit = uninit, .query_formats = rgbtest_query_formats, |