Accepting request 984851 from multimedia:libs
- Update to 7.8.0 OBS-URL: https://build.opensuse.org/request/show/984851 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libmlt?expand=0&rev=61
This commit is contained in:
commit
7ce024fac8
33
0001-Another-take-on-fixing-the-wcrtomb-issue.patch
Normal file
33
0001-Another-take-on-fixing-the-wcrtomb-issue.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 19b80f67f2700f6e32b59e5c9a68c2227fee301a Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Peter Jansen <hp@urpla.net>
|
||||
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
|
||||
|
@ -1,37 +0,0 @@
|
||||
From 92e4cda6ee2b24e45d10415899ce4a2006fe65ba Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Peter Jansen <hp@urpla.net>
|
||||
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
|
||||
|
@ -1,107 +0,0 @@
|
||||
From 50bc133522cdf636928bda6b1b35541bf055c102 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Dennedy <dan@dennedy.org>
|
||||
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
|
||||
|
@ -1,3 +1,37 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 23 15:20:03 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net>
|
||||
|
||||
- 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 <christophe@krop.fr>
|
||||
|
||||
|
12
libmlt.spec
12
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++
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:49f3c7902432a5a873ebce8406d901ac73623ff3dba7265b6e8b55cfe8220201
|
||||
size 1217853
|
3
mlt-7.8.0.tar.gz
Normal file
3
mlt-7.8.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4165e62e007e37d65e96517a45817517067897eedef4d83de7208dbd74b1f0f7
|
||||
size 1221406
|
Loading…
x
Reference in New Issue
Block a user