Browse Source

lavfi/testsrc: free the context in uninit

Keeping stuff in the context can be useful for debugging purposes.
tags/n1.0
Stefano Sabatini 13 years ago
parent
commit
20e940e768
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      libavfilter/vsrc_testsrc.c

+ 10
- 2
libavfilter/vsrc_testsrc.c View File

@@ -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); av_log(ctx, AV_LOG_ERROR, "Invalid frame rate: '%s'\n", test->rate);
return ret; return ret;
} }
av_freep(&test->rate);


if (test->duration && (ret = av_parse_time(&duration, test->duration, 1)) < 0) { if (test->duration && (ret = av_parse_time(&duration, test->duration, 1)) < 0) {
av_log(ctx, AV_LOG_ERROR, "Invalid duration: '%s'\n", test->duration); av_log(ctx, AV_LOG_ERROR, "Invalid duration: '%s'\n", test->duration);
return ret; return ret;
} }
av_freep(&test->duration);


if (test->nb_decimals && strcmp(ctx->filter->name, "testsrc")) { if (test->nb_decimals && strcmp(ctx->filter->name, "testsrc")) {
av_log(ctx, AV_LOG_WARNING, av_log(ctx, AV_LOG_WARNING,
@@ -120,6 +118,13 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
return 0; return 0;
} }


static av_cold void uninit(AVFilterContext *ctx)
{
TestSourceContext *test = ctx->priv;

av_opt_free(test);
}

static int config_props(AVFilterLink *outlink) static int config_props(AVFilterLink *outlink)
{ {
TestSourceContext *test = outlink->src->priv; TestSourceContext *test = outlink->src->priv;
@@ -186,6 +191,7 @@ AVFilter avfilter_vsrc_nullsrc = {
.name = "nullsrc", .name = "nullsrc",
.description = NULL_IF_CONFIG_SMALL("Null video source, return unprocessed video frames."), .description = NULL_IF_CONFIG_SMALL("Null video source, return unprocessed video frames."),
.init = nullsrc_init, .init = nullsrc_init,
.uninit = uninit,
.priv_size = sizeof(TestSourceContext), .priv_size = sizeof(TestSourceContext),


.inputs = (const AVFilterPad[]) {{ .name = NULL}}, .inputs = (const AVFilterPad[]) {{ .name = NULL}},
@@ -402,6 +408,7 @@ AVFilter avfilter_vsrc_testsrc = {
.description = NULL_IF_CONFIG_SMALL("Generate test pattern."), .description = NULL_IF_CONFIG_SMALL("Generate test pattern."),
.priv_size = sizeof(TestSourceContext), .priv_size = sizeof(TestSourceContext),
.init = test_init, .init = test_init,
.uninit = uninit,


.query_formats = test_query_formats, .query_formats = test_query_formats,


@@ -526,6 +533,7 @@ AVFilter avfilter_vsrc_rgbtestsrc = {
.description = NULL_IF_CONFIG_SMALL("Generate RGB test pattern."), .description = NULL_IF_CONFIG_SMALL("Generate RGB test pattern."),
.priv_size = sizeof(TestSourceContext), .priv_size = sizeof(TestSourceContext),
.init = rgbtest_init, .init = rgbtest_init,
.uninit = uninit,


.query_formats = rgbtest_query_formats, .query_formats = rgbtest_query_formats,




Loading…
Cancel
Save