%{?mingw_package_header} %bcond_without extras %global api_version 1.0 Name: mingw-gstreamer1-plugin-openh264 Version: 1.26.3 Release: 1%{?dist} Summary: Cross compiled GStreamer1 plug-ins "bad" # The freeze and nfs plugins are LGPLv2 (only) License: LGPL-2.0-or-later AND LGPL-2.0-only URL: http://gstreamer.freedesktop.org/ # The source is: # http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz # modified with gst1-p-bad-cleanup.sh from SOURCE1 Source0: gst-plugins-bad-free-%{version}.tar.xz Source1: gst-p-bad-cleanup.sh Source2: disabled-plugins # Adapt for directxmath header location Patch1: gst-p-bad-directxmath.patch BuildArch: noarch BuildRequires: gettext BuildRequires: gcc-c++ BuildRequires: meson BuildRequires: orc-compiler BuildRequires: mingw32-filesystem BuildRequires: mingw64-filesystem BuildRequires: mingw32-gcc-c++ BuildRequires: mingw64-gcc-c++ BuildRequires: mingw32-gstreamer1 >= %{version} BuildRequires: mingw64-gstreamer1 >= %{version} BuildRequires: mingw32-gstreamer1-plugins-base >= %{version} BuildRequires: mingw64-gstreamer1-plugins-base >= %{version} BuildRequires: mingw32-openh264 BuildRequires: mingw64-openh264 %description GStreamer is a streaming media framework, based on graphs of elements which operate on media data. This package contains plug-ins that aren't tested well enough, or the code is not of good enough quality. # Mingw32 %package -n mingw32-gstreamer1-plugin-openh264 Summary: %{summary} Requires: mingw32-gstreamer1 >= %{version} %description -n mingw32-gstreamer1-plugin-openh264 GStreamer is a streaming media framework, based on graphs of elements which operate on media data. This package contains plug-ins that aren't tested well enough, or the code is not of good enough quality. # Mingw64 %package -n mingw64-gstreamer1-plugin-openh264 Summary: %{summary} Requires: mingw64-gstreamer1 >= %{version} %description -n mingw64-gstreamer1-plugin-openh264 GStreamer is a streaming media framework, based on graphs of elements which operate on media data. This package contains plug-ins that aren't tested well enough, or the code is not of good enough quality. %{?mingw_debug_package} %prep %autosetup -p1 -n gst-plugins-bad-%{version} %build # chromaprint was enabled in the !mingw package in 6eadf04 # openal, openjpeg, ofa, webp were enabled in the !mingw package in c609b28 # there are mingw-openjpeg and mingw-webp packages available # uvch264 was enabled in the !mingw package in fcee991 # curl and winks are disabled only in the mingw package export MINGW32_CXXFLAGS="%{mingw32_cflags} -msse2" export MINGW64_CXXFLAGS="%{mingw64_cflags} -msse2" #disable everything except openh264 %mingw_meson \ -Dpackage-name="Fedora Mingw GStreamer-plugin-openh264 package" \ -Dpackage-origin="http://download.fedoraproject.org" \ -D openh264=enabled \ $(cat %{SOURCE2}) \ -D gst_play_tests=false %mingw_ninja %install %mingw_ninja_install # Clean out files that should not be part of the rpm. rm -f %{buildroot}%{mingw32_libdir}/gstreamer-%{api_version}/*.dll.a rm -f %{buildroot}%{mingw64_libdir}/gstreamer-%{api_version}/*.dll.a # Mingw64 %files -n mingw64-gstreamer1-plugin-openh264 %license COPYING %doc AUTHORS README.md REQUIREMENTS %exclude %{mingw64_bindir}/* %exclude %{mingw64_datadir}/* %exclude %{mingw64_libdir}/*.dll.a %exclude %{mingw64_libdir}/pkgconfig/* %exclude %{mingw64_includedir}/* %{mingw64_libdir}/gstreamer-%{api_version}/libgstopenh264.dll # Mingw32 %files -n mingw32-gstreamer1-plugin-openh264 %license COPYING %doc AUTHORS README.md REQUIREMENTS %exclude %{mingw32_bindir}/* %exclude %{mingw32_datadir}/* %exclude %{mingw32_libdir}/*.dll.a %exclude %{mingw32_libdir}/pkgconfig/* %exclude %{mingw32_includedir}/* %{mingw32_libdir}/gstreamer-%{api_version}/libgstopenh264.dll %changelog * Fri Oct 31 2025 Tomas Chang - 1.26.3-4 - Initial build for MinGW