Unified · Split
| @@ -56,23 +56,13 @@ static av_cold int split_init(AVFilterContext *ctx) · 55 unmodified lines | |||
| 56 | if (!pad.name) | 56 | if (!pad.name) |
| 57 | return AVERROR(ENOMEM); | 57 | return AVERROR(ENOMEM); |
| 58 | 58 | ||
| 59 | if ((ret = ff_append_outpad(ctx, &pad)) < 0) { | 59 | if ((ret = ff_append_outpad_free_name(ctx, &pad)) < 0) |
| 60 | av_freep(&pad.name); | ||
| 61 | return ret; | 60 | return ret; |
| 62 | } | ||
| 63 | } | 61 | } |
| 64 | 62 | ||
| 65 | return 0; | 63 | return 0; |
| 66 | } | 64 | } |
| 67 | 65 | ||
| 68 | static av_cold void split_uninit(AVFilterContext *ctx) | ||
| 69 | { | ||
| 70 | int i; | ||
| 71 | |||
| 72 | for (i = 0; i < ctx->nb_outputs; i++) | ||
| 73 | av_freep(&ctx->output_pads[i].name); | ||
| 74 | } | ||
| 75 | |||
| 76 | static int filter_frame(AVFilterLink *inlink, AVFrame *frame) | 66 | static int filter_frame(AVFilterLink *inlink, AVFrame *frame) |
| 77 | { | 67 | { |
| 78 | AVFilterContext *ctx = inlink->dst; | 68 | AVFilterContext *ctx = inlink->dst; |
| @@ -124,7 +114,6 @@ const AVFilter ff_vf_split = { · 45 unmodified lines | |||
| 124 | .priv_size = sizeof(SplitContext), | 114 | .priv_size = sizeof(SplitContext), |
| 125 | .priv_class = &split_class, | 115 | .priv_class = &split_class, |
| 126 | .init = split_init, | 116 | .init = split_init, |
| 127 | .uninit = split_uninit, | ||
| 128 | FILTER_INPUTS(avfilter_vf_split_inputs), | 117 | FILTER_INPUTS(avfilter_vf_split_inputs), |
| 129 | .outputs = NULL, | 118 | .outputs = NULL, |
| 130 | .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, | 119 | .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, |
| @@ -144,7 +133,6 @@ const AVFilter ff_af_asplit = { · 13 unmodified lines | |||
| 144 | .priv_size = sizeof(SplitContext), | 133 | .priv_size = sizeof(SplitContext), |
| 145 | .priv_class = &asplit_class, | 134 | .priv_class = &asplit_class, |
| 146 | .init = split_init, | 135 | .init = split_init, |
| 147 | .uninit = split_uninit, | ||
| 148 | FILTER_INPUTS(avfilter_af_asplit_inputs), | 136 | FILTER_INPUTS(avfilter_af_asplit_inputs), |
| 149 | .outputs = NULL, | 137 | .outputs = NULL, |
| 150 | .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, | 138 | .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, |