@ -9,36 +9,18 @@
%bcond_with nasm
%bcond_with nasm
%endif
%endif
# Only build amrnb/amrwbdec on fedora
%bcond_without qt
%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
#global gitrel 140
#global gitcommit 9865730cfa5b3a8b2560d082e7e56b350042d3d2
#global gitcommit 9865730cfa5b3a8b2560d082e7e56b350042d3d2
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
Name: gstreamer1-plugins-good
Name: gstreamer1-plugins-good
Version: 1.24.10
Version: 1.22.1
Release: 1 %{?dist}
Release: 3%{?gitcommit:.git%{shortcommit}}%{?dist}
Summary: GStreamer plugins with good code and licensing
Summary: GStreamer plugins with good code and licensing
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
License: LGPLv2+
URL: http://gstreamer.freedesktop.org/
URL: http://gstreamer.freedesktop.org/
%if 0%{?gitrel}
%if 0%{?gitrel}
@ -55,6 +37,14 @@ Source0: http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugin
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
Source1: gstreamer-good.appdata.xml
Source1: gstreamer-good.appdata.xml
Patch0: 0001-flacparse-Avoid-integer-overflow-in-available-data-c.patch
Patch1: 0002-qtdemux-Avoid-integer-overflow-when-parsing-Theora-e.patch
Patch2: 0003-gdkpixbufdec-Check-if-initializing-the-video-info-ac.patch
Patch3: 0004-matroskademux-Only-unmap-GstMapInfo-in-WavPack-heade.patch
Patch4: 0005-matroskademux-Fix-off-by-one-when-parsing-multi-chan.patch
Patch5: 0006-qtdemux-Fix-integer-overflow-when-allocating-the-sam.patch
Patch6: 0007-qtdemux-Make-sure-only-an-even-number-of-bytes-is-pr.patch
BuildRequires: meson >= 0.48.0
BuildRequires: meson >= 0.48.0
BuildRequires: gcc
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: gcc-c++
@ -68,7 +58,7 @@ BuildRequires: gdk-pixbuf2-devel
BuildRequires: libjpeg-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.2.0
BuildRequires: libpng-devel >= 1.2.0
BuildRequires: libshout-devel
BuildRequires: libshout-devel
BuildRequires: libsoup3 -devel
BuildRequires: libsoup-devel
BuildRequires: libX11-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXext-devel
BuildRequires: libXdamage-devel
BuildRequires: libXdamage-devel
@ -88,18 +78,14 @@ BuildRequires: mesa-libEGL-devel
BuildRequires: lame-devel
BuildRequires: lame-devel
BuildRequires: mpg123-devel
BuildRequires: mpg123-devel
BuildRequires: twolame-devel
BuildRequires: twolame-devel
BuildRequires: qt6-qtshadertools
%if %{with nasm}
%if %{with nasm}
BuildRequires: nasm
BuildRequires: nasm
%endif
%endif
BuildRequires: libgudev-devel
BuildRequires: libgudev-devel
%if %{with amr}
BuildRequires: opencore-amr-devel
%endif
# extras
# extras
%if %{with extras}
%if %{with extras}
BuildRequires: pipewire- jack-audio-connection-kit-devel
BuildRequires: jack-audio-connection-kit-devel
%ifnarch s390 s390x
%ifnarch s390 s390x
BuildRequires: libavc1394-devel
BuildRequires: libavc1394-devel
BuildRequires: libdv-devel
BuildRequires: libdv-devel
@ -108,10 +94,6 @@ BuildRequires: libraw1394-devel
%endif
%endif
%endif
%endif
# 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/Provides moved from plugins-bad-free
Obsoletes: gstreamer1-plugin-mpg123 < 1.13.1
Obsoletes: gstreamer1-plugin-mpg123 < 1.13.1
Provides: gstreamer1-plugin-mpg123 = %{version}-%{release}
Provides: gstreamer1-plugin-mpg123 = %{version}-%{release}
@ -145,7 +127,7 @@ good quality and under the LGPL license.
This package (%{name}-gtk) contains the gtksink output plugin.
This package (%{name}-gtk) contains the gtksink output plugin.
%if %{with qt5 }
%if %{with qt}
%package qt
%package qt
Summary: GStreamer "good" plugins qt qml plugin
Summary: GStreamer "good" plugins qt qml plugin
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -155,8 +137,6 @@ BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5WaylandClient)
BuildRequires: pkgconfig(Qt5WaylandClient)
BuildRequires: qt5-qtbase-private-devel
BuildRequires: qt5-linguist
Supplements: (gstreamer1-plugins-good and qt5-qtdeclarative)
Supplements: (gstreamer1-plugins-good and qt5-qtdeclarative)
@ -170,31 +150,6 @@ good quality and under the LGPL license.
This package (%{name}-qt) contains the qtsink output plugin.
This package (%{name}-qt) contains the qtsink output plugin.
%endif
%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}
%if %{with extras}
%package extras
%package extras
Summary: Extra GStreamer plugins with good code and licensing
Summary: Extra GStreamer plugins with good code and licensing
@ -216,6 +171,13 @@ to be installed.
%prep
%prep
%setup -q -n gst-plugins-good-%{version}
%setup -q -n gst-plugins-good-%{version}
%patch0 -p3
%patch1 -p3
%patch2 -p3
%patch3 -p3
%patch4 -p3
%patch5 -p3
%patch6 -p3
%build
%build
%meson \
%meson \
@ -229,8 +191,6 @@ to be installed.
-D aalib=disabled \
-D aalib=disabled \
-D libcaca=disabled \
-D libcaca=disabled \
-D rpicamsrc=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} \
-D jack=%{?with_extras:enabled}%{!?with_extras:disabled} \
%ifarch s390 s390x
%ifarch s390 s390x
-D dv=disabled -D dv1394=disabled \
-D dv=disabled -D dv1394=disabled \
@ -238,12 +198,10 @@ to be installed.
-D dv=%{?with_extras:enabled}%{!?with_extras:disabled} \
-D dv=%{?with_extras:enabled}%{!?with_extras:disabled} \
-D dv1394=%{?with_extras:enabled}%{!?with_extras:disabled} \
-D dv1394=%{?with_extras:enabled}%{!?with_extras:disabled} \
%endif
%endif
%if 0%{?flatpak_runtime}
%if 0%{?_module_build} && "%{_module_name}" == "flatpak-runtime"
-D v4l2-gudev=disabled \
-D v4l2-gudev=disabled \
%endif
%endif
-D qt-egl=disabled \
-D qt6=disabled
-D qt5=%{?with_qt5:enabled}%{!?with_qt5:disabled} \
-D qt6=%{?with_qt6:enabled}%{!?with_qt6:disabled}
%meson_build
%meson_build
@ -341,25 +299,13 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
%{_libdir}/gstreamer-%{majorminor}/libgstmpg123.so
%{_libdir}/gstreamer-%{majorminor}/libgstmpg123.so
%{_libdir}/gstreamer-%{majorminor}/libgsttwolame.so
%{_libdir}/gstreamer-%{majorminor}/libgsttwolame.so
%if %{with amr}
%{_libdir}/gstreamer-%{majorminor}/libgstamrnb.so
%{_libdir}/gstreamer-%{majorminor}/libgstamrwbdec.so
%{_datadir}/gstreamer-%{majorminor}/presets/GstAmrnbEnc.prs
%endif
%files gtk
%files gtk
# Plugins with external dependencies
# Plugins with external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstgtk.so
%{_libdir}/gstreamer-%{majorminor}/libgstgtk.so
%if %{with qt5}
%files qt
%files qt
%{_libdir}/gstreamer-%{majorminor}/libgstqmlgl.so
%{_libdir}/gstreamer-%{majorminor}/libgstqmlgl.so
%endif
%if %{with qt6}
%files qt6
%{_libdir}/gstreamer-%{majorminor}/libgstqml6.so
%endif
%if %{with extras}
%if %{with extras}
%files extras
%files extras
@ -373,141 +319,40 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
%changelog
%changelog
* Thu Dec 12 2024 Wim Taymans <wtaymans@redhat.com> - 1.24.10-1
* Mon Dec 16 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.1-3
- Update to 1.24.10
- CVE-2024-47537, CVE-2024-47539, CVE-2024-47540, CVE-2024-47606,
Resolves: RHEL-70408, RHEL-71032, RHEL-71020, RHEL-70996
CVE-2024-47613
Resolves: RHEL-70960, RHEL-70947, RHEL-70934
Resolves: RHEL-70954, RHEL-70967, RHEL-70941, RHEL-71027,
Resolves: RHEL-71003
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.24.6-2
- Bump release for October 2024 mass rebuild:
* Wed Jan 17 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.1-2
Resolves: RHEL-64018
- CVE-2023-37327: integer overflow leading to heap overwrite in FLAC
image tag handling
* Fri Oct 25 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1.24.6-1
- Resolves: RHEL-19471
- Rebuilt for MSVSphere 10
* Thu Apr 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-1
* Mon Jul 29 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.24.6-1
- 1.24.6
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 21 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.24.5-1
- 1.24.5
* Wed May 29 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.24.4-1
- 1.24.4
* Tue Apr 30 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.24.3-1
- 1.24.3
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 1.24.0-2
- Rebuild (qt6)
* Tue Mar 05 2024 Wim Taymans <wtaymans@redhat.com> - 1.24.0-1
- Update to 1.24.0
* Fri Feb 16 2024 Jan Grulich <jgrulich@redhat.com> - 1.22.9-3
- Rebuild (qt6)
* Tue Feb 13 2024 Pete Walter <pwalter@fedoraproject.org> - 1.22.9-2
- Rebuild for libvpx 1.14.x
* 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
* Wed Nov 29 2023 Jan Grulich <jgrulich@redhat.com> - 1.22.7-2
- Rebuild (qt6)
* Tue Nov 14 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.7-1
- 1.22.7
* Fri Oct 13 2023 Jan Grulich <jgrulich@redhat.com> - 1.22.5-3
- Rebuild (qt6)
* Thu Oct 05 2023 Jan Grulich <jgrulich@redhat.com> - 1.22.5-2
- Rebuild (qt6)
* Fri Jul 21 2023 Wim Taymans <wtaymans@redhat.com> - 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 <releng@fedoraproject.org> - 1.22.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jun 18 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.3-2
- Enable Qt6 plugin, disable Qt5 plugin for RHEL 10
* 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
- Update to 1.22.1
* Wed Feb 15 2023 Tom Callaway <spot@fedoraproject.org> - 1.22.0-2
* Fri Nov 11 2022 Wim Taymans <wtaymans@redhat.com> - 1.18.4-6
- rebuild for new libvpx
- Fixes for CVE-2022-1920, CVE-2022-1921, CVE-2022-1922, CVE-2022-1923,
CVE-2022-1924, CVE-2022-1925, CVE-2022-2122
* Tue Jan 24 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.0-1
Resolves: rhbz#2131034, rhbz#2131039, rhbz#2131045, rhbz#2131049,
- Update to 1.22.0
rhbz#2131054, rhbz#2131060, rhbz#2131064
* 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 13 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.20.3-3
- Rebuilt for flac 1.4.0
* 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
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.18.4-5
- Update to 1.20.3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Fri Feb 4 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.0-1
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 1.18.4-4
- Update to 1.20.0
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Thu Jan 27 2022 Tom Callaway <spot@fedoraproject.org> - 1.19.3-4
* Fri May 14 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-3
- rebuild for libvpx
* Wed Jan 26 2022 Wim Taymans <wtaymans@redhat.com> - 1.19.3-3
- Fix build
* 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
* Fri May 14 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-2
- Move libdv and friends to extras
- Move libdv and friends to extras
- Resolves: rhbz#1960634
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.18.4-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Mar 16 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-1
* Tue Mar 16 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-1
- Update to 1.18.4
- Update to 1.18.4