ffmpeg scan remap fix, configure.ac all or none fix, 3rd party libs: ffmpeg, turbo...
[goodguy/cinelerra.git] / cinelerra-5.1 / thirdparty / src / ffmpeg-4.3.patch4
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-4.3.patch4 b/cinelerra-5.1/thirdparty/src/ffmpeg-4.3.patch4
new file mode 100644 (file)
index 0000000..681dd82
--- /dev/null
@@ -0,0 +1,28 @@
+diff -ruN a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c
+--- a/libavfilter/af_aformat.c 2020-06-15 12:54:24.000000000 -0600
++++ b/libavfilter/af_aformat.c 2020-07-10 09:24:01.659724729 -0600
+@@ -112,6 +112,16 @@
+     return 0;
+ }
++#define DEL_FIELD(p,mem,fld) if( p->mem ) { av_freep(&p->mem->fld); av_freep(&p->mem); }
++
++static av_cold void uninit(AVFilterContext *ctx)
++{
++    AFormatContext *s = ctx->priv;
++    DEL_FIELD(s, formats, formats);
++    DEL_FIELD(s, sample_rates, formats);
++    DEL_FIELD(s, channel_layouts, channel_layouts);
++}
++
+ static int query_formats(AVFilterContext *ctx)
+ {
+     AFormatContext *s = ctx->priv;
+@@ -149,6 +159,7 @@
+     .name          = "aformat",
+     .description   = NULL_IF_CONFIG_SMALL("Convert the input audio to one of the specified formats."),
+     .init          = init,
++    .uninit        = uninit,
+     .query_formats = query_formats,
+     .priv_size     = sizeof(AFormatContext),
+     .priv_class    = &aformat_class,