Compare commits

...

No commits in common. "c8" and "c9-beta" have entirely different histories.
c8 ... c9-beta

19 changed files with 759 additions and 313 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/gst-plugins-base-1.16.1.tar.xz SOURCES/gst-plugins-base-1.22.12.tar.xz

View File

@ -1 +1 @@
e906442fd99376ce2384a634637ede9fd8515fc3 SOURCES/gst-plugins-base-1.16.1.tar.xz e5c16230351e77f59073c2dcca7bfa2d39cbef60 SOURCES/gst-plugins-base-1.22.12.tar.xz

View File

@ -1,21 +1,22 @@
From d4f28912bad1748afffec840b9330dcd054f5981 Mon Sep 17 00:00:00 2001 From 55b9602e9728e5c0cdfa7e907b5a24a75fe23283 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net> From: Wim Taymans <wtaymans@redhat.com>
Date: Fri, 3 Aug 2012 17:50:24 +0100 Date: Fri, 13 Dec 2024 15:22:07 +0100
Subject: [PATCH 1/8] missing-plugins: Remove the mpegaudioversion field Subject: [PATCH 01/10] Subject: [PATCH 1/2] missing-plugins: Remove the
mpegaudioversion field
From missing plugins requests as it's a duplicate of mpegversion From missing plugins requests as it's a duplicate of mpegversion
and its presence would break codec discovery when using RPM. and its presence would break codec discovery when using RPM.
https://bugzilla.redhat.com/show_bug.cgi?id=680809 https://bugzilla.redhat.com/show_bug.cgi?id=680809
--- ---
gst-libs/gst/pbutils/missing-plugins.c | 3 +++ .../gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/gst-libs/gst/pbutils/missing-plugins.c b/gst-libs/gst/pbutils/missing-plugins.c diff --git a/subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c b/subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c
index a08803b18..cdce4bf05 100644 index 69330b933b..c4fd3e6737 100644
--- a/gst-libs/gst/pbutils/missing-plugins.c --- a/subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c
+++ b/gst-libs/gst/pbutils/missing-plugins.c +++ b/subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c
@@ -151,6 +151,9 @@ copy_and_clean_caps (const GstCaps * caps) @@ -191,6 +191,9 @@ copy_and_clean_caps (const GstCaps * caps)
gst_structure_remove_field (s, "play-speed"); gst_structure_remove_field (s, "play-speed");
gst_structure_remove_field (s, "play-scale"); gst_structure_remove_field (s, "play-scale");
gst_structure_remove_field (s, "dynamic_range"); gst_structure_remove_field (s, "dynamic_range");

View File

@ -0,0 +1,60 @@
From cdeab27c352d2d90db8c9eb3004eba8969208fa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Thu, 26 Sep 2024 13:43:06 +0300
Subject: [PATCH 02/10] id3v2: Don't try parsing extended header if not enough
data is available
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-235
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3842
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8095>
---
subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c b/subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c
index c295ac89ef..f2b38ca595 100644
--- a/subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c
+++ b/subprojects/gst-plugins-base/gst-libs/gst/tag/id3v2.c
@@ -29,7 +29,7 @@
#define HANDLE_INVALID_SYNCSAFE
-static gboolean id3v2_frames_to_tag_list (ID3TagsWorking * work, guint size);
+static gboolean id3v2_frames_to_tag_list (ID3TagsWorking * work);
#ifndef GST_DISABLE_GST_DEBUG
@@ -258,7 +258,7 @@ gst_tag_list_from_id3v2_tag (GstBuffer * buffer)
GST_MEMDUMP ("ID3v2 tag (un-unsyced)", uu_data, work.hdr.frame_data_size);
}
- id3v2_frames_to_tag_list (&work, work.hdr.frame_data_size);
+ id3v2_frames_to_tag_list (&work);
g_free (uu_data);
@@ -440,12 +440,17 @@ id3v2_add_id3v2_frame_blob_to_taglist (ID3TagsWorking * work,
}
static gboolean
-id3v2_frames_to_tag_list (ID3TagsWorking * work, guint size)
+id3v2_frames_to_tag_list (ID3TagsWorking * work)
{
guint frame_hdr_size;
/* Extended header if present */
if (work->hdr.flags & ID3V2_HDR_FLAG_EXTHDR) {
+ if (work->hdr.frame_data_size < 4) {
+ GST_DEBUG ("Tag has no extended header data. Broken tag");
+ return FALSE;
+ }
+
work->hdr.ext_hdr_size = id3v2_read_synch_uint (work->hdr.frame_data, 4);
/* In id3v2.4.x the header size is the size of the *whole*
--
2.47.0

View File

@ -1,42 +0,0 @@
From 1bc56aad2c40ab30c57c15536f9d09bb12f11087 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Thu, 22 Feb 2018 11:37:07 +0100
Subject: [PATCH 2/8] video: disable ORC_RESTRICT
We pass the same pointers to the video_chroma_up,
video_chroma_down fnd video_convert unctions, which causes the
compiler to complain.
---
gst-libs/gst/video/video-chroma.c | 2 ++
gst-libs/gst/video/video-converter.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/gst-libs/gst/video/video-chroma.c b/gst-libs/gst/video/video-chroma.c
index f761b4435..7ed22ea1e 100644
--- a/gst-libs/gst/video/video-chroma.c
+++ b/gst-libs/gst/video/video-chroma.c
@@ -24,6 +24,8 @@
#include <string.h>
#include <stdio.h>
+#define ORC_RESTRICT
+
#include "video-orc.h"
#include "video-format.h"
diff --git a/gst-libs/gst/video/video-converter.c b/gst-libs/gst/video/video-converter.c
index 22f81a465..147252415 100644
--- a/gst-libs/gst/video/video-converter.c
+++ b/gst-libs/gst/video/video-converter.c
@@ -29,6 +29,8 @@
#endif
#endif
+#define ORC_RESTRICT
+
#include "video-converter.h"
#include <glib.h>
--
2.47.0

View File

@ -1,7 +1,7 @@
From 0cd2cd6ffe7e5c2dc11cebf56aef39b23103c9aa Mon Sep 17 00:00:00 2001 From 5e45367c3abc0b5b6e391bc7ec959bb486d636b8 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com> From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 16 Dec 2024 11:24:39 +0100 Date: Tue, 1 Oct 2024 13:22:50 +0300
Subject: [PATCH 6/8] opusdec: Set at most 64 channels to NONE position Subject: [PATCH 03/10] opusdec: Set at most 64 channels to NONE position
Thanks to Antonio Morales for finding and reporting the issue. Thanks to Antonio Morales for finding and reporting the issue.
@ -10,14 +10,14 @@ Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3871
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8096> Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8096>
--- ---
ext/opus/gstopusdec.c | 4 ++-- subprojects/gst-plugins-base/ext/opus/gstopusdec.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c diff --git a/subprojects/gst-plugins-base/ext/opus/gstopusdec.c b/subprojects/gst-plugins-base/ext/opus/gstopusdec.c
index 7ff9bee2e..16b2a2932 100644 index 60f8879dc5..03d061ad00 100644
--- a/ext/opus/gstopusdec.c --- a/subprojects/gst-plugins-base/ext/opus/gstopusdec.c
+++ b/ext/opus/gstopusdec.c +++ b/subprojects/gst-plugins-base/ext/opus/gstopusdec.c
@@ -369,12 +369,12 @@ gst_opus_dec_parse_header (GstOpusDec * dec, GstBuffer * buf) @@ -440,12 +440,12 @@ gst_opus_dec_parse_header (GstOpusDec * dec, GstBuffer * buf)
posn = gst_opus_channel_positions[dec->n_channels - 1]; posn = gst_opus_channel_positions[dec->n_channels - 1];
break; break;
default:{ default:{

View File

@ -1,36 +0,0 @@
From 5e8fa4cb835a938aba72f2b7ccd3e784e5886df8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 13 Jun 2023 12:53:13 +0300
Subject: [PATCH 3/8] subparse: Look for the closing `>` of a tag after the
opening `<`
Previously when fixing up subrip markip, we were looking from the start
of the remaining buffer instead. Due to how skipping over closing tags
works, the remaining buffer will still contain the closing `>` of the
previous tag so if a unexpected closing tag is found after another
closing tag, we would potentially do an out of bounds memmove().
Fixes ZDI-CAN-20968
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2662
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895>
---
gst/subparse/gstsubparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
index 425415874..e8d3ecaef 100644
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -814,7 +814,7 @@ subrip_fix_up_markup (gchar ** p_txt, gconstpointer allowed_tags_ptr)
}
if (*next_tag == '<' && *(next_tag + 1) == '/') {
- end_tag = strchr (cur, '>');
+ end_tag = strchr (next_tag, '>');
if (end_tag) {
const gchar *last = NULL;
if (num_open_tags > 0)
--
2.47.0

View File

@ -1,33 +0,0 @@
From 889e0b00c2b3b4ecb8ab8116d6192ee7f3b37909 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 13 Jun 2023 12:58:26 +0300
Subject: [PATCH 4/8] subparse: Skip after the end of a valid closing tag
instead of only skipping `<`
This is a small optimization and avoids restarting the next parsing
iteration on already accepted data.
On its own it would also fix ZDI-CAN-20968 (see previous commit) but the
previous commit independently is also a valid fix for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895>
---
gst/subparse/gstsubparse.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
index e8d3ecaef..9336419e1 100644
--- a/gst/subparse/gstsubparse.c
+++ b/gst/subparse/gstsubparse.c
@@ -827,6 +827,8 @@ subrip_fix_up_markup (gchar ** p_txt, gconstpointer allowed_tags_ptr)
} else {
--num_open_tags;
g_ptr_array_remove_index (open_tags, num_open_tags);
+ cur = end_tag + 1;
+ continue;
}
}
}
--
2.47.0

View File

@ -1,7 +1,7 @@
From 478653961d090f868521e8513518fe8d7c67cba3 Mon Sep 17 00:00:00 2001 From 6b757bd74b49cbcdabea2a87449038314ce926f9 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com> From: Mathieu Duponchelle <mathieu@centricular.com>
Date: Mon, 16 Dec 2024 11:26:07 +0100 Date: Wed, 2 Oct 2024 15:16:30 +0200
Subject: [PATCH 7/8] vorbis_parse: check writes to Subject: [PATCH 04/10] vorbis_parse: check writes to
GstOggStream.vorbis_mode_sizes GstOggStream.vorbis_mode_sizes
Thanks to Antonio Morales for finding and reporting the issue. Thanks to Antonio Morales for finding and reporting the issue.
@ -12,13 +12,13 @@ Also perform out-of-bounds check for accesses to op->packet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8097> Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8097>
--- ---
ext/ogg/vorbis_parse.c | 21 +++++++++++++++++++++ .../gst-plugins-base/ext/ogg/vorbis_parse.c | 21 +++++++++++++++++++
1 file changed, 21 insertions(+) 1 file changed, 21 insertions(+)
diff --git a/ext/ogg/vorbis_parse.c b/ext/ogg/vorbis_parse.c diff --git a/subprojects/gst-plugins-base/ext/ogg/vorbis_parse.c b/subprojects/gst-plugins-base/ext/ogg/vorbis_parse.c
index 2d85e9397..df52f7eb5 100644 index 65ef463808..757c7cd82b 100644
--- a/ext/ogg/vorbis_parse.c --- a/subprojects/gst-plugins-base/ext/ogg/vorbis_parse.c
+++ b/ext/ogg/vorbis_parse.c +++ b/subprojects/gst-plugins-base/ext/ogg/vorbis_parse.c
@@ -165,6 +165,10 @@ gst_parse_vorbis_setup_packet (GstOggStream * pad, ogg_packet * op) @@ -165,6 +165,10 @@ gst_parse_vorbis_setup_packet (GstOggStream * pad, ogg_packet * op)
if (offset == 0) { if (offset == 0) {
offset = 8; offset = 8;
@ -60,7 +60,7 @@ index 2d85e9397..df52f7eb5 100644
/* mask part of byte from current_pos */ /* mask part of byte from current_pos */
size_check = (current_pos[0] & ((1 << (offset + 1)) - 1)); size_check = (current_pos[0] & ((1 << (offset + 1)) - 1));
/* shift to appropriate position */ /* shift to appropriate position */
@@ -229,6 +246,10 @@ gst_parse_vorbis_setup_packet (GstOggStream * pad, ogg_packet * op) @@ -233,6 +250,10 @@ gst_parse_vorbis_setup_packet (GstOggStream * pad, ogg_packet * op)
mode_size_ptr = pad->vorbis_mode_sizes; mode_size_ptr = pad->vorbis_mode_sizes;

View File

@ -1,69 +0,0 @@
From 58deb2c68fda0cf46a03643aefa28efdc0753efa Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Fri, 8 Nov 2024 10:45:07 +0100
Subject: [PATCH 5/8] exiftag: Prevent integer overflows and out of bounds
reads when handling undefined tags
Fixes ZDI-CAN-23896
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3483
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6768>
---
gst-libs/gst/tag/gstexiftag.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/gst-libs/gst/tag/gstexiftag.c b/gst-libs/gst/tag/gstexiftag.c
index b615779be..558996b42 100644
--- a/gst-libs/gst/tag/gstexiftag.c
+++ b/gst-libs/gst/tag/gstexiftag.c
@@ -1372,6 +1372,8 @@ parse_exif_long_tag (GstExifReader * reader, const GstExifTagMatch * tag,
}
}
+static inline gboolean size_checked_add(gsize *dest, gsize a, gsize b) {
+ *dest = a + b; return *dest >= a; }
static void
parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag,
@@ -1383,6 +1385,7 @@ parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag,
if (count > 4) {
GstMapInfo info;
+ gsize alloc_size;
if (offset < reader->base_offset) {
GST_WARNING ("Offset is smaller (%u) than base offset (%u)", offset,
@@ -1404,14 +1407,28 @@ parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag,
return;
}
+ if (info.size - real_offset < count) {
+ GST_WARNING ("Invalid size %u for buffer of size %" G_GSIZE_FORMAT
+ ", not adding tag %s", count, info.size, tag->gst_tag);
+ gst_buffer_unmap (reader->buffer, &info);
+ return;
+ }
+
+ if (!size_checked_add (&alloc_size, count, 1)) {
+ GST_WARNING ("Invalid size %u for buffer of size %" G_GSIZE_FORMAT
+ ", not adding tag %s", real_offset, info.size, tag->gst_tag);
+ gst_buffer_unmap (reader->buffer, &info);
+ return;
+ }
+
/* +1 because it could be a string without the \0 */
- data = malloc (sizeof (guint8) * count + 1);
+ data = malloc (alloc_size);
memcpy (data, info.data + real_offset, count);
data[count] = 0;
gst_buffer_unmap (reader->buffer, &info);
} else {
- data = malloc (sizeof (guint8) * count + 1);
+ data = malloc (count + 1);
memcpy (data, (guint8 *) offset_as_data, count);
data[count] = 0;
}
--
2.47.0

View File

@ -0,0 +1,164 @@
From ad43518d16302a97e74e4746730fac960718bd28 Mon Sep 17 00:00:00 2001
From: Mathieu Duponchelle <mathieu@centricular.com>
Date: Wed, 2 Oct 2024 16:52:51 +0200
Subject: [PATCH 05/10] oggstream: review and fix per-format min_packet_size
This addresses all manually detected invalid reads in setup functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8097>
---
.../gst-plugins-base/ext/ogg/gstoggstream.c | 40 ++++++-------------
1 file changed, 12 insertions(+), 28 deletions(-)
diff --git a/subprojects/gst-plugins-base/ext/ogg/gstoggstream.c b/subprojects/gst-plugins-base/ext/ogg/gstoggstream.c
index a8883304a5..ab6be238dc 100644
--- a/subprojects/gst-plugins-base/ext/ogg/gstoggstream.c
+++ b/subprojects/gst-plugins-base/ext/ogg/gstoggstream.c
@@ -665,11 +665,6 @@ setup_vp8_mapper (GstOggStream * pad, ogg_packet * packet)
{
gint width, height, par_n, par_d, fps_n, fps_d;
- if (packet->bytes < 26) {
- GST_DEBUG ("Failed to parse VP8 BOS page");
- return FALSE;
- }
-
width = GST_READ_UINT16_BE (packet->packet + 8);
height = GST_READ_UINT16_BE (packet->packet + 10);
par_n = GST_READ_UINT24_BE (packet->packet + 12);
@@ -1221,11 +1216,6 @@ setup_fishead_mapper (GstOggStream * pad, ogg_packet * packet)
gint64 prestime_n, prestime_d;
gint64 basetime_n, basetime_d;
- if (packet->bytes < 44) {
- GST_DEBUG ("Not enough data for fishead header");
- return FALSE;
- }
-
data = packet->packet;
data += 8; /* header */
@@ -1256,8 +1246,8 @@ setup_fishead_mapper (GstOggStream * pad, ogg_packet * packet)
pad->prestime = -1;
/* Ogg Skeleton 3.3+ streams provide additional information in the header */
- if (packet->bytes >= SKELETON_FISHEAD_3_3_MIN_SIZE && pad->skeleton_major == 3
- && pad->skeleton_minor > 0) {
+ if (packet->bytes - 44 >= SKELETON_FISHEAD_3_3_MIN_SIZE
+ && pad->skeleton_major == 3 && pad->skeleton_minor > 0) {
gint64 firstsampletime_n, firstsampletime_d;
gint64 lastsampletime_n, lastsampletime_d;
gint64 firstsampletime, lastsampletime;
@@ -1296,7 +1286,7 @@ setup_fishead_mapper (GstOggStream * pad, ogg_packet * packet)
GST_INFO ("skeleton fishead parsed total: %" GST_TIME_FORMAT,
GST_TIME_ARGS (pad->total_time));
- } else if (packet->bytes >= SKELETON_FISHEAD_4_0_MIN_SIZE
+ } else if (packet->bytes - 44 >= SKELETON_FISHEAD_4_0_MIN_SIZE
&& pad->skeleton_major == 4) {
guint64 segment_length, content_offset;
@@ -1980,9 +1970,6 @@ setup_kate_mapper (GstOggStream * pad, ogg_packet * packet)
guint8 *data = packet->packet;
const char *category;
- if (packet->bytes < 64)
- return FALSE;
-
pad->granulerate_n = GST_READ_UINT32_LE (data + 24);
pad->granulerate_d = GST_READ_UINT32_LE (data + 28);
pad->granuleshift = GST_READ_UINT8 (data + 15);
@@ -2111,9 +2098,6 @@ setup_opus_mapper (GstOggStream * pad, ogg_packet * packet)
{
GstBuffer *buffer;
- if (packet->bytes < 19)
- return FALSE;
-
pad->granulerate_n = 48000;
pad->granulerate_d = 1;
pad->granuleshift = 0;
@@ -2394,7 +2378,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "\001vorbis", 7, 22,
+ "\001vorbis", 7, 29,
"audio/x-vorbis",
setup_vorbis_mapper,
NULL,
@@ -2426,7 +2410,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "PCM ", 8, 0,
+ "PCM ", 8, 28,
"audio/x-raw",
setup_pcm_mapper,
NULL,
@@ -2442,7 +2426,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "CMML\0\0\0\0", 8, 0,
+ "CMML\0\0\0\0", 8, 29,
"text/x-cmml",
setup_cmml_mapper,
NULL,
@@ -2458,7 +2442,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "Annodex", 7, 0,
+ "Annodex", 7, 44,
"application/x-annodex",
setup_fishead_mapper,
NULL,
@@ -2537,7 +2521,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "CELT ", 8, 0,
+ "CELT ", 8, 60,
"audio/x-celt",
setup_celt_mapper,
NULL,
@@ -2553,7 +2537,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "\200kate\0\0\0", 8, 0,
+ "\200kate\0\0\0", 8, 64,
"text/x-kate",
setup_kate_mapper,
NULL,
@@ -2585,7 +2569,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "OVP80\1\1", 7, 4,
+ "OVP80\1\1", 7, 26,
"video/x-vp8",
setup_vp8_mapper,
setup_vp8_mapper_from_caps,
@@ -2601,7 +2585,7 @@ const GstOggMap mappers[] = {
update_stats_vp8
},
{
- "OpusHead", 8, 0,
+ "OpusHead", 8, 19,
"audio/x-opus",
setup_opus_mapper,
NULL,
@@ -2649,7 +2633,7 @@ const GstOggMap mappers[] = {
NULL
},
{
- "\001text\0\0\0", 9, 9,
+ "\001text\0\0\0", 9, 25,
"application/x-ogm-text",
setup_ogmtext_mapper,
NULL,
--
2.47.0

View File

@ -0,0 +1,34 @@
From e660aefc79c6bd8e2ced88ce04f56be67c5b4650 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 30 Sep 2024 18:19:30 +0300
Subject: [PATCH 06/10] discoverer: Don't print channel layout for more than 64
channels
64+ channels are always unpositioned / unknown layout.
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-248
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3864
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8098>
---
subprojects/gst-plugins-base/tools/gst-discoverer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/gst-plugins-base/tools/gst-discoverer.c b/subprojects/gst-plugins-base/tools/gst-discoverer.c
index b042be535d..6028fc71c9 100644
--- a/subprojects/gst-plugins-base/tools/gst-discoverer.c
+++ b/subprojects/gst-plugins-base/tools/gst-discoverer.c
@@ -222,7 +222,7 @@ format_channel_mask (GstDiscovererAudioInfo * ainfo)
channel_mask = gst_discoverer_audio_info_get_channel_mask (ainfo);
- if (channel_mask != 0) {
+ if (channel_mask != 0 && channels <= 64) {
gst_audio_channel_positions_from_mask (channels, channel_mask, position);
for (i = 0; i < channels; i++) {
--
2.47.0

View File

@ -0,0 +1,31 @@
From dafd5895149f29528342ddecd7ef210dd5597421 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 30 Sep 2024 21:35:07 +0300
Subject: [PATCH 07/10] vorbisdec: Set at most 64 channels to NONE position
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-115
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3869
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8101>
---
subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c b/subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c
index 6a410ed858..1fc4fa883e 100644
--- a/subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c
+++ b/subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c
@@ -204,7 +204,7 @@ vorbis_handle_identification_packet (GstVorbisDec * vd)
}
default:{
GstAudioChannelPosition position[64];
- gint i, max_pos = MAX (vd->vi.channels, 64);
+ gint i, max_pos = MIN (vd->vi.channels, 64);
GST_ELEMENT_WARNING (vd, STREAM, DECODE,
(NULL), ("Using NONE channel layout for more than 8 channels"));
--
2.47.0

View File

@ -0,0 +1,34 @@
From 6c650a7655dbc4b3237b17440eb52fb0f5a193cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 30 Sep 2024 21:40:44 +0300
Subject: [PATCH 08/10] ssaparse: Search for closing brace after opening brace
Otherwise removing anything between the braces leads to out of bound writes if
there is a closing brace before the first opening brace.
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-228
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3870
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8099>
---
subprojects/gst-plugins-base/gst/subparse/gstssaparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c b/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
index d6fdb9c9fc..8ed0134102 100644
--- a/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
+++ b/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
@@ -238,7 +238,7 @@ gst_ssa_parse_remove_override_codes (GstSsaParse * parse, gchar * txt)
gboolean removed_any = FALSE;
while ((t = strchr (txt, '{'))) {
- end = strchr (txt, '}');
+ end = strchr (t, '}');
if (end == NULL) {
GST_WARNING_OBJECT (parse, "Missing { for style override code");
return removed_any;
--
2.47.0

View File

@ -1,31 +0,0 @@
From 58375a492ee3b28e6e7f3d0be0f4bd9ec861a8cf Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Mon, 16 Dec 2024 11:27:39 +0100
Subject: [PATCH 8/8] vorbisdec: Set at most 64 channels to NONE position
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-115
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3869
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8101>
---
ext/vorbis/gstvorbisdec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ext/vorbis/gstvorbisdec.c b/ext/vorbis/gstvorbisdec.c
index a0b48b71b..b44398945 100644
--- a/ext/vorbis/gstvorbisdec.c
+++ b/ext/vorbis/gstvorbisdec.c
@@ -191,7 +191,7 @@ vorbis_handle_identification_packet (GstVorbisDec * vd)
}
default:{
GstAudioChannelPosition position[64];
- gint i, max_pos = MAX (vd->vi.channels, 64);
+ gint i, max_pos = MIN (vd->vi.channels, 64);
GST_ELEMENT_WARNING (vd, STREAM, DECODE,
(NULL), ("Using NONE channel layout for more than 8 channels"));
--
2.47.0

View File

@ -0,0 +1,95 @@
From e724bd66a099d0d866edfab6c5418c2826854d79 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 30 Sep 2024 18:36:19 +0300
Subject: [PATCH 09/10] ssaparse: Don't use strstr() on strings that are
potentially not NULL-terminated
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8099>
---
.../gst/subparse/gstssaparse.c | 36 ++++++++++++++++++-
subprojects/gst-plugins-base/meson.build | 1 +
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c b/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
index 8ed0134102..2d8daf77e1 100644
--- a/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
+++ b/subprojects/gst-plugins-base/gst/subparse/gstssaparse.c
@@ -146,6 +146,35 @@ gst_ssa_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
return res;
}
+#ifndef HAVE_MEMMEM
+// memmem() is a GNU extension so if it's not available we'll need
+// our own implementation here. Thanks C.
+static void *
+my_memmem (const void *haystack, size_t haystacklen, const void *needle,
+ size_t needlelen)
+{
+ const guint8 *cur, *end;
+
+ if (needlelen > haystacklen)
+ return NULL;
+ if (needlelen == 0)
+ return (void *) haystack;
+
+
+ cur = haystack;
+ end = cur + haystacklen - needlelen;
+
+ for (; cur <= end; cur++) {
+ if (memcmp (cur, needle, needlelen) == 0)
+ return (void *) cur;
+ }
+
+ return NULL;
+}
+#else
+#define my_memmem memmem
+#endif
+
static gboolean
gst_ssa_parse_setcaps (GstPad * sinkpad, GstCaps * caps)
{
@@ -154,6 +183,7 @@ gst_ssa_parse_setcaps (GstPad * sinkpad, GstCaps * caps)
const GValue *val;
GstStructure *s;
const guchar bom_utf8[] = { 0xEF, 0xBB, 0xBF };
+ const guint8 header[] = "[Script Info]";
const gchar *end;
GstBuffer *priv;
GstMapInfo map;
@@ -193,7 +223,7 @@ gst_ssa_parse_setcaps (GstPad * sinkpad, GstCaps * caps)
left -= 3;
}
- if (!strstr (ptr, "[Script Info]"))
+ if (!my_memmem (ptr, left, header, sizeof (header) - 1))
goto invalid_init;
if (!g_utf8_validate (ptr, left, &end)) {
@@ -231,6 +261,10 @@ invalid_init:
}
}
+#ifdef my_memmem
+#undef my_memmem
+#endif
+
static gboolean
gst_ssa_parse_remove_override_codes (GstSsaParse * parse, gchar * txt)
{
diff --git a/subprojects/gst-plugins-base/meson.build b/subprojects/gst-plugins-base/meson.build
index 194de8c231..486833bd9f 100644
--- a/subprojects/gst-plugins-base/meson.build
+++ b/subprojects/gst-plugins-base/meson.build
@@ -199,6 +199,7 @@ check_functions = [
['HAVE_LRINTF', 'lrintf', '#include<math.h>'],
['HAVE_MMAP', 'mmap', '#include<sys/mman.h>'],
['HAVE_LOG2', 'log2', '#include<math.h>'],
+ ['HAVE_MEMMEM', 'memmem', '#include<string.h>'],
]
libm = cc.find_library('m', required : false)
--
2.47.0

View File

@ -0,0 +1,35 @@
From 570cba0db38693cc5576304b0f0fafaaddbdf750 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Wed, 9 Oct 2024 11:23:47 -0400
Subject: [PATCH 10/10] subparse: Check for NULL return of strchr() when
parsing LRC subtitles
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-263
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3892
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8100>
---
subprojects/gst-plugins-base/gst/subparse/gstsubparse.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c
index 1867dee69c..4ea4ec64a9 100644
--- a/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c
+++ b/subprojects/gst-plugins-base/gst/subparse/gstsubparse.c
@@ -1068,6 +1068,11 @@ parse_lrc (ParserState * state, const gchar * line)
return NULL;
start = strchr (line, ']');
+ // sscanf() does not check for the trailing ] but only up to the last
+ // placeholder, so there might be no ] at the end.
+ if (!start)
+ return NULL;
+
if (start - line == 9)
milli = 10;
else
--
2.47.0

12
SOURCES/xdg-compile.patch Normal file
View File

@ -0,0 +1,12 @@
diff -ru gst-plugins-base-1.18.4/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h gst-plugins-base-1.18.4.new/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
--- gst-plugins-base-1.18.4/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h 2021-03-15 18:48:01.251275800 +0100
+++ gst-plugins-base-1.18.4.new/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h 2022-01-14 16:53:07.235319602 +0100
@@ -22,7 +22,7 @@
#define __GST_GL_WINDOW_WAYLAND_EGL_H__
#include <wayland-client.h>
-#include "xdg-shell-client-protocol.h"
+#include "../xdg-shell-client-protocol.h"
#include <wayland-egl.h>
#include <wayland-cursor.h>

View File

@ -1,3 +1,6 @@
%bcond cdparanoia %{undefined rhel}
%bcond libvisual %{undefined rhel}
%global majorminor 1.0 %global majorminor 1.0
#global gitrel 140 #global gitrel 140
@ -5,11 +8,11 @@
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) #global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
Name: gstreamer1-plugins-base Name: gstreamer1-plugins-base
Version: 1.16.1 Version: 1.22.12
Release: 5%{?gitcommit:.git%{shortcommit}}%{?dist} Release: 4%{?dist}
Summary: GStreamer streaming media framework base plugins Summary: GStreamer streaming media framework base plugins
License: LGPLv2+ License: LGPL-2.1-or-later
URL: http://gstreamer.freedesktop.org/ URL: http://gstreamer.freedesktop.org/
%if 0%{?gitrel} %if 0%{?gitrel}
# git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-base # git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-base
@ -18,52 +21,61 @@ Source0: gst-plugins-base-%{version}.tar.xz
%else %else
Source0: http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz Source0: http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
%endif %endif
Patch0: 0001-missing-plugins-Remove-the-mpegaudioversion-field.patch Patch000: 0001-missing-plugins-Remove-the-mpegaudioversion-field.patch
Patch1: 0002-video-disable-ORC_RESTRICT.patch Patch001: xdg-compile.patch
Patch2: 0003-subparse-Look-for-the-closing-of-a-tag-after-the-ope.patch Patch002: 0002-id3v2-Don-t-try-parsing-extended-header-if-not-enoug.patch
Patch3: 0004-subparse-Skip-after-the-end-of-a-valid-closing-tag-i.patch Patch003: 0003-opusdec-Set-at-most-64-channels-to-NONE-position.patch
Patch4: 0005-exiftag-Prevent-integer-overflows-and-out-of-bounds-.patch Patch004: 0004-vorbis_parse-check-writes-to-GstOggStream.vorbis_mod.patch
Patch5: 0006-opusdec-Set-at-most-64-channels-to-NONE-position.patch Patch005: 0005-oggstream-review-and-fix-per-format-min_packet_size.patch
Patch6: 0007-vorbis_parse-check-writes-to-GstOggStream.vorbis_mod.patch Patch006: 0006-discoverer-Don-t-print-channel-layout-for-more-than-.patch
Patch7: 0008-vorbisdec-Set-at-most-64-channels-to-NONE-position.patch Patch007: 0007-vorbisdec-Set-at-most-64-channels-to-NONE-position.patch
Patch008: 0008-ssaparse-Search-for-closing-brace-after-opening-brac.patch
Patch009: 0009-ssaparse-Don-t-use-strstr-on-strings-that-are-potent.patch
Patch010: 0010-subparse-Check-for-NULL-return-of-strchr-when-parsin.patch
BuildRequires: meson >= 0.48.0
BuildRequires: gcc
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gstreamer1-devel >= %{version} BuildRequires: gstreamer1-devel >= %{version}
BuildRequires: gobject-introspection-devel >= 1.31.1 BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: iso-codes-devel BuildRequires: iso-codes-devel
BuildRequires: python3-devel
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
%if 0%{?fedora} %if %{with cdparanoia}
BuildRequires: cdparanoia-devel BuildRequires: cdparanoia-devel
%endif %endif
BuildRequires: libogg-devel >= 1.0 BuildRequires: libogg-devel >= 1.0
BuildRequires: libtheora-devel >= 1.1 BuildRequires: libtheora-devel >= 1.1
%if %{with libvisual}
BuildRequires: libvisual-devel BuildRequires: libvisual-devel
%endif
BuildRequires: libvorbis-devel >= 1.0 BuildRequires: libvorbis-devel >= 1.0
BuildRequires: libXv-devel BuildRequires: libXv-devel
BuildRequires: orc-devel >= 0.4.18 BuildRequires: orc-devel >= 0.4.18
BuildRequires: pango-devel BuildRequires: pango-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: opus-devel BuildRequires: opus-devel
BuildRequires: gdk-pixbuf2-devel
BuildRequires: gtk3-devel
BuildRequires: libjpeg-turbo-devel
# for autogen.sh # for autogen.sh
BuildRequires: automake gettext-devel libtool
BuildRequires: chrpath
BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libGLES-devel BuildRequires: mesa-libGLES-devel
BuildRequires: mesa-libGLU-devel BuildRequires: mesa-libGLU-devel
BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libEGL-devel
BuildRequires: mesa-libgbm-devel
BuildRequires: libgudev-devel
BuildRequires: wayland-devel BuildRequires: wayland-devel
BuildRequires: egl-wayland-devel BuildRequires: egl-wayland-devel
BuildRequires: graphene-devel
# pkgconfig-style deps specifically searched-for by autotools/configure # pkgconfig-style deps specifically searched-for by autotools/configure
BuildRequires: pkgconfig(wayland-client) >= 1.0 BuildRequires: pkgconfig(wayland-client) >= 1.0
BuildRequires: pkgconfig(wayland-cursor) >= 1.0 BuildRequires: pkgconfig(wayland-cursor) >= 1.0
BuildRequires: pkgconfig(wayland-egl) >= 9.0 BuildRequires: pkgconfig(wayland-egl) >= 9.0
BuildRequires: pkgconfig(wayland-protocols) >= 1.15 BuildRequires: pkgconfig(wayland-protocols) >= 1.15
# documentation
BuildRequires: gtk-doc >= 1.3
Requires: iso-codes Requires: iso-codes
# libgstgl moved here # libgstgl moved here
@ -108,6 +120,7 @@ The %{name}-devel package contains libraries and header files
for developing applications that use %{name}. for developing applications that use %{name}.
%if 0
%package devel-docs %package devel-docs
Summary: Developer documentation for GStreamer Base plugins library Summary: Developer documentation for GStreamer Base plugins library
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -116,38 +129,39 @@ BuildArch: noarch
%description devel-docs %description devel-docs
This %{name}-devel-docs package contains developer documentation This %{name}-devel-docs package contains developer documentation
for the GStreamer Base Plugins library. for the GStreamer Base Plugins library.
%endif
%prep %prep
%setup -q -n gst-plugins-base-%{version} %setup -q -n gst-plugins-base-%{version}
%patch0 -p1 %patch -P 0 -p3
%patch1 -p1 %patch -P 1 -p1
%patch2 -p1 %patch -P 2 -p3
%patch3 -p1 %patch -P 3 -p3
%patch4 -p1 %patch -P 4 -p3
%patch5 -p1 %patch -P 5 -p3
%patch6 -p1 %patch -P 6 -p3
%patch7 -p1 %patch -P 7 -p3
%patch -P 8 -p3
%patch -P 9 -p3
%patch -P 10 -p3
%build %build
# die rpath (method of modifying libtool fails here) %meson \
NOCONFIGURE=1 \ -D package-name='Fedora GStreamer-plugins-base package' \
./autogen.sh -D package-origin='http://download.fedoraproject.org' \
-D gl_winsys=wayland,x11,gbm \
%configure \ %{!?with_cdparanoia:-D cdparanoia=disabled} \
--with-package-name='GStreamer-plugins-base package' \ %{!?with_libvisual:-D libvisual=disabled} \
--with-package-origin='http://www.redhat.com' \ -D doc=disabled \
--enable-experimental \ -D orc=enabled \
--disable-fatal-warnings \ -D tremor=disabled \
--disable-silent-rules \ -D tests=disabled \
--enable-gtk-doc \ -D examples=disabled
--enable-orc %meson_build
%make_build V=1
%install %install
%make_install %meson_install
# Register as an AppStream component to be visible in the software center # Register as an AppStream component to be visible in the software center
# #
@ -213,9 +227,8 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libgstaudio-1.0.so.*
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstapp.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstapp.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstencoding.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstencoding.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstrawparse.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstrawparse.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstplayback.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstplayback.so
%if 0%{?fedora} %if %{with cdparanoia}
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcdparanoia.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcdparanoia.so
%endif %endif
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libgstriff-1.0.so.* chrpath --delete $RPM_BUILD_ROOT%{_libdir}/libgstriff-1.0.so.*
@ -223,9 +236,11 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstxvimage
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgsttheora.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgsttheora.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudioresample.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudioresample.so
%if %{with libvisual}
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstlibvisual.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstlibvisual.so
%endif
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideoconvert.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideoconvertscale.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.so
chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstadder.so chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstadder.so
@ -239,7 +254,7 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%files -f gst-plugins-base-%{majorminor}.lang %files -f gst-plugins-base-%{majorminor}.lang
%license COPYING %license COPYING
%doc AUTHORS README REQUIREMENTS %doc AUTHORS NEWS README.md README.static-linking RELEASE REQUIREMENTS
%{_datadir}/appdata/*.appdata.xml %{_datadir}/appdata/*.appdata.xml
%{_libdir}/libgstallocators-%{majorminor}.so.* %{_libdir}/libgstallocators-%{majorminor}.so.*
%{_libdir}/libgstaudio-%{majorminor}.so.* %{_libdir}/libgstaudio-%{majorminor}.so.*
@ -265,6 +280,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%{_libdir}/girepository-1.0/GstSdp-%{majorminor}.typelib %{_libdir}/girepository-1.0/GstSdp-%{majorminor}.typelib
%{_libdir}/girepository-1.0/GstTag-%{majorminor}.typelib %{_libdir}/girepository-1.0/GstTag-%{majorminor}.typelib
%{_libdir}/girepository-1.0/GstVideo-%{majorminor}.typelib %{_libdir}/girepository-1.0/GstVideo-%{majorminor}.typelib
%{_libdir}/girepository-1.0/GstGLEGL-%{majorminor}.typelib
%{_libdir}/girepository-1.0/GstGLWayland-%{majorminor}.typelib
%{_libdir}/girepository-1.0/GstGLX11-%{majorminor}.typelib
# base plugins without external dependencies # base plugins without external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstadder.so %{_libdir}/gstreamer-%{majorminor}/libgstadder.so
@ -284,19 +302,20 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so %{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so
%{_libdir}/gstreamer-%{majorminor}/libgsttcp.so %{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
%{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so %{_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideoconvert.so %{_libdir}/gstreamer-%{majorminor}/libgstvideoconvertscale.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so %{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.so %{_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstvolume.so %{_libdir}/gstreamer-%{majorminor}/libgstvolume.so
# base plugins with dependencies # base plugins with dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstalsa.so %{_libdir}/gstreamer-%{majorminor}/libgstalsa.so
%if 0%{?fedora} %if %{with cdparanoia}
%{_libdir}/gstreamer-%{majorminor}/libgstcdparanoia.so %{_libdir}/gstreamer-%{majorminor}/libgstcdparanoia.so
%endif %endif
%{_libdir}/gstreamer-%{majorminor}/libgstopengl.so %{_libdir}/gstreamer-%{majorminor}/libgstopengl.so
%if %{with libvisual}
%{_libdir}/gstreamer-%{majorminor}/libgstlibvisual.so %{_libdir}/gstreamer-%{majorminor}/libgstlibvisual.so
%endif
%{_libdir}/gstreamer-%{majorminor}/libgstogg.so %{_libdir}/gstreamer-%{majorminor}/libgstogg.so
%{_libdir}/gstreamer-%{majorminor}/libgstopus.so %{_libdir}/gstreamer-%{majorminor}/libgstopus.so
%{_libdir}/gstreamer-%{majorminor}/libgstpango.so %{_libdir}/gstreamer-%{majorminor}/libgstpango.so
@ -427,6 +446,7 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%{_includedir}/gstreamer-%{majorminor}/gst/video/colorbalancechannel.h %{_includedir}/gstreamer-%{majorminor}/gst/video/colorbalancechannel.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaffinetransformationmeta.h %{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaffinetransformationmeta.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaggregator.h %{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoaggregator.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideocodecalphameta.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideodecoder.h %{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideodecoder.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoencoder.h %{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideoencoder.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideofilter.h %{_includedir}/gstreamer-%{majorminor}/gst/video/gstvideofilter.h
@ -447,9 +467,11 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-event.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-event.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-format.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-format.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-frame.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-frame.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-hdr.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-info.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-info.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-multiview.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-multiview.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-resampler.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-resampler.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-sei.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-scaler.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-scaler.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video-tile.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video-tile.h
%{_includedir}/gstreamer-%{majorminor}/gst/video/video.h %{_includedir}/gstreamer-%{majorminor}/gst/video/video.h
@ -484,43 +506,212 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-play-1.0
%{_datadir}/gir-1.0/GstSdp-%{majorminor}.gir %{_datadir}/gir-1.0/GstSdp-%{majorminor}.gir
%{_datadir}/gir-1.0/GstTag-%{majorminor}.gir %{_datadir}/gir-1.0/GstTag-%{majorminor}.gir
%{_datadir}/gir-1.0/GstVideo-%{majorminor}.gir %{_datadir}/gir-1.0/GstVideo-%{majorminor}.gir
%{_datadir}/gir-1.0/GstGLEGL-%{majorminor}.gir
%{_datadir}/gir-1.0/GstGLWayland-%{majorminor}.gir
%{_datadir}/gir-1.0/GstGLX11-%{majorminor}.gir
# pkg-config files # pkg-config files
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%if 0
%files devel-docs %files devel-docs
%doc %{_datadir}/gtk-doc/html/gst-plugins-base-libs-%{majorminor} %doc %{_datadir}/gtk-doc/html/gst-plugins-base-libs-%{majorminor}
%doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor} %doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor}
%endif
%changelog %changelog
* Mon Dec 16 2024 Wim Taymans <wtaymans@redhat.com> - 1.16.1-5 * Fri Dec 13 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.12-4
- Fixes for CVE-2024-47538, CVE-2024-47607, CVE-2024-47615 - Bump version
Resolves: RHEL-70974, RHEL-71010, RHEL-70986 - Apply patches for CVE-2024-47538, CVE-2024-47541, CVE-2024-47542,
CVE-2024-47600, CVE-2024-47607, CVE-2024-47615, CVE-2024-47835
Resolves: RHEL-70983, RHEL-71035, RHEL-70932, RHEL-71037
Resolves: RHEL-71019, RHEL-70995, RHEL-71163
* Fri Nov 08 2024 Wim Taymans <wtaymans@redhat.com> - 1.16.1-4 * Sat Nov 09 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.12-3
- CVE-2024-4453 gstreamer1: EXIF Metadata Parsing Integer Overflow - Rebuild
- Resolves: RHEL-38509 - Resolves: RHEL-38511, RHEL-41157
* Wed Jan 17 2024 Wim Taymans <wtaymans@redhat.com> - 1.16.1-3 * Fri Nov 08 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.12-2
- CVE-2023-37328 gstreamer1-plugins-base: heap overwrite in subtitle parsing - Rebuild
- Resolves: RHEL-19472 - Resolves: RHEL-38511, RHEL-41157
* Wed Dec 9 2020 Wim Taymans <wtaymans@redhat.com> - 1.16.1-2 * Fri Jun 14 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.12-1
- Fix man file names for Flatpak builds - Update to 1.22.12
- Resolves: rhbz#1895935
* Thu Nov 15 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.1-1 * Thu May 02 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.9-2
- Disable libvisual in RHEL builds
* Thu Jan 25 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.22.9-1
- 1.22.9
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.8-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Dec 18 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.8-1
- 1.22.8
* Tue Nov 14 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.7-1
- 1.22.7
* Fri Jul 21 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.5-1
- Update to 1.22.5
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 08 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.3-2
- Disable cdparanoia in RHEL builds
* Thu May 25 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.3-1
- Update to 1.22.3
* Thu Apr 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.2-1
- Update to 1.22.2
* Mon Mar 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-1
- Update to 1.22.1
* Tue Jan 24 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.0-1
- Update to 1.22.0
* Fri Jan 20 2023 Wim Taymans <wtaymans@redhat.com> - 1.21.90-1
- Update to 1.21.90
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 11 2023 Wim Taymans <wtaymans@redhat.com> - 1.20.5-1
- Update to 1.20.5
* Thu Oct 13 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.4-1
- Update to 1.20.4
* Tue Sep 27 2022 Erico Nunes <ernunes@redhat.com> - 1.20.3-3
- Enable gbm winsys
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jul 18 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.3-1
- Update to 1.20.3
* Fri Feb 4 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.0-1
- Update to 1.20.0
* Wed Jan 26 2022 Wim Taymans <wtaymans@redhat.com> - 1.19.3-3
- Fix build, gtk_doc does not exist anymore.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Nov 11 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.3-1
- Update to 1.19.3
* Thu Sep 23 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.2-1
- Update to 1.19.2
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 03 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.1-1
- Update to 1.19.1
* Tue Mar 16 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-1
- Update to 1.18.4
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Dec 10 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.2-1
- Update to 1.18.2
* Fri Oct 30 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.1-1
- Update to 1.18.1
* Tue Sep 8 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.0-1
- Update to 1.18.0
* Fri Aug 21 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.90-1
- Update to 1.17.90
- Add new gir and typelib files
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 6 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.2-1
- Update to 1.17.2
* Mon Jun 22 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.1-1
- Update to 1.17.1
- Use meson
- disable docs
* Thu Apr 16 2020 Wim Taymans <wtaymans@redhat.com> - 1.16.2-3
- Add BR graphene-devel to build gltransform
- Fixes rhbz#1822387
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jan 2 2020 Wim Taymans <wtaymans@redhat.com> - 1.16.2-1
- Update to 1.16.2
* Tue Sep 24 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.1-1
- Update to 1.16.1 - Update to 1.16.1
- Resolves: rhbz#1756299
* Mon Sep 03 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-4 * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-2
- Remove cdparanoia dependency - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
- Resolves: rhbz#1605265
* Mon Aug 13 2018 Troy Dawson <tdawson@redhat.com> - 1.14.0-3 * Tue Apr 23 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.0-1
- Add BuildRequest python3-devel - Update to 1.16.0
* Thu Mar 07 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.15.2-2
- update wayland-related build deps, --enable-gtk-doc
* Thu Mar 07 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.15.2-1
- %%build: --disable-gtk-doc to workaround FTBFS (hopefully temporary)
* Fri Mar 01 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.2-1
- Update to 1.15.2
- Add egl-wayland dep
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 28 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.2-1
- rebuild for dependencies
* Fri Jan 25 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.1-1
- Update to 1.15.1
* Fri Jan 11 2019 Bastien Nocera <bnocera@redhat.com> - 1.14.4-2
+ gstreamer1-plugins-base-1.14.4-2
- Fix thumbnail colours for 10-bit MPEG-4 files
* Wed Oct 03 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.4-1
- Update to 1.14.4
* Tue Sep 18 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.3-1
- Update to 1.14.3
* Mon Jul 23 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.2-1
- Update to 1.14.2
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 25 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-3
- rebuild (#1581325)
* Tue May 22 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.1-2
- rebuild (file)
* Mon May 21 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-1
- Update to 1.14.1
- Remove obsolete patches
* Mon Mar 26 2018 Tomas Popela <tpopela@redhat.com> - 1.14.0-2 * Mon Mar 26 2018 Tomas Popela <tpopela@redhat.com> - 1.14.0-2
- Enable Wayland support (previously disabled due to missing wayland-devel - Enable Wayland support (previously disabled due to missing wayland-devel