diff --git a/_service b/_service new file mode 100644 index 0000000..cbb76af --- /dev/null +++ b/_service @@ -0,0 +1,21 @@ + + + + git + https://gitlab.freedesktop.org/gstreamer/gstreamer.git + subprojects/gst-plugins-bad + gst-plugins-bad + 1.26.0 + @PARENT_TAG@+@TAG_OFFSET@ + v?(.*)\+0 + \1 + + + + + *.tar + zst + + + + diff --git a/fix-build-with-srt-1.3.4.patch b/fix-build-with-srt-1.3.4.patch deleted file mode 100644 index cee3d06..0000000 --- a/fix-build-with-srt-1.3.4.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Antonio Larrosa -Subject: Fix build with srt 1.3.4 since gstreamer expects 1.4.x - -SRTO_STRICTENC was just renamed to SRTO_ENFORCEDENCRYPTION in 1.4, so revert that. -SRTO_PACKETFILTER was introduced in 1.4.0 so we can't support urls -specifying a value for it in the url. - -Index: gst-plugins-bad-1.22.1/ext/srt/gstsrtobject.c -=================================================================== ---- gst-plugins-bad-1.22.1.orig/ext/srt/gstsrtobject.c -+++ gst-plugins-bad-1.22.1/ext/srt/gstsrtobject.c -@@ -177,13 +177,13 @@ SrtOption srt_options[] = { - {"transtype", SRTO_TRANSTYPE, G_TYPE_INT}, - {"kmrefreshrate", SRTO_KMREFRESHRATE, G_TYPE_INT}, - {"kmpreannounce", SRTO_KMPREANNOUNCE, G_TYPE_INT}, -- {"enforcedencryption", SRTO_ENFORCEDENCRYPTION, G_TYPE_BOOLEAN}, -+ {"enforcedencryption", SRTO_STRICTENC, G_TYPE_BOOLEAN}, - {"ipv6only", SRTO_IPV6ONLY, G_TYPE_INT}, - {"peeridletimeo", SRTO_PEERIDLETIMEO, G_TYPE_INT}, - #if SRT_VERSION_VALUE >= 0x10402 - {"bindtodevice", SRTO_BINDTODEVICE, G_TYPE_STRING}, - #endif -- {"packetfilter", SRTO_PACKETFILTER, G_TYPE_STRING}, -+ //{"packetfilter", SRTO_PACKETFILTER, G_TYPE_STRING}, - {"retransmitalgo", SRTO_RETRANSMITALGO, G_TYPE_INT}, - {NULL} - }; diff --git a/gst-plugins-bad-1.24.12.tar.xz b/gst-plugins-bad-1.24.12.tar.xz deleted file mode 100644 index c4e92ee..0000000 --- a/gst-plugins-bad-1.24.12.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3d386af3d1dbd1a06c74a6251250c269b481e703f0e3255ba89ef6c1e063afea -size 7083252 diff --git a/gst-plugins-bad-1.26.0.obscpio b/gst-plugins-bad-1.26.0.obscpio new file mode 100644 index 0000000..f7c13db --- /dev/null +++ b/gst-plugins-bad-1.26.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:71c54e4851dbe3cd26a7ea9949c2ba07b2e9758403e27ce4284057cae7da070c +size 61940238 diff --git a/gst-plugins-bad.obsinfo b/gst-plugins-bad.obsinfo new file mode 100644 index 0000000..bcfbaeb --- /dev/null +++ b/gst-plugins-bad.obsinfo @@ -0,0 +1,4 @@ +name: gst-plugins-bad +version: 1.26.0 +mtime: 1741724416 +commit: d31ce8e5e1aacf8f5e5beabb5c81ce2e4da5c202 diff --git a/gstreamer-plugins-bad.changes b/gstreamer-plugins-bad.changes index cc59f22..8e7eb9b 100644 --- a/gstreamer-plugins-bad.changes +++ b/gstreamer-plugins-bad.changes @@ -1,3 +1,124 @@ +------------------------------------------------------------------- +Wed Mar 12 06:55:24 UTC 2025 - Antonio Larrosa + +- Update to version 1.26.0: + + Highlights + - H.266 Versatile Video Coding (VVC) codec support + - Low Complexity Enhancement Video Coding (LCEVC) support + - Closed captions: H.264/H.265 extractor/inserter, + cea708overlay, cea708mux, tttocea708 and more + - New hlscmafsink, hlssink3, and hlsmultivariantsink; HLS/DASH + client and dashsink improvements + - New AWS and Speechmatics transcription, translation and TTS + services elements, plus translationbin + - Splitmux lazy loading and dynamic fragment addition support + - Matroska: H.266 video and rotation tag support, defined + latency muxing + - MPEG-TS: support for H.266, JPEG XS, AV1, VP9 codecs and + SMPTE ST-2038 and ID3 meta; mpegtslivesrc + - ISO MP4: support for H.266, Hap, Lagarith lossless codecs; + raw video support; rotation tags + - SMPTE 2038 ancillary data streams support + - JPEG XS image codec support + - Analytics: New TensorMeta; N-to-N relationships; Mtd to carry + segmentation masks + - ONVIF metadata extractor and conversion to/from relation + metas + - New originalbuffer element that can restore buffers again + after transformation steps for analytics + - Improved Python bindings for analytics API + - Lots of Vulkan integration and Vulkan Video decoder/encoder + improvements + - OpenGL integration improvements, esp. in glcolorconvert, + gldownload, glupload + - Qt5/Qt6 QML GL sinks now support direct DMABuf import from + hardware decoders + - CUDA: New compositor, Jetson NVMM memory support, + stream-ordered allocator + - NVCODEC AV1 video encoder element, and nvdsdewarp + - New Direct3D12 integration support library + - New d3d12swapchainsink and d3d12deinterlace elements and + D3D12 sink/source for zero-copy IPC + - Decklink HDR support (PQ + HLG) and frame scheduling + enhancements + - AJA capture source clock handling and signal loss recovery + improvements + - RTP and RTSP: New rtpbin sync modes, client-side MIKEY + support in rtspsrc + - New Rust rtpbin2, rtprecv, rtpsend, and many new Rust RTP + payloaders and depayloaders + - webrtcbin support for basic rollbacks and other improvements + - webrtcsink: support for more encoders, SDP munging, and a + built-in web/signalling server + - webrtcsrc/sink: support for uncompressed audio/video and NTP + & PTP clock signalling and synchronization + - rtmp2: server authentication improvements incl. Limelight + CDN (llnw) authentication + - New Microsoft WebView2 based web browser source element + - The GTK3 plugin has gained support for OpenGL/WGL on Windows + - Many GTK4 paintable sink improvements + - GstPlay: id-based stream selection and message API + improvements + - Real-time pipeline visualization in a browser using a new + dots tracer and viewer + - New tracers for tracking memory usage, pad push timings, and + buffer flow as pcap files + - VA hardware-acclerated H.266/VVC decoder, VP8 and JPEG + encoders, VP9/VP8 alpha decodebins + - Video4Linux2 elements support DMA_DRM caps negotiation now + - V4L2 stateless decoders implement inter-frame resolution + changes for AV1 and VP9 + - Editing services: support for reverse playback and audio + channel reordering + - New QUIC-based elements for working with raw QUIC streams, + RTP-over-QUIC (RoQ) and WebTransport + - Apple AAC audio encoder and multi-channel support for the + Apple audio decoders + - cerbero: Python bindings and introspection support; improved + Windows installer based on WiX5 + - Lots of new plugins, features, performance improvements and + bug fixes + + VA plugin + - New VA elements: + * H.266 / VVC video decoder + * VP8 video encoder + * JPEG encoder + * VP9 + VP8 alpha decodebin + Remember that the availability of these elements depends on + your platform and driver. + - There are a lot of improvements and bug fixes, to hightlight + some of them: + * Improved B pyramid mode for both H264 and HEVC encoding + when reference frame count exceeds 2, optimizing pyramid + level handling. + * Enabled ICQ and QVBR modes for several encoders, including + H264, H265, VP9 and AV1. + * Updated rate control features by setting the quality factor + parameter, while improving bitrate change handling. + * Improved VP9 encoder’s ability to avoid reopening or + renegotiating encoder settings when parameters remain + stable. + * Added functionality to adjust the trellis parameter in + encoders. + * Optimize encoders throughput with the introduction of + output delay. + * Added support for new interpolation methods for scaling and + improvements for handling interlace modes. + + For more detailed information on this update, please see + https://gstreamer.freedesktop.org/releases/1.26/ +- Remove patch since a similar patch was already merged upstream: + * svt.patch + +------------------------------------------------------------------- +Mon Mar 10 08:52:09 UTC 2025 - Jan Engelhardt + +- Add svt.patch to build with SVT-AV1 3.0.0 API. +- Modify spandsp3.patch to support both spandsp 0.x and spandsp 3.x. +- Delete fix-build-with-srt-1.3.4.patch since all supported + Leap 15.X now have >=1.4. +- Trim idempotent %if..%endif guards. +- Use noun phrase for descriptions (not two noun phrases) + ------------------------------------------------------------------- Sun Feb 2 18:31:15 UTC 2025 - Bjørn Lie diff --git a/gstreamer-plugins-bad.spec b/gstreamer-plugins-bad.spec index 722b648..7ac9d52 100644 --- a/gstreamer-plugins-bad.spec +++ b/gstreamer-plugins-bad.spec @@ -83,17 +83,15 @@ %endif Name: gstreamer-plugins-bad -Version: 1.24.12 +Version: 1.26.0 Release: 0 Summary: GStreamer Streaming-Media Framework Plug-Ins License: LGPL-2.1-or-later Group: Productivity/Multimedia/Other URL: https://gstreamer.freedesktop.org -Source0: %{url}/src/%{_name}/%{_name}-%{version}.tar.xz +Source0: %{_name}-%{version}.tar.zst Source2: gstreamer-plugins-bad.appdata.xml Source99: baselibs.conf -# PATCH-FIX-SUSE Fix build with the old srt version inherited from SLE15 SP2 -Patch0: fix-build-with-srt-1.3.4.patch # PATCH-FIX-OPENSUSE spandsp3.patch jengelh@inai.de -- Fix build against spandsp 3.x. Patch is not upstreamable in this form Patch2: spandsp3.patch @@ -187,7 +185,7 @@ BuildRequires: pkgconfig(schroedinger-1.0) >= 1.0.10 BuildRequires: pkgconfig(sndfile) >= 1.0.16 BuildRequires: pkgconfig(soundtouch) BuildRequires: pkgconfig(spandsp) >= 0.0.6 -BuildRequires: pkgconfig(srt) +BuildRequires: pkgconfig(srt) >= 1.4 %if %{with voamrwbenc} BuildRequires: pkgconfig(vo-amrwbenc) >= 0.1.0 %endif @@ -278,14 +276,12 @@ BuildRequires: pkgconfig(libchromaprint) %description chromaprint Add chromaprint (Audio Fingerprinting) support to any GStreamer based tool. -%if %{with fluidsynth} %package fluidsynth Summary: Fluidsynth plugin for GStreamer Group: Productivity/Multimedia/Other %description fluidsynth Add fluidsynth midi support to any GStreamer based tool. -%endif %package -n libgstadaptivedemux-1_0-0 Summary: GStreamer Streaming-Media Framework Plug-Ins @@ -594,7 +590,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstAnalytics-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstAnalytics-1_0 @@ -605,7 +601,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstBadAudio-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstBadAudio-1_0 @@ -616,7 +612,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstDxva-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstDxva-1_0 @@ -627,7 +623,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstMse-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstMse-1_0 @@ -638,7 +634,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstPlay-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstPlay-1_0 @@ -649,7 +645,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstCodecs-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstCodecs-1_0 @@ -660,7 +656,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstInsertBin-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstInsertBin-1_0 @@ -671,7 +667,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstMpegts-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstMpegts-1_0 @@ -682,7 +678,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstPlayer-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstPlayer-1_0 @@ -693,7 +689,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstVulkan-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstVulkan-1_0 @@ -704,7 +700,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstVulkanWayland-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstVulkanWayland-1_0 @@ -715,7 +711,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstVulkanXCB-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstVulkanXCB-1_0 @@ -726,7 +722,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstWebRTC-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstWebRTC-1_0 @@ -737,7 +733,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstCuda-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstCuda-1_0 @@ -748,7 +744,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-CudaGst-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-CudaGst-1_0 @@ -759,7 +755,7 @@ videos. Its plug-in-based architecture means that new data types or processing capabilities can be added simply by installing new plug-ins. %package -n typelib-1_0-GstVa-1_0 -Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings +Summary: Introspection bindings for GStreamer Streaming-Media Framework Plug-Ins Group: System/Libraries %description -n typelib-1_0-GstVa-1_0 @@ -807,19 +803,12 @@ making use of the GStreamer Transcoding API. %lang_package %prep -%setup -q -n %{_name}-%{version} +%autosetup -p1 -n %{_name}-%{version} %if ! 0%{?BUILD_ORIG} rm -Rf sys/decklink sed -ie "/subdir('decklink')/d" sys/meson.build %endif -%if %{pkg_vcmp srt < 1.4.0} -%patch -P 0 -p1 -%endif -%if %{pkg_vcmp spandsp-devel >= 3} -%patch -P 2 -p1 -%endif - %build %global optflags %{optflags} -fcommon export PYTHON=%{_bindir}/python3 @@ -917,6 +906,13 @@ export PYTHON=%{_bindir}/python3 %if %{without webrtc_audio_processing_1} -D webrtcdsp=disabled \ %endif + -D cuda-nvmm=disabled \ + -D nvcomp=disabled \ + -D nvdswrapper=disabled \ + -D androidmedia=disabled \ + -D lcevcdecoder=disabled \ + -D lcevcencoder=disabled \ + -D svtjpegxs=disabled \ %{nil} %meson_build @@ -1090,6 +1086,7 @@ find %{buildroot} -type f -name "*.la" -delete -print %{_libdir}/gstreamer-%{gst_branch}/libgstsvtav1.so %endif %{_libdir}/gstreamer-%{gst_branch}/libgstswitchbin.so +%{_libdir}/gstreamer-%{gst_branch}/libgsttensordecoders.so %{_libdir}/gstreamer-%{gst_branch}/libgsttimecode.so %{_libdir}/gstreamer-%{gst_branch}/libgstttmlsubs.so %{_libdir}/gstreamer-%{gst_branch}/libgstunixfd.so diff --git a/spandsp3.patch b/spandsp3.patch index 28892c0..55e3239 100644 --- a/spandsp3.patch +++ b/spandsp3.patch @@ -11,11 +11,14 @@ Index: gst-plugins-bad-1.20.1/ext/spandsp/gstspanplc.c =================================================================== --- gst-plugins-bad-1.20.1.orig/ext/spandsp/gstspanplc.c +++ gst-plugins-bad-1.20.1/ext/spandsp/gstspanplc.c -@@ -36,6 +36,7 @@ +@@ -36,6 +36,10 @@ #include "gstspanplc.h" #include ++#include ++#if defined(SPANDSP_RELEASE_DATE) && SPANDSP_RELEASE_DATE >= 20120902 +#include ++#endif G_DEFINE_TYPE (GstSpanPlc, gst_span_plc, GST_TYPE_ELEMENT); GST_ELEMENT_REGISTER_DEFINE (spanplc, "spanplc", GST_RANK_PRIMARY,