From 26a58929ae4dae9c591853126e5cc9fa464e5c1c Mon Sep 17 00:00:00 2001 From: AlmaLinux RelEng Bot Date: Wed, 1 Apr 2026 05:39:17 -0400 Subject: [PATCH] import Oracle_OSS gstreamer1-plugins-good-1.24.11-2.el10_1 --- .gitignore | 2 +- .gstreamer1-plugins-good.metadata | 1 - ...or-out-if-anyone-tries-to-use-this-e.patch | 107 ++++ ...x-extraction-of-multichannel-WavPack.patch | 201 ------- ...itialize-track-context-out-parameter.patch | 38 -- ...integer-overflow-in-available-data-c.patch | 55 -- ...teger-overflow-when-parsing-Theora-e.patch | 41 -- ...ck-if-initializing-the-video-info-ac.patch | 49 -- ...ly-unmap-GstMapInfo-in-WavPack-heade.patch | 52 -- ...x-off-by-one-when-parsing-multi-chan.patch | 27 - ...ger-overflow-when-allocating-the-sam.patch | 59 --- ...e-only-an-even-number-of-bytes-is-pr.patch | 40 -- gstreamer-good.appdata.xml | 40 ++ ...-good.spec => gstreamer1-plugins-good.spec | 498 +++++++++++++----- sources | 1 + 15 files changed, 509 insertions(+), 702 deletions(-) delete mode 100644 .gstreamer1-plugins-good.metadata create mode 100644 0001-rtpqdm2depay-error-out-if-anyone-tries-to-use-this-e.patch delete mode 100644 SOURCES/0001-matroskademux-Fix-extraction-of-multichannel-WavPack.patch delete mode 100644 SOURCES/0002-matroskademux-Initialize-track-context-out-parameter.patch delete mode 100644 SOURCES/0003-flacparse-Avoid-integer-overflow-in-available-data-c.patch delete mode 100644 SOURCES/0004-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch delete mode 100644 SOURCES/0005-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch delete mode 100644 SOURCES/0006-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch delete mode 100644 SOURCES/0007-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch delete mode 100644 SOURCES/0008-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch delete mode 100644 SOURCES/0009-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch create mode 100644 gstreamer-good.appdata.xml rename SPECS/gstreamer1-plugins-good.spec => gstreamer1-plugins-good.spec (62%) create mode 100644 sources diff --git a/.gitignore b/.gitignore index db6c98f..852944e 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/gst-plugins-good-1.16.1.tar.xz +gst-plugins-good-1.24.11.tar.xz diff --git a/.gstreamer1-plugins-good.metadata b/.gstreamer1-plugins-good.metadata deleted file mode 100644 index 5b6c993..0000000 --- a/.gstreamer1-plugins-good.metadata +++ /dev/null @@ -1 +0,0 @@ -2b88a2d36bc53bed1b06c359ed676ec8b8675d5c SOURCES/gst-plugins-good-1.16.1.tar.xz diff --git a/0001-rtpqdm2depay-error-out-if-anyone-tries-to-use-this-e.patch b/0001-rtpqdm2depay-error-out-if-anyone-tries-to-use-this-e.patch new file mode 100644 index 0000000..00bcde6 --- /dev/null +++ b/0001-rtpqdm2depay-error-out-if-anyone-tries-to-use-this-e.patch @@ -0,0 +1,107 @@ +From 88bc030b7fd223c7e0c4d17995aff06f5a5a5a3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= +Date: Sun, 8 Feb 2026 16:01:21 +0000 +Subject: [PATCH] rtpqdm2depay: error out if anyone tries to use this element + +Forbid use of this element and comment out all processing code. + +There is no plausible reason this code should ever be executed in 2026 +seeing that this was a streaming format produced by Darwin Streaming Server +ca 2009 which hasn't been in active use for well over a decade. + +We simply error out for now as defensive measure and will remove the +element entirely in the next release cycle. + +The processing functions are hairy and rather tedious to fix without +at least some sample stream at hand. + +If anyone actually does have a legitimate need for this element and +can provide a sample streams, we will happily implement a depayloader +in Rust. + +Fixes ZDI-CAN-28850, ZDI-CAN-28851, ZDI-CAN-28851, ZDI-CAN-28850, GST-SA-2026-0008. + +Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4903 +Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4890 + +Part-of: +--- + .../gst-plugins-good/gst/rtp/gstrtpqdmdepay.c | 25 ++++++++++++++++++- + 1 file changed, 24 insertions(+), 1 deletion(-) + +diff --git a/subprojects/gst-plugins-good/gst/rtp/gstrtpqdmdepay.c b/subprojects/gst-plugins-good/gst/rtp/gstrtpqdmdepay.c +index 3edfb46301..1d69fc2e1c 100644 +--- a/subprojects/gst-plugins-good/gst/rtp/gstrtpqdmdepay.c ++++ b/subprojects/gst-plugins-good/gst/rtp/gstrtpqdmdepay.c +@@ -57,11 +57,13 @@ G_DEFINE_TYPE (GstRtpQDM2Depay, gst_rtp_qdm2_depay, + GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (rtpqdm2depay, "rtpqdm2depay", + GST_RANK_SECONDARY, GST_TYPE_RTP_QDM2_DEPAY, _do_init); + ++#if 0 + static const guint8 headheader[20] = { + 0x0, 0x0, 0x0, 0xc, 0x66, 0x72, 0x6d, 0x61, + 0x51, 0x44, 0x4d, 0x32, 0x0, 0x0, 0x0, 0x24, + 0x51, 0x44, 0x43, 0x41 + }; ++#endif + + static void gst_rtp_qdm2_depay_finalize (GObject * object); + +@@ -138,6 +140,7 @@ gst_rtp_qdm2_depay_setcaps (GstRTPBaseDepayload * filter, GstCaps * caps) + return TRUE; + } + ++#if 0 + static void + flush_data (GstRtpQDM2Depay * depay) + { +@@ -230,10 +233,26 @@ add_packet (GstRtpQDM2Depay * depay, guint32 pid, guint32 len, guint8 * data) + memcpy (packet->data + packet->offs, data, len); + packet->offs += len; + } ++#endif + + static GstBuffer * + gst_rtp_qdm2_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp) + { ++ /* There is no plausible reason this code should ever be executed in 2026 ++ * seeing that this was a streaming format produced by Darwin Streaming Server ++ * ca 2009 which hasn't been in active use for well over a decade. ++ * ++ * We simply return here as defensive measure. ++ * ++ * We post an error message in the state change function, so this processing ++ * function should never be reached, we just ifdef the code out for clarity. ++ * ++ * If anyone actually does have a legitimate need for this and can provide ++ * sample streams, we will happily implement a depayloader in Rust. ++ */ ++ return NULL; ++ ++#if 0 + GstRtpQDM2Depay *rtpqdm2depay; + GstBuffer *outbuf = NULL; + guint16 seq; +@@ -378,6 +397,7 @@ bad_packet: + (NULL), ("Packet was too short")); + return NULL; + } ++#endif + } + + static GstStateChangeReturn +@@ -391,7 +411,10 @@ gst_rtp_qdm2_depay_change_state (GstElement * element, + + switch (transition) { + case GST_STATE_CHANGE_NULL_TO_READY: +- break; ++ GST_ELEMENT_ERROR (rtpqdm2depay, STREAM, DECODE, ++ ("This element should not be used."), ++ ("Please report an issue if you encounter this message.")); ++ return GST_STATE_CHANGE_FAILURE; + case GST_STATE_CHANGE_READY_TO_PAUSED: + gst_adapter_clear (rtpqdm2depay->adapter); + break; +-- +2.53.0 + diff --git a/SOURCES/0001-matroskademux-Fix-extraction-of-multichannel-WavPack.patch b/SOURCES/0001-matroskademux-Fix-extraction-of-multichannel-WavPack.patch deleted file mode 100644 index c57b440..0000000 --- a/SOURCES/0001-matroskademux-Fix-extraction-of-multichannel-WavPack.patch +++ /dev/null @@ -1,201 +0,0 @@ -From fff62c8b65cd18e2673944a2a9c95520e7b5ddf3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Thu, 4 Mar 2021 13:05:19 +0200 -Subject: [PATCH 1/9] matroskademux: Fix extraction of multichannel WavPack - -The old code had a couple of issues that all lead to potential memory -safety bugs. - - - Use a constant for the Wavpack4Header size instead of using sizeof. - It's written out into the data and not from the struct and who knows - what special alignment/padding requirements some C compilers have. - - gst_buffer_set_size() does not realloc the buffer when setting a - bigger size than allocated, it only allows growing up to the maximum - allocated size. Instead use a GstAdapter to collect all the blocks - and take out everything at once in the end. - - Check that enough data is actually available in the input and - otherwise handle it an error in all cases instead of silently - ignoring it. - -Among other things this fixes out of bounds writes because the code -assumed gst_buffer_set_size() can grow the buffer and simply wrote after -the end of the buffer. - -Thanks to Natalie Silvanovich for reporting. - -Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859 - -Part-of: ---- - gst/matroska/matroska-demux.c | 99 +++++++++++++++++++---------------- - gst/matroska/matroska-ids.h | 2 + - 2 files changed, 55 insertions(+), 46 deletions(-) - -diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c -index b2cd9b5d4..5e724c8e0 100644 ---- a/gst/matroska/matroska-demux.c -+++ b/gst/matroska/matroska-demux.c -@@ -3704,6 +3704,12 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - guint32 block_samples, tmp; - gsize size = gst_buffer_get_size (*buf); - -+ if (size < 4) { -+ GST_ERROR_OBJECT (element, "Too small wavpack buffer"); -+ gst_buffer_unmap (*buf, &map); -+ return GST_FLOW_ERROR; -+ } -+ - gst_buffer_extract (*buf, 0, &tmp, sizeof (guint32)); - block_samples = GUINT32_FROM_LE (tmp); - /* we need to reconstruct the header of the wavpack block */ -@@ -3711,10 +3717,10 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - /* -20 because ck_size is the size of the wavpack block -8 - * and lace_size is the size of the wavpack block + 12 - * (the three guint32 of the header that already are in the buffer) */ -- wvh.ck_size = size + sizeof (Wavpack4Header) - 20; -+ wvh.ck_size = size + WAVPACK4_HEADER_SIZE - 20; - - /* block_samples, flags and crc are already in the buffer */ -- newbuf = gst_buffer_new_allocate (NULL, sizeof (Wavpack4Header) - 12, NULL); -+ newbuf = gst_buffer_new_allocate (NULL, WAVPACK4_HEADER_SIZE - 12, NULL); - - gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE); - data = outmap.data; -@@ -3739,9 +3745,11 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - audiocontext->wvpk_block_index += block_samples; - } else { - guint8 *outdata = NULL; -- guint outpos = 0; -- gsize buf_size, size, out_size = 0; -+ gsize buf_size, size; - guint32 block_samples, flags, crc, blocksize; -+ GstAdapter *adapter; -+ -+ adapter = gst_adapter_new (); - - gst_buffer_map (*buf, &map, GST_MAP_READ); - buf_data = map.data; -@@ -3750,6 +3758,7 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - if (buf_size < 4) { - GST_ERROR_OBJECT (element, "Too small wavpack buffer"); - gst_buffer_unmap (*buf, &map); -+ g_object_unref (adapter); - return GST_FLOW_ERROR; - } - -@@ -3771,59 +3780,57 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - data += 4; - size -= 4; - -- if (blocksize == 0 || size < blocksize) -- break; -- -- g_assert ((newbuf == NULL) == (outdata == NULL)); -+ if (blocksize == 0 || size < blocksize) { -+ GST_ERROR_OBJECT (element, "Too small wavpack buffer"); -+ gst_buffer_unmap (*buf, &map); -+ g_object_unref (adapter); -+ return GST_FLOW_ERROR; -+ } - -- if (newbuf == NULL) { -- out_size = sizeof (Wavpack4Header) + blocksize; -- newbuf = gst_buffer_new_allocate (NULL, out_size, NULL); -+ g_assert (newbuf == NULL); - -- gst_buffer_copy_into (newbuf, *buf, -- GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1); -+ newbuf = -+ gst_buffer_new_allocate (NULL, WAVPACK4_HEADER_SIZE + blocksize, -+ NULL); -+ gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE); -+ outdata = outmap.data; -+ -+ outdata[0] = 'w'; -+ outdata[1] = 'v'; -+ outdata[2] = 'p'; -+ outdata[3] = 'k'; -+ outdata += 4; -+ -+ GST_WRITE_UINT32_LE (outdata, blocksize + WAVPACK4_HEADER_SIZE - 8); -+ GST_WRITE_UINT16_LE (outdata + 4, wvh.version); -+ GST_WRITE_UINT8 (outdata + 6, wvh.track_no); -+ GST_WRITE_UINT8 (outdata + 7, wvh.index_no); -+ GST_WRITE_UINT32_LE (outdata + 8, wvh.total_samples); -+ GST_WRITE_UINT32_LE (outdata + 12, wvh.block_index); -+ GST_WRITE_UINT32_LE (outdata + 16, block_samples); -+ GST_WRITE_UINT32_LE (outdata + 20, flags); -+ GST_WRITE_UINT32_LE (outdata + 24, crc); -+ outdata += 28; -+ -+ memcpy (outdata, data, blocksize); - -- outpos = 0; -- gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE); -- outdata = outmap.data; -- } else { -- gst_buffer_unmap (newbuf, &outmap); -- out_size += sizeof (Wavpack4Header) + blocksize; -- gst_buffer_set_size (newbuf, out_size); -- gst_buffer_map (newbuf, &outmap, GST_MAP_WRITE); -- outdata = outmap.data; -- } -+ gst_buffer_unmap (newbuf, &outmap); -+ gst_adapter_push (adapter, newbuf); -+ newbuf = NULL; - -- outdata[outpos] = 'w'; -- outdata[outpos + 1] = 'v'; -- outdata[outpos + 2] = 'p'; -- outdata[outpos + 3] = 'k'; -- outpos += 4; -- -- GST_WRITE_UINT32_LE (outdata + outpos, -- blocksize + sizeof (Wavpack4Header) - 8); -- GST_WRITE_UINT16_LE (outdata + outpos + 4, wvh.version); -- GST_WRITE_UINT8 (outdata + outpos + 6, wvh.track_no); -- GST_WRITE_UINT8 (outdata + outpos + 7, wvh.index_no); -- GST_WRITE_UINT32_LE (outdata + outpos + 8, wvh.total_samples); -- GST_WRITE_UINT32_LE (outdata + outpos + 12, wvh.block_index); -- GST_WRITE_UINT32_LE (outdata + outpos + 16, block_samples); -- GST_WRITE_UINT32_LE (outdata + outpos + 20, flags); -- GST_WRITE_UINT32_LE (outdata + outpos + 24, crc); -- outpos += 28; -- -- memmove (outdata + outpos, data, blocksize); -- outpos += blocksize; - data += blocksize; - size -= blocksize; - } - gst_buffer_unmap (*buf, &map); -- gst_buffer_unref (*buf); - -- if (newbuf) -- gst_buffer_unmap (newbuf, &outmap); -+ newbuf = gst_adapter_take_buffer (adapter, gst_adapter_available (adapter)); -+ g_object_unref (adapter); - -+ gst_buffer_copy_into (newbuf, *buf, -+ GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_FLAGS, 0, -1); -+ gst_buffer_unref (*buf); - *buf = newbuf; -+ - audiocontext->wvpk_block_index += block_samples; - } - -diff --git a/gst/matroska/matroska-ids.h b/gst/matroska/matroska-ids.h -index 9b263d8a1..a0d68343f 100644 ---- a/gst/matroska/matroska-ids.h -+++ b/gst/matroska/matroska-ids.h -@@ -667,6 +667,8 @@ typedef struct _Wavpack4Header { - guint32 crc; /* crc for actual decoded data */ - } Wavpack4Header; - -+#define WAVPACK4_HEADER_SIZE (32) -+ - typedef enum { - GST_MATROSKA_TRACK_ENCODING_SCOPE_FRAME = (1<<0), - GST_MATROSKA_TRACK_ENCODING_SCOPE_CODEC_DATA = (1<<1), --- -2.47.0 - diff --git a/SOURCES/0002-matroskademux-Initialize-track-context-out-parameter.patch b/SOURCES/0002-matroskademux-Initialize-track-context-out-parameter.patch deleted file mode 100644 index a399516..0000000 --- a/SOURCES/0002-matroskademux-Initialize-track-context-out-parameter.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a88489c4bc2a807912a12398c04c0fc8579037df Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Wed, 3 Mar 2021 11:31:52 +0200 -Subject: [PATCH 2/9] matroskademux: Initialize track context out parameter to - NULL before parsing - -Various error return paths don't set it to NULL and callers are only -checking if the pointer is NULL. As it's allocated on the stack this -usually contains random stack memory, and more often than not the memory -of a previously parsed track. - -This then causes all kinds of memory corruptions further down the line. - -Thanks to Natalie Silvanovich for reporting. - -Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/858 - -Part-of: ---- - gst/matroska/matroska-demux.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c -index 5e724c8e0..f890ae611 100644 ---- a/gst/matroska/matroska-demux.c -+++ b/gst/matroska/matroska-demux.c -@@ -660,6 +660,8 @@ gst_matroska_demux_parse_stream (GstMatroskaDemux * demux, GstEbmlRead * ebml, - - DEBUG_ELEMENT_START (demux, ebml, "TrackEntry"); - -+ *dest_context = NULL; -+ - /* start with the master */ - if ((ret = gst_ebml_read_master (ebml, &id)) != GST_FLOW_OK) { - DEBUG_ELEMENT_STOP (demux, ebml, "TrackEntry", ret); --- -2.47.0 - diff --git a/SOURCES/0003-flacparse-Avoid-integer-overflow-in-available-data-c.patch b/SOURCES/0003-flacparse-Avoid-integer-overflow-in-available-data-c.patch deleted file mode 100644 index e376298..0000000 --- a/SOURCES/0003-flacparse-Avoid-integer-overflow-in-available-data-c.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 2150d2ade8bd5949fa18fcc75b78016e3becc92b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= -Date: Tue, 13 Jun 2023 13:20:16 +0300 -Subject: [PATCH 3/9] flacparse: Avoid integer overflow in available data check - for image tags - -If the image length as stored in the file is some bogus integer then -adding it to the current byte readers position can overflow and wrongly -have the check for enough available data succeed. - -This then later can cause NULL pointer dereferences or out of bounds -reads/writes when actually reading the image data. - -Fixes ZDI-CAN-20775 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2661 - -Part-of: ---- - gst/audioparsers/gstflacparse.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c -index 2758d4cfc..cd5a48bee 100644 ---- a/gst/audioparsers/gstflacparse.c -+++ b/gst/audioparsers/gstflacparse.c -@@ -1109,6 +1109,7 @@ gst_flac_parse_handle_picture (GstFlacParse * flacparse, GstBuffer * buffer) - GstMapInfo map; - guint32 img_len = 0, img_type = 0; - guint32 img_mimetype_len = 0, img_description_len = 0; -+ const guint8 *img_data; - - gst_buffer_map (buffer, &map, GST_MAP_READ); - gst_byte_reader_init (&reader, map.data, map.size); -@@ -1135,7 +1136,7 @@ gst_flac_parse_handle_picture (GstFlacParse * flacparse, GstBuffer * buffer) - if (!gst_byte_reader_get_uint32_be (&reader, &img_len)) - goto error; - -- if (gst_byte_reader_get_pos (&reader) + img_len > map.size) -+ if (!gst_byte_reader_get_data (&reader, img_len, &img_data)) - goto error; - - GST_INFO_OBJECT (flacparse, "Got image of %d bytes", img_len); -@@ -1144,8 +1145,7 @@ gst_flac_parse_handle_picture (GstFlacParse * flacparse, GstBuffer * buffer) - if (flacparse->tags == NULL) - flacparse->tags = gst_tag_list_new_empty (); - -- gst_tag_list_add_id3_image (flacparse->tags, -- map.data + gst_byte_reader_get_pos (&reader), img_len, img_type); -+ gst_tag_list_add_id3_image (flacparse->tags, img_data, img_len, img_type); - } - - gst_buffer_unmap (buffer, &map); --- -2.47.0 - diff --git a/SOURCES/0004-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch b/SOURCES/0004-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch deleted file mode 100644 index e38261b..0000000 --- a/SOURCES/0004-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch +++ /dev/null @@ -1,41 +0,0 @@ -From f0007ee8579f97999d69bbc6d7f9ac166a06fddb Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:45:27 +0100 -Subject: [PATCH 4/9] qtdemux: Avoid integer overflow when parsing Theora - extension - -Thanks to Antonio Morales for finding and reporting the issue. - -Fixes GHSL-2024-166 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3851 - -Part-of: ---- - gst/isomp4/qtdemux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c -index ad07c1e36..229edb3e5 100644 ---- a/gst/isomp4/qtdemux.c -+++ b/gst/isomp4/qtdemux.c -@@ -7816,7 +7816,7 @@ qtdemux_parse_theora_extension (GstQTDemux * qtdemux, QtDemuxStream * stream, - end -= 8; - - while (buf < end) { -- gint size; -+ guint32 size; - guint32 type; - - size = QT_UINT32 (buf); -@@ -7824,7 +7824,7 @@ qtdemux_parse_theora_extension (GstQTDemux * qtdemux, QtDemuxStream * stream, - - GST_LOG_OBJECT (qtdemux, "%p %p", buf, end); - -- if (buf + size > end || size <= 0) -+ if (end - buf < size || size < 8) - break; - - buf += 8; --- -2.47.0 - diff --git a/SOURCES/0005-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch b/SOURCES/0005-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch deleted file mode 100644 index 4402b01..0000000 --- a/SOURCES/0005-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 8d4c79e61a62245dc6a499b0a439317bb37d0508 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:47:09 +0100 -Subject: [PATCH 5/9] gdkpixbufdec: Check if initializing the video info - actually succeeded - -Otherwise a 0-byte buffer would be allocated, which gives NULL memory when -mapped. - -Thanks to Antonio Morales for finding and reporting the issue. - -Fixes GHSL-2024-118 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3876 - -Part-of: ---- - ext/gdk_pixbuf/gstgdkpixbufdec.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/ext/gdk_pixbuf/gstgdkpixbufdec.c b/ext/gdk_pixbuf/gstgdkpixbufdec.c -index c119236a8..c0ecb3a08 100644 ---- a/ext/gdk_pixbuf/gstgdkpixbufdec.c -+++ b/ext/gdk_pixbuf/gstgdkpixbufdec.c -@@ -318,7 +318,8 @@ gst_gdk_pixbuf_dec_flush (GstGdkPixbufDec * filter) - - - gst_video_info_init (&info); -- gst_video_info_set_format (&info, fmt, width, height); -+ if (!gst_video_info_set_format (&info, fmt, width, height)) -+ goto format_not_supported; - info.fps_n = filter->in_fps_n; - info.fps_d = filter->in_fps_d; - caps = gst_video_info_to_caps (&info); -@@ -379,6 +380,12 @@ channels_not_supported: - ("%d channels not supported", n_channels)); - return GST_FLOW_ERROR; - } -+format_not_supported: -+ { -+ GST_ELEMENT_ERROR (filter, STREAM, DECODE, (NULL), -+ ("%d channels with %dx%d not supported", n_channels, width, height)); -+ return GST_FLOW_ERROR; -+ } - no_buffer: - { - GST_DEBUG ("Failed to create outbuffer - %s", gst_flow_get_name (ret)); --- -2.47.0 - diff --git a/SOURCES/0006-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch b/SOURCES/0006-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch deleted file mode 100644 index 3551bad..0000000 --- a/SOURCES/0006-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch +++ /dev/null @@ -1,52 +0,0 @@ -From c7f995f1030efb3281faa72a1a8827969f3591bc Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:48:03 +0100 -Subject: [PATCH 6/9] matroskademux: Only unmap GstMapInfo in WavPack header - extraction error paths if previously mapped - -Thanks to Antonio Morales for finding and reporting the issue. - -Fixes GHSL-2024-197 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3863 - -Part-of: ---- - gst/matroska/matroska-demux.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c -index f890ae611..2db68bc1f 100644 ---- a/gst/matroska/matroska-demux.c -+++ b/gst/matroska/matroska-demux.c -@@ -3687,7 +3687,6 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - GstMatroskaTrackAudioContext *audiocontext = - (GstMatroskaTrackAudioContext *) stream; - GstBuffer *newbuf = NULL; -- GstMapInfo map, outmap; - guint8 *buf_data, *data; - Wavpack4Header wvh; - -@@ -3704,11 +3703,11 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - - if (audiocontext->channels <= 2) { - guint32 block_samples, tmp; -+ GstMapInfo outmap; - gsize size = gst_buffer_get_size (*buf); - - if (size < 4) { - GST_ERROR_OBJECT (element, "Too small wavpack buffer"); -- gst_buffer_unmap (*buf, &map); - return GST_FLOW_ERROR; - } - -@@ -3746,6 +3745,7 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - *buf = newbuf; - audiocontext->wvpk_block_index += block_samples; - } else { -+ GstMapInfo map, outmap; - guint8 *outdata = NULL; - gsize buf_size, size; - guint32 block_samples, flags, crc, blocksize; --- -2.47.0 - diff --git a/SOURCES/0007-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch b/SOURCES/0007-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch deleted file mode 100644 index e4c6335..0000000 --- a/SOURCES/0007-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 5d1ac58fa39a4e8e1cb0545c44aae69f71099f27 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:49:04 +0100 -Subject: [PATCH 7/9] matroskademux: Fix off-by-one when parsing multi-channel - WavPack - -Part-of: ---- - gst/matroska/matroska-demux.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c -index 2db68bc1f..0466c9a6b 100644 ---- a/gst/matroska/matroska-demux.c -+++ b/gst/matroska/matroska-demux.c -@@ -3771,7 +3771,7 @@ gst_matroska_demux_add_wvpk_header (GstElement * element, - data += 4; - size -= 4; - -- while (size > 12) { -+ while (size >= 12) { - flags = GST_READ_UINT32_LE (data); - data += 4; - size -= 4; --- -2.47.0 - diff --git a/SOURCES/0008-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch b/SOURCES/0008-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch deleted file mode 100644 index 6b3cd53..0000000 --- a/SOURCES/0008-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch +++ /dev/null @@ -1,59 +0,0 @@ -From f3358d7e6fb9540e45f1cde0378e94482846f216 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:49:37 +0100 -Subject: [PATCH 8/9] qtdemux: Fix integer overflow when allocating the samples - table for fragmented MP4 - -This can lead to out of bounds writes and NULL pointer dereferences. - -Fixes GHSL-2024-094, GHSL-2024-237, GHSL-2024-241 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3839 - -Part-of: ---- - gst/isomp4/qtdemux.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c -index 229edb3e5..a37c92933 100644 ---- a/gst/isomp4/qtdemux.c -+++ b/gst/isomp4/qtdemux.c -@@ -3327,6 +3327,7 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun, - gint i; - guint8 *data; - guint entry_size, dur_offset, size_offset, flags_offset = 0, ct_offset = 0; -+ guint new_n_samples; - QtDemuxSample *sample; - gboolean ismv = FALSE; - gint64 initial_offset; -@@ -3426,14 +3427,13 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun, - goto fail; - data = (guint8 *) gst_byte_reader_peek_data_unchecked (trun); - -- if (stream->n_samples + samples_count >= -- QTDEMUX_MAX_SAMPLE_INDEX_SIZE / sizeof (QtDemuxSample)) -+ if (!g_uint_checked_add (&new_n_samples, stream->n_samples, samples_count) || -+ new_n_samples >= QTDEMUX_MAX_SAMPLE_INDEX_SIZE / sizeof (QtDemuxSample)) - goto index_too_big; - - GST_DEBUG_OBJECT (qtdemux, "allocating n_samples %u * %u (%.2f MB)", -- stream->n_samples + samples_count, (guint) sizeof (QtDemuxSample), -- (stream->n_samples + samples_count) * -- sizeof (QtDemuxSample) / (1024.0 * 1024.0)); -+ new_n_samples, (guint) sizeof (QtDemuxSample), -+ (new_n_samples) * sizeof (QtDemuxSample) / (1024.0 * 1024.0)); - - /* create a new array of samples if it's the first sample parsed */ - if (stream->n_samples == 0) { -@@ -3442,7 +3442,7 @@ qtdemux_parse_trun (GstQTDemux * qtdemux, GstByteReader * trun, - /* or try to reallocate it with space enough to insert the new samples */ - } else - stream->samples = g_try_renew (QtDemuxSample, stream->samples, -- stream->n_samples + samples_count); -+ new_n_samples); - if (stream->samples == NULL) - goto out_of_memory; - --- -2.47.0 - diff --git a/SOURCES/0009-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch b/SOURCES/0009-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch deleted file mode 100644 index 9867f2c..0000000 --- a/SOURCES/0009-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6b751c71eb130f2c69eeacf5f47e0d6de639dc78 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 16 Dec 2024 11:52:04 +0100 -Subject: [PATCH 9/9] qtdemux: Make sure only an even number of bytes is - processed when handling CEA608 data - -An odd number of bytes would lead to out of bound reads and writes, and doesn't -make any sense as CEA608 comes in byte pairs. - -Strip off any leftover bytes and assume everything before that is valid. - -Thanks to Antonio Morales for finding and reporting the issue. - -Fixes GHSL-2024-195 -Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3841 - -Part-of: ---- - gst/isomp4/qtdemux.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c -index a37c92933..8336ff302 100644 ---- a/gst/isomp4/qtdemux.c -+++ b/gst/isomp4/qtdemux.c -@@ -5612,6 +5612,11 @@ convert_to_s334_1a (const guint8 * ccpair, guint8 ccpair_size, guint field, - guint8 *storage; - gsize i; - -+ /* Strip off any leftover odd bytes and assume everything before is valid */ -+ if (ccpair_size % 2 != 0) { -+ ccpair_size -= 1; -+ } -+ - /* We are converting from pairs to triplets */ - *res = ccpair_size / 2 * 3; - storage = g_malloc (*res); --- -2.47.0 - diff --git a/gstreamer-good.appdata.xml b/gstreamer-good.appdata.xml new file mode 100644 index 0000000..dc38b0f --- /dev/null +++ b/gstreamer-good.appdata.xml @@ -0,0 +1,40 @@ + + + + gstreamer-good + CC0-1.0 + GStreamer Multimedia Codecs + Multimedia playback for APE, AVI, DV, FLAC, FLX, Flash, MKV, MP4, Speex, VP8, VP9 and WAV + +

+ This addon includes several good quality codecs that are well tested. + These codecs can be used to encode and decode media files where the + format is not patent encumbered. +

+

+ A codec decodes audio and video for for playback or editing and is also + used for transmission or storage. + Different codecs are used in video-conferencing, streaming media and + video editing applications. +

+
+ + APE + AVI + DV + FLAC + FLX + Flash + MKV + MP4 + Speex + VP8 + VP9 + WAV + + http://gstreamer.freedesktop.org/ + https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer + http://www.gnome.org/friends/ + http://gstreamer.freedesktop.org/documentation/ + +
diff --git a/SPECS/gstreamer1-plugins-good.spec b/gstreamer1-plugins-good.spec similarity index 62% rename from SPECS/gstreamer1-plugins-good.spec rename to gstreamer1-plugins-good.spec index 2515917..b0903cf 100644 --- a/SPECS/gstreamer1-plugins-good.spec +++ b/gstreamer1-plugins-good.spec @@ -1,12 +1,32 @@ %global majorminor 1.0 -# Only build extras on Fedora +# Only build extras on fedora %if 0%{?fedora} %bcond_without extras -%bcond_without qt +%bcond_without nasm %else %bcond_with extras -%bcond_with qt +%bcond_with nasm +%endif + +# Only build amrnb/amrwbdec on fedora +%if 0%{?fedora} +%bcond_without amr +%else +%bcond_with amr +%endif + +# RHEL 10 will provide Qt 6 and drop Qt 5 +%if 0%{?rhel} >= 10 +%bcond_with qt5 +%else +%bcond_without qt5 +%endif + +%if 0%{?rhel} && 0%{?rhel} < 10 +%bcond_with qt6 +%else +%bcond_without qt6 %endif #global gitrel 140 @@ -14,11 +34,11 @@ #global shortcommit %(c=%{gitcommit}; echo ${c:0:5}) Name: gstreamer1-plugins-good -Version: 1.16.1 -Release: 5%{?gitcommit:.git%{shortcommit}}%{?dist} +Version: 1.24.11 +Release: 2%{?dist} Summary: GStreamer plugins with good code and licensing -License: LGPLv2+ +License: CC0-1.0 AND GPL-2.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND xlock AND MIT AND BSD-3-Clause AND CC-BY-3.0 URL: http://gstreamer.freedesktop.org/ %if 0%{?gitrel} @@ -29,16 +49,15 @@ Source0: gst-plugins-good-%{version}.tar.xz Source0: http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-%{version}.tar.xz %endif -Patch0: 0001-matroskademux-Fix-extraction-of-multichannel-WavPack.patch -Patch1: 0002-matroskademux-Initialize-track-context-out-parameter.patch -Patch2: 0003-flacparse-Avoid-integer-overflow-in-available-data-c.patch -Patch3: 0004-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch -Patch4: 0005-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch -Patch5: 0006-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch -Patch6: 0007-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch -Patch7: 0008-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch -Patch8: 0009-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch +# Register as an AppStream component to be visible in the software center +# NOTE: It would be *awesome* if this file was maintained by the upstream +# project, translated and installed into the right place during `make install`. +# See http://www.freedesktop.org/software/appstream/docs/ for more details. +Source1: gstreamer-good.appdata.xml +Patch0001: 0001-rtpqdm2depay-error-out-if-anyone-tries-to-use-this-e.patch + +BuildRequires: meson >= 0.48.0 BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gstreamer1-devel >= %{version} @@ -51,7 +70,7 @@ BuildRequires: gdk-pixbuf2-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel >= 1.2.0 BuildRequires: libshout-devel -BuildRequires: libsoup-devel +BuildRequires: libsoup3-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXdamage-devel @@ -71,32 +90,34 @@ BuildRequires: mesa-libEGL-devel BuildRequires: lame-devel BuildRequires: mpg123-devel BuildRequires: twolame-devel +BuildRequires: qt6-qtshadertools +%if %{with nasm} +BuildRequires: nasm +%endif +BuildRequires: libgudev-devel +%if %{with amr} +BuildRequires: opencore-amr-devel +%endif +# extras +%if %{with extras} +BuildRequires: pipewire-jack-audio-connection-kit-devel %ifnarch s390 s390x BuildRequires: libavc1394-devel BuildRequires: libdv-devel BuildRequires: libiec61883-devel BuildRequires: libraw1394-devel %endif - -# extras -%if %{with extras} -BuildRequires: jack-audio-connection-kit-devel %endif -# documentation -%if ! 0%{?flatpak} -BuildRequires: gtk-doc -%endif -BuildRequires: python3-devel +# The soup elements dynamically load either version of libsoup at runtime, +# defaulting to libsoup3 if libsoup2 is not already loaded in the process +Recommends: libsoup3%{?_isa} # Obsoletes/Provides moved from plugins-bad-free Obsoletes: gstreamer1-plugin-mpg123 < 1.13.1 Provides: gstreamer1-plugin-mpg123 = %{version}-%{release} -# mpg123, lame, twolame were moved -> conflict old package version -Conflicts: gstreamer1-plugins-ugly-free < 1.13.1 - %description GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Applications using this library can do anything @@ -126,7 +147,7 @@ good quality and under the LGPL license. This package (%{name}-gtk) contains the gtksink output plugin. -%if %{with qt} +%if %{with qt5} %package qt Summary: GStreamer "good" plugins qt qml plugin Requires: %{name}%{?_isa} = %{version}-%{release} @@ -136,6 +157,8 @@ BuildRequires: pkgconfig(Qt5Qml) BuildRequires: pkgconfig(Qt5Quick) BuildRequires: pkgconfig(Qt5X11Extras) BuildRequires: pkgconfig(Qt5WaylandClient) +BuildRequires: qt5-qtbase-private-devel +BuildRequires: qt5-linguist Supplements: (gstreamer1-plugins-good and qt5-qtdeclarative) @@ -149,6 +172,30 @@ good quality and under the LGPL license. This package (%{name}-qt) contains the qtsink output plugin. %endif +%if %{with qt6} +%package qt6 +Summary: GStreamer "good" plugins qt6 qml plugin +Requires: %{name}%{?_isa} = %{version}-%{release} + +BuildRequires: pkgconfig(Qt6Gui) +BuildRequires: pkgconfig(Qt6Qml) +BuildRequires: pkgconfig(Qt6Quick) +BuildRequires: pkgconfig(Qt6WaylandClient) +BuildRequires: pkgconfig(Qt6Linguist) +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-linguist + +Supplements: (gstreamer1-plugins-good and qt6-qtdeclarative) + +%description qt6 +GStreamer is a streaming media framework, based on graphs of elements which +operate on media data. + +GStreamer Good Plugins is a collection of well-supported plugins of +good quality and under the LGPL license. + +This package (%{name}-qt6) contains the qml6sink output plugin. +%endif %if %{with extras} %package extras @@ -171,101 +218,54 @@ to be installed. %prep %setup -q -n gst-plugins-good-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 +%patch -P 0001 -p3 %build -%configure --disable-silent-rules --disable-fatal-warnings \ - --with-package-name='Fedora GStreamer-plugins-good package' \ - --with-package-origin='http://download.fedoraproject.org' \ - --enable-experimental \ -%if ! 0%{?flatpak} - --enable-gtk-doc \ -%endif - --enable-orc \ - --disable-monoscope \ - --disable-aalib \ - --disable-libcaca \ -%if %{with extras} - --enable-jack \ +%meson \ + -D package-name='Fedora GStreamer-plugins-good package' \ + -D package-origin='http://download.fedoraproject.org' \ + -D doc=disabled \ + -D asm=%{?with_nasm:enabled}%{!?with_nasm:disabled} \ + -D doc=disabled \ + -D orc=enabled \ + -D monoscope=disabled \ + -D aalib=disabled \ + -D libcaca=disabled \ + -D rpicamsrc=disabled \ + -D amrnb=%{?with_amr:enabled}%{!?with_amr:disabled} \ + -D amrwbdec=%{?with_amr:enabled}%{!?with_amr:disabled} \ + -D jack=%{?with_extras:enabled}%{!?with_extras:disabled} \ +%ifarch s390 s390x + -D dv=disabled -D dv1394=disabled \ %else - --disable-jack \ + -D dv=%{?with_extras:enabled}%{!?with_extras:disabled} \ + -D dv1394=%{?with_extras:enabled}%{!?with_extras:disabled} \ %endif - --with-default-visualizer=autoaudiosink -make %{?_smp_mflags} V=1 +%if 0%{?flatpak_runtime} + -D v4l2-gudev=disabled \ +%endif + -D qt-egl=disabled \ + -D qt5=%{?with_qt5:enabled}%{!?with_qt5:disabled} \ + -D qt6=%{?with_qt6:enabled}%{!?with_qt6:disabled} +%meson_build %install -make install DESTDIR=$RPM_BUILD_ROOT +%meson_install -# Register as an AppStream component to be visible in the software center -# -# NOTE: It would be *awesome* if this file was maintained by the upstream -# project, translated and installed into the right place during `make install`. -# -# See http://www.freedesktop.org/software/appstream/docs/ for more details. -# -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -cat > $RPM_BUILD_ROOT%{_datadir}/appdata/gstreamer-good.appdata.xml < - - - gstreamer-good - CC0-1.0 - GStreamer Multimedia Codecs - Multimedia playback for APE, AVI, DV, FLAC, FLX, Flash, MKV, MP4, Speex, VP8, VP9 and WAV - -

- This addon includes several good quality codecs that are well tested. - These codecs can be used to encode and decode media files where the - format is not patent encumbered. -

-

- A codec decodes audio and video for for playback or editing and is also - used for transmission or storage. - Different codecs are used in video-conferencing, streaming media and - video editing applications. -

-
- - APE - AVI - DV - FLAC - FLX - Flash - MKV - MP4 - Speex - VP8 - VP9 - WAV - - http://gstreamer.freedesktop.org/ - https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer - http://www.gnome.org/friends/ - http://gstreamer.freedesktop.org/documentation/ - -
-EOF +install -p -D %{SOURCE1} %{buildroot}%{_metainfodir}/gstreamer-good.appdata.xml + +find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';' %find_lang gst-plugins-good-%{majorminor} -find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' - - %files -f gst-plugins-good-%{majorminor}.lang %license COPYING -%doc AUTHORS README REQUIREMENTS -%{_datadir}/appdata/*.appdata.xml +%doc AUTHORS NEWS README.md README.static-linking RELEASE REQUIREMENTS +%{_metainfodir}/gstreamer-good.appdata.xml +%if 0 %doc %{_datadir}/gtk-doc/html/gst-plugins-good-plugins-%{majorminor} +%endif # presets %dir %{_datadir}/gstreamer-%{majorminor}/presets/ @@ -275,6 +275,7 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_datadir}/gstreamer-%{majorminor}/presets/GstQTMux.prs # non-core plugins without external dependencies +%{_libdir}/gstreamer-%{majorminor}/libgstadaptivedemux2.so %{_libdir}/gstreamer-%{majorminor}/libgstalaw.so %{_libdir}/gstreamer-%{majorminor}/libgstalphacolor.so %{_libdir}/gstreamer-%{majorminor}/libgstalpha.so @@ -320,6 +321,7 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_libdir}/gstreamer-%{majorminor}/libgstwavenc.so %{_libdir}/gstreamer-%{majorminor}/libgstwavparse.so %{_libdir}/gstreamer-%{majorminor}/libgstximagesrc.so +%{_libdir}/gstreamer-%{majorminor}/libgstxingmux.so %{_libdir}/gstreamer-%{majorminor}/libgsty4menc.so # gstreamer-plugins with external dependencies but in the main package @@ -342,60 +344,280 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' %{_libdir}/gstreamer-%{majorminor}/libgstmpg123.so %{_libdir}/gstreamer-%{majorminor}/libgsttwolame.so -%ifnarch s390 s390x -%{_libdir}/gstreamer-%{majorminor}/libgstdv.so -%{_libdir}/gstreamer-%{majorminor}/libgst1394.so +%if %{with amr} +%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so +%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so +%{_datadir}/gstreamer-%{majorminor}/presets/GstAmrnbEnc.prs %endif %files gtk # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstgtk.so -%if %{with qt} +%if %{with qt5} %files qt %{_libdir}/gstreamer-%{majorminor}/libgstqmlgl.so %endif +%if %{with qt6} +%files qt6 +%{_libdir}/gstreamer-%{majorminor}/libgstqml6.so +%endif + %if %{with extras} %files extras # Plugins with external dependencies %{_libdir}/gstreamer-%{majorminor}/libgstjack.so +%ifnarch s390 s390x +%{_libdir}/gstreamer-%{majorminor}/libgstdv.so +%{_libdir}/gstreamer-%{majorminor}/libgst1394.so +%endif %endif %changelog -* Mon Dec 16 2024 Wim Taymans - 1.16.1-5 -- CVE-2024-47537, CVE-2024-47539, CVE-2024-47540, CVE-2024-47606, - CVE-2024-47613 - Resolves: RHEL-70949, RHEL-70962, RHEL-70936, RHEL-71022 - Resolves: RHEL-70998 +* Mon Mar 30 2026 Wim Taymans - 1.24.11-2 +- Apply patches for CVE-2026-3083, CVE-2026-3085 + Resolves: RHEL-156130, RHEL-156109 -* Wed Jan 17 2024 Wim Taymans - 1.16.1-4 -- CVE-2023-37327: integer overflow leading to heap overwrite in - FLAC image tag handling -- Resolves: RHEL-19469 +* Tue Jan 14 2025 Wim Taymans - 1.24.11-1 +- Update to 1.24.11 + Resolves: RHEL-73676 -* Thu Jul 14 2022 Wim Taymans - 1.16.1-3 -- Add patches for matroskademux. CVE-2021-3497 -- Resolves: rhbz#1948942 +* Thu Dec 12 2024 Wim Taymans - 1.24.10-1 +- Update to 1.24.10 + Resolves: RHEL-70408, RHEL-71032, RHEL-71020, RHEL-70996 + Resolves: RHEL-70960, RHEL-70947, RHEL-70934 -* Wed Dec 9 2020 Wim Taymans - 1.16.1-2 -- Suppress documentation in Flatpak builds -- Resolves: rhbz#1895938 +* Tue Oct 29 2024 Troy Dawson - 1.24.6-2 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 -* Thu Nov 14 2019 Wim Taymans - 1.16.1-1 +* Mon Jul 29 2024 Gwyn Ciesla - 1.24.6-1 +- 1.24.6 + +* Thu Jul 18 2024 Fedora Release Engineering - 1.24.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 21 2024 Gwyn Ciesla - 1.24.5-1 +- 1.24.5 + +* Wed May 29 2024 Gwyn Ciesla - 1.24.4-1 +- 1.24.4 + +* Tue Apr 30 2024 Gwyn Ciesla - 1.24.3-1 +- 1.24.3 + +* Thu Apr 04 2024 Jan Grulich - 1.24.0-2 +- Rebuild (qt6) + +* Tue Mar 05 2024 Wim Taymans - 1.24.0-1 +- Update to 1.24.0 + +* Fri Feb 16 2024 Jan Grulich - 1.22.9-3 +- Rebuild (qt6) + +* Tue Feb 13 2024 Pete Walter - 1.22.9-2 +- Rebuild for libvpx 1.14.x + +* Thu Jan 25 2024 Gwyn Ciesla - 1.22.9-1 +- 1.22.9 + +* Wed Jan 24 2024 Fedora Release Engineering - 1.22.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.22.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Gwyn Ciesla - 1.22.8-1 +- 1.22.8 + +* Wed Nov 29 2023 Jan Grulich - 1.22.7-2 +- Rebuild (qt6) + +* Tue Nov 14 2023 Gwyn Ciesla - 1.22.7-1 +- 1.22.7 + +* Fri Oct 13 2023 Jan Grulich - 1.22.5-3 +- Rebuild (qt6) + +* Thu Oct 05 2023 Jan Grulich - 1.22.5-2 +- Rebuild (qt6) + +* Fri Jul 21 2023 Wim Taymans - 1.22.5-1 +- Update to 1.22.5 +- Disable qt-egl and add some BuildRequires to make things compile. + +* Thu Jul 20 2023 Fedora Release Engineering - 1.22.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Jun 18 2023 Yaakov Selkowitz - 1.22.3-2 +- Enable Qt6 plugin, disable Qt5 plugin for RHEL 10 + +* Thu May 25 2023 Wim Taymans - 1.22.3-1 +- Update to 1.22.3 + +* Thu Apr 13 2023 Wim Taymans - 1.22.2-1 +- Update to 1.22.2 + +* Mon Mar 13 2023 Wim Taymans - 1.22.1-1 +- Update to 1.22.1 + +* Wed Feb 15 2023 Tom Callaway - 1.22.0-2 +- rebuild for new libvpx + +* Tue Jan 24 2023 Wim Taymans - 1.22.0-1 +- Update to 1.22.0 + +* Fri Jan 20 2023 Wim Taymans - 1.21.90-1 +- Update to 1.21.90 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.20.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jan 11 2023 Wim Taymans - 1.20.5-1 +- Update to 1.20.5 + +* Thu Oct 13 2022 Wim Taymans - 1.20.4-1 +- Update to 1.20.4 + +* Tue Sep 13 2022 Michel Alexandre Salim - 1.20.3-3 +- Rebuilt for flac 1.4.0 + +* Thu Jul 21 2022 Fedora Release Engineering - 1.20.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jul 18 2022 Wim Taymans - 1.20.3-1 +- Update to 1.20.3 + +* Fri Feb 4 2022 Wim Taymans - 1.20.0-1 +- Update to 1.20.0 + +* Thu Jan 27 2022 Tom Callaway - 1.19.3-4 +- rebuild for libvpx + +* Wed Jan 26 2022 Wim Taymans - 1.19.3-3 +- Fix build + +* Thu Jan 20 2022 Fedora Release Engineering - 1.19.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Nov 11 2021 Wim Taymans - 1.19.3-1 +- Update to 1.19.3 + +* Thu Sep 23 2021 Wim Taymans - 1.19.2-1 +- Update to 1.19.2 + +* Thu Jul 22 2021 Fedora Release Engineering - 1.19.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 03 2021 Wim Taymans - 1.19.1-1 +- Update to 1.19.1 + +* Fri May 14 2021 Wim Taymans - 1.18.4-2 +- Move libdv and friends to extras + +* Tue Mar 16 2021 Wim Taymans - 1.18.4-1 +- Update to 1.18.4 + +* Tue Feb 23 2021 Wim Taymans - 1.18.2-3 +- use only nasm on fedora + +* Tue Jan 26 2021 Fedora Release Engineering - 1.18.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 10 2020 Wim Taymans - 1.18.2-1 +- Update to 1.18.2 + +* Fri Oct 30 2020 Wim Taymans - 1.18.1-1 +- Update to 1.18.1 + +* Wed Oct 28 2020 Jeff Law - 1.18.0-2 +- Fix bogus use of volatile diagnosed by gcc-11 + +* Tue Sep 8 2020 Wim Taymans - 1.18.0-1 +- Update to 1.18.0 + +* Fri Aug 21 2020 Wim Taymans - 1.17.90-1 +- Update to 1.17.90 +- disable rpicamsrc + +* Tue Jul 28 2020 Fedora Release Engineering - 1.17.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 6 2020 Wim Taymans - 1.17.2-1 +- Update to 1.17.2 + +* Mon Jun 22 2020 Wim Taymans - 1.17.1-1 +- Update to 1.17.1 +- disable dv and 1394 on s390 + +* Wed Jan 29 2020 Fedora Release Engineering - 1.16.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jan 2 2020 Wim Taymans - 1.16.2-1 +- Update to 1.16.2 + +* Fri Sep 27 2019 Wim Taymans - 1.16.1-2 +- Enable cairo plugins. (rhbz#1737254) + +* Tue Sep 24 2019 Wim Taymans - 1.16.1-1 - Update to 1.16.1 -- enable cairo plugins -- Resolves: rhbz#1756299 -* Tue Jul 17 2018 Wim Taymans - 1.14.0-4 -- Only build extras on Fedora +* Thu Jul 25 2019 Fedora Release Engineering - 1.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild -* Tue Jul 17 2018 Wim Taymans - 1.14.0-3 -- Conflict old package after move of mp3 plugins (#1578420) +* Tue Apr 23 2019 Wim Taymans - 1.16.0-1 +- Update to 1.16.0 -* Fri Jun 29 2018 Charalampos Stratakis - 1.14.0-2 -- Use Python 3 for docs generation +* Thu Mar 07 2019 Rex Dieter - 1.15.2-3 +- -qt: fix Supplements + +* Thu Mar 07 2019 Rex Dieter - 1.15.2-2 +- -qt subpkg + +* Fri Mar 01 2019 Wim Taymans - 1.15.2-1 +- Update to 1.15.2 + +* Tue Feb 05 2019 Björn Esser - 1.15.1-3 +- rebuilt (libvpx) + +* Fri Feb 01 2019 Fedora Release Engineering - 1.15.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Wim Taymans - 1.15.1-1 +- Update to 1.15.1 + +* Wed Oct 03 2018 Wim Taymans - 1.14.4-1 +- Update to 1.14.4 + +* Tue Sep 18 2018 Wim Taymans - 1.14.3-1 +- Update to 1.14.3 + +* Mon Jul 23 2018 Wim Taymans - 1.14.2-1 +- Update to 1.14.2 + +* Fri Jul 20 2018 Wim Taymans - 1.14.1-5 +- Add c++ buildrequires +- Only build extras on fedora + +* Fri Jul 13 2018 Fedora Release Engineering - 1.14.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri May 25 2018 Wim Taymans - 1.14.1-3 +- Rebuild to correct Provides (#1581325) +- Remove check line that was added for testing + +* Tue May 22 2018 Rex Dieter - 1.14.1-2 +- use %%make_build %%make_install %%_metainfodir +- %%build: --disable-qt (for now) + +* Mon May 21 2018 Wim Taymans - 1.14.1-1 +- Update to 1.14.1 + +* Fri Mar 23 2018 Iryna Shcherbina - 1.14.0-2 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) * Tue Mar 20 2018 Wim Taymans - 1.14.0-1 - Update to 1.14.0 diff --git a/sources b/sources new file mode 100644 index 0000000..8f02f9d --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (gst-plugins-good-1.24.11.tar.xz) = 7b15baf2aa0aa72f469d0c44cc13a892b85e7d4e08d04c44bfeb0ff475aa274474adcf652ed4fb9bca22155d04afa47898a423d3b5844a9b597337a3ab46faed