diff --git a/0001-Another-take-on-fixing-the-wcrtomb-issue.patch b/0001-Another-take-on-fixing-the-wcrtomb-issue.patch new file mode 100644 index 0000000..53b82ef --- /dev/null +++ b/0001-Another-take-on-fixing-the-wcrtomb-issue.patch @@ -0,0 +1,33 @@ +From 19b80f67f2700f6e32b59e5c9a68c2227fee301a Mon Sep 17 00:00:00 2001 +From: Hans-Peter Jansen +Date: Thu, 23 Jun 2022 17:06:50 +0200 +Subject: [PATCH] Another take on fixing the wcrtomb issue + +that boils down to a problem in glibc: +https://github.com/bminor/glibc/commit/9bcd12d223a8990254b65e2dada54faa5d2742f3 +that appears, if sources are compiled with _FORTIFY_SOURCE=3, which is standard +by a few distributions already. + +Make sure, a pointer, given to wcrtomb as first argument always has at least +MB_CUR_MAX bytes available. +--- + src/modules/avformat/producer_avformat.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/modules/avformat/producer_avformat.c b/src/modules/avformat/producer_avformat.c +index 6ec1ac63..0e4600f2 100644 +--- a/src/modules/avformat/producer_avformat.c ++++ b/src/modules/avformat/producer_avformat.c +@@ -334,7 +334,8 @@ static char* filter_restricted( const char *in ) + { + if ( !in ) return NULL; + size_t n = strlen( in ); +- char *out = calloc( 1, n*3 + 1 ); ++ // https://github.com/bminor/glibc/commit/9bcd12d223a8990254b65e2dada54faa5d2742f3 ++ char *out = calloc( n + MB_CUR_MAX, 1 ); + char *p = out; + mbstate_t mbs; + memset( &mbs, 0, sizeof(mbs) ); +-- +2.36.1 + diff --git a/0001-Supply-a-proper-return-value-on-non-void-functions.patch b/0001-Supply-a-proper-return-value-on-non-void-functions.patch deleted file mode 100644 index 4fbd778..0000000 --- a/0001-Supply-a-proper-return-value-on-non-void-functions.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 92e4cda6ee2b24e45d10415899ce4a2006fe65ba Mon Sep 17 00:00:00 2001 -From: Hans-Peter Jansen -Date: Sun, 19 Jun 2022 22:58:02 +0200 -Subject: [PATCH] Supply a proper return value on non-void functions - ---- - src/modules/plus/filter_sepia.c | 1 + - src/modules/plus/filter_threshold.c | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/modules/plus/filter_sepia.c b/src/modules/plus/filter_sepia.c -index 9634cf5..d2c4837 100644 ---- a/src/modules/plus/filter_sepia.c -+++ b/src/modules/plus/filter_sepia.c -@@ -55,6 +55,7 @@ static int do_slice_proc(int id, int index, int jobs, void* data) - p[line_size - 1] = desc->u; - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) -diff --git a/src/modules/plus/filter_threshold.c b/src/modules/plus/filter_threshold.c -index 2ab9b6a..3f31c54 100644 ---- a/src/modules/plus/filter_threshold.c -+++ b/src/modules/plus/filter_threshold.c -@@ -84,6 +84,7 @@ static int do_slice_proc(int id, int index, int jobs, void* data) - } - } - } -+ return 0; - } - - /** Get the images and apply the luminance of the mask to the alpha of the frame. --- -2.36.1 - diff --git a/0001-fix-798-missing-function-returns.patch b/0001-fix-798-missing-function-returns.patch deleted file mode 100644 index cad81c5..0000000 --- a/0001-fix-798-missing-function-returns.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 50bc133522cdf636928bda6b1b35541bf055c102 Mon Sep 17 00:00:00 2001 -From: Dan Dennedy -Date: Sun, 19 Jun 2022 14:01:15 -0700 -Subject: [PATCH] fix #798 missing function returns - ---- - src/modules/core/filter_mirror.c | 1 + - src/modules/core/filter_pillar_echo.c | 7 ++++--- - src/modules/kdenlive/filter_wave.c | 1 + - src/modules/oldfilm/filter_tcolor.c | 1 + - src/modules/plus/filter_invert.c | 1 + - src/modules/plus/filter_spot_remover.c | 1 + - 6 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/src/modules/core/filter_mirror.c b/src/modules/core/filter_mirror.c -index 5d584ad..9dd4530 100644 ---- a/src/modules/core/filter_mirror.c -+++ b/src/modules/core/filter_mirror.c -@@ -299,6 +299,7 @@ static int do_slice_proc(int id, int index, int jobs, void* data) - } - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) -diff --git a/src/modules/core/filter_pillar_echo.c b/src/modules/core/filter_pillar_echo.c -index a4f8ef8..ae3937c 100644 ---- a/src/modules/core/filter_pillar_echo.c -+++ b/src/modules/core/filter_pillar_echo.c -@@ -1,6 +1,6 @@ - /* -- * filter_pillar_echo.c -- filter to interpolate pixels outside an area of interest -- * Copyright (c) 2020-2021 Meltytech, LLC -+ * filter_pillar_echo.c -- filter to interpolate pixels outside an area of -+ * interest Copyright (c) 2020-2021 Meltytech, LLC - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public -@@ -14,7 +14,7 @@ - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software -- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - - #include "image_proc.h" -@@ -159,6 +159,7 @@ static int scale_sliced_proc(int id, int index, int jobs, void* data) - d += 4; - } - } -+ return 0; - } - - /** Perform a bilinear scale from the rect inside the source to fill the destination -diff --git a/src/modules/kdenlive/filter_wave.c b/src/modules/kdenlive/filter_wave.c -index 91b625d..039ad3b 100644 ---- a/src/modules/kdenlive/filter_wave.c -+++ b/src/modules/kdenlive/filter_wave.c -@@ -78,6 +78,7 @@ static int do_wave_slice_proc(int id, int index, int jobs, void* data) - *dst++ = getPoint(d->src, w, d->src_h, (x+decalX), (y+decalY), z); - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) -diff --git a/src/modules/oldfilm/filter_tcolor.c b/src/modules/oldfilm/filter_tcolor.c -index b7dc2b2..aa55693 100644 ---- a/src/modules/oldfilm/filter_tcolor.c -+++ b/src/modules/oldfilm/filter_tcolor.c -@@ -51,6 +51,7 @@ static int do_slice_proc(int id, int index, int jobs, void* data) - p[x+3] = CLAMP( ((double)p[x+3] - 127.0) * desc->over_cr + 127.0, 0, 255); - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) -diff --git a/src/modules/plus/filter_invert.c b/src/modules/plus/filter_invert.c -index 28d072b..c524d96 100644 ---- a/src/modules/plus/filter_invert.c -+++ b/src/modules/plus/filter_invert.c -@@ -54,6 +54,7 @@ static int do_slice_proc(int id, int index, int jobs, void* data) - p[x+1] = CLAMP(256 - p[x+1], min, max_chroma); - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) -diff --git a/src/modules/plus/filter_spot_remover.c b/src/modules/plus/filter_spot_remover.c -index c87265b..d886285 100644 ---- a/src/modules/plus/filter_spot_remover.c -+++ b/src/modules/plus/filter_spot_remover.c -@@ -126,6 +126,7 @@ static int remove_spot_channel_proc(int id, int index, int jobs, void* data) - p += step; - } - } -+ return 0; - } - - static int filter_get_image( mlt_frame frame, uint8_t **image, mlt_image_format *format, int *width, int *height, int writable ) --- -2.36.1 - diff --git a/libmlt.changes b/libmlt.changes index 862abd0..c0e3d62 100644 --- a/libmlt.changes +++ b/libmlt.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Thu Jun 23 15:20:03 UTC 2022 - Hans-Peter Jansen + +- Update to 7.8.0 + + Framework + * Added mlt_frame_get_alpha_size() and refactored code to use + it. + * Fixed a possible null pointer crash in + mlt_service_apply_filters(). + + Modules + * Added a glaxnimate producer to the glaxnimate module. + * Added new file extensions for glaxnimate producer: json, + lottie, rawr, tgs. + * Removed Qt4 compatibility from the qt module. + * Added Qt6 compatibility to the qt module. + * Added new file extensions for qimage producer: avif, heic, + heif, jxl. + * Fixed color_range when using the multi consumer. + * Fixed reloading updated results in the loudness filter. + * Fixed image_mode=blend in the timeremap link. + * Fixed crash regression in swscale filter with odd size YUV + image. + * Fixed the choppy filter may result in black frames with + transitions. + * Prevent a crash in avfilter producer for a bug in glibc with + _FORTIFY_SOURCE=3. + +- Remove merged upstream fixes + * 0001-fix-798-missing-function-returns.patch + * 0001-Supply-a-proper-return-value-on-non-void-functions.patch + +- Add + * 0001-Another-take-on-fixing-the-wcrtomb-issue.patch + ------------------------------------------------------------------- Fri May 27 15:54:21 UTC 2022 - Christophe Giboudeaux diff --git a/libmlt.spec b/libmlt.spec index 6fbd2a3..0805481 100644 --- a/libmlt.spec +++ b/libmlt.spec @@ -1,5 +1,5 @@ # -# spec file for package libmlt +# spec file # # Copyright (c) 2022 SUSE LLC # @@ -18,25 +18,23 @@ %define _name mlt %define libname lib%{_name} -%define lversion 7.6.0 +%define lversion 7.8.0 %define sover 7 %define lib_pkgname %{libname}-%{sover}-%{sover} %define _name_pp %{_name}++ %define libname_pp lib%{_name_pp} %define sover_pp 7 -%define lversion_pp 7.6.0 +%define lversion_pp 7.8.0 %define libpp_pkgname %{libname_pp}-%{sover_pp}-%{sover_pp} Name: %{libname} -Version: 7.6.0 +Version: 7.8.0 Release: 0 Summary: Multimedia framework for television broadcasting License: GPL-3.0-or-later Group: Development/Libraries/C and C++ URL: https://www.mltframework.org Source0: https://github.com/mltframework/mlt/archive/v%{version}.tar.gz#/%{_name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM -- Missing return values in non-void functions -Patch0: 0001-fix-798-missing-function-returns.patch -Patch1: 0001-Supply-a-proper-return-value-on-non-void-functions.patch +Patch0: 0001-Another-take-on-fixing-the-wcrtomb-issue.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc-c++ diff --git a/mlt-7.6.0.tar.gz b/mlt-7.6.0.tar.gz deleted file mode 100644 index 10dbfce..0000000 --- a/mlt-7.6.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:49f3c7902432a5a873ebce8406d901ac73623ff3dba7265b6e8b55cfe8220201 -size 1217853 diff --git a/mlt-7.8.0.tar.gz b/mlt-7.8.0.tar.gz new file mode 100644 index 0000000..2d956f9 --- /dev/null +++ b/mlt-7.8.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4165e62e007e37d65e96517a45817517067897eedef4d83de7208dbd74b1f0f7 +size 1221406