summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2023-03-07 15:29:13 +0000
committerSamuli Piippo <samuli.piippo@qt.io>2023-03-08 06:12:33 +0000
commitb70890533963c59f4f7a72891da4287cdb7a704a (patch)
treee987a2a4e0d58128e6c840a3095e308868adc4ea /recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
parentadf69723cf24f81697aa363a093e939f642e60ab (diff)
downloadmeta-freescale-b70890533963c59f4f7a72891da4287cdb7a704a.tar.gz
gstreamer: add recipes for upstream 1.20.3 versions
oe-core has moved to gstreamer 1.22.0 and recipes which don't have an imx version can no longer be built. Add older version of those components to be used with the gstreamer 1.20.3.imx. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Diffstat (limited to 'recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
new file mode 100644
index 00000000..526bbb00
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-libav-Fix-for-APNG-encoder-property-registration.patch
@@ -0,0 +1,86 @@
1From 78a97c1ec35ada76d83fc67d0549ba56c74d8875 Mon Sep 17 00:00:00 2001
2From: Seungha Yang <seungha@centricular.com>
3Date: Thu, 7 Jul 2022 22:16:30 +0900
4Subject: [PATCH] libav: Fix for APNG encoder property registration
5
6The AVClass name of Animated PNG in FFmpeg 5.x is "(A)PNG"
7and it will be converted to "-a-png" through
8g_ascii_strdown() and g_strcanon(). But GLib disallow leading '-'
9character for a GType name. Strip leading '-' to workaround it.
10
11Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2724]
12
13Seungha Yangs patch was imported without modifications.
14
15Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
16---
17 ext/libav/gstavcfg.c | 29 +++++++++++++++++++++++------
18 1 file changed, 23 insertions(+), 6 deletions(-)
19
20diff --git a/ext/libav/gstavcfg.c b/ext/libav/gstavcfg.c
21index c736920..a8635a7 100644
22--- a/ext/libav/gstavcfg.c
23+++ b/ext/libav/gstavcfg.c
24@@ -91,10 +91,19 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
25 gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
26 gchar *enum_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
27 gboolean none_default = TRUE;
28+ const gchar *enum_name_strip;
29
30 g_strcanon (enum_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
31
32- if ((res = g_type_from_name (enum_name)))
33+ /* strip leading '-'s */
34+ enum_name_strip = enum_name;
35+ while (enum_name_strip[0] == '-')
36+ enum_name_strip++;
37+
38+ if (enum_name_strip[0] == '\0')
39+ goto done;
40+
41+ if ((res = g_type_from_name (enum_name_strip)))
42 goto done;
43
44 while ((opt = av_opt_next (obj, opt))) {
45@@ -150,9 +159,8 @@ register_enum (const AVClass ** obj, const AVOption * top_opt)
46 }
47 }
48
49- res =
50- g_enum_register_static (enum_name, &g_array_index (values, GEnumValue,
51- 0));
52+ res = g_enum_register_static (enum_name_strip,
53+ &g_array_index (values, GEnumValue, 0));
54
55 gst_type_mark_as_plugin_api (res, 0);
56 }
57@@ -177,10 +185,19 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
58 GArray *values = g_array_new (TRUE, TRUE, sizeof (GEnumValue));
59 gchar *lower_obj_name = g_ascii_strdown ((*obj)->class_name, -1);
60 gchar *flags_name = g_strdup_printf ("%s-%s", lower_obj_name, top_opt->unit);
61+ const gchar *flags_name_strip;
62
63 g_strcanon (flags_name, G_CSET_a_2_z G_CSET_DIGITS, '-');
64
65- if ((res = g_type_from_name (flags_name)))
66+ /* strip leading '-'s */
67+ flags_name_strip = flags_name;
68+ while (flags_name_strip[0] == '-')
69+ flags_name_strip++;
70+
71+ if (flags_name_strip[0] == '\0')
72+ goto done;
73+
74+ if ((res = g_type_from_name (flags_name_strip)))
75 goto done;
76
77 while ((opt = av_opt_next (obj, opt))) {
78@@ -211,7 +228,7 @@ register_flags (const AVClass ** obj, const AVOption * top_opt)
79 g_array_sort (values, (GCompareFunc) cmp_flags_value);
80
81 res =
82- g_flags_register_static (flags_name, &g_array_index (values,
83+ g_flags_register_static (flags_name_strip, &g_array_index (values,
84 GFlagsValue, 0));
85
86 gst_type_mark_as_plugin_api (res, 0);