Sync from SUSE:SLFO:Main gstreamer revision 364e01c7d257cbb0b8552e8e0c95938e

This commit is contained in:
Adrian Schröter 2024-08-02 15:13:55 +02:00
parent cd663b4b42
commit be8d1f1452
7 changed files with 190 additions and 66 deletions

BIN
gstreamer-1.22.9.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
gstreamer-1.24.5.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,30 +1,26 @@
Index: gstreamer-1.22.0/libs/gst/helpers/meson.build Index: gstreamer-1.24.0/libs/gst/helpers/meson.build
=================================================================== ===================================================================
--- gstreamer-1.22.0.orig/libs/gst/helpers/meson.build --- gstreamer-1.24.0.orig/libs/gst/helpers/meson.build
+++ gstreamer-1.22.0/libs/gst/helpers/meson.build +++ gstreamer-1.24.0/libs/gst/helpers/meson.build
@@ -5,6 +5,7 @@ exe = executable('gst-plugin-scanner', @@ -6,11 +6,13 @@ gst_helpers = {
dependencies : [gst_dep, mathlib, gmodule_dep,], 'deps': [gst_dep, mathlib, gmodule_dep],
install_dir : helpers_install_dir, 'env': ['GST_PLUGIN_SCANNER', 'exe-full-path'],
install: true, 'install_dir': helpers_install_dir,
+ 'pie': true,
},
'gst-completion-helper': {
'files': files('gst-completion-helper.c'),
'deps': [gst_dep],
'install_dir': helpers_install_dir,
+ 'pie': true,
},
}
@@ -25,6 +27,7 @@ if not get_option('tools').disabled() an
include_directories : [configinc],
dependencies : data.get('deps', []),
c_args: data.get('extra_c_args', []) + ['-DG_LOG_DOMAIN="@0@"'.format(exe_name)],
+ pie: true, + pie: true,
) )
if(data.has_key('env'))
meson.add_devenv({'GST_PLUGIN_SCANNER': exe.full_path()}) env = data.get(('env'))
@@ -21,6 +22,7 @@ if bashcomp_found
install_dir : helpers_install_dir,
install_tag : 'bin',
install: true,
+ pie: true,
)
endif
@@ -117,7 +119,8 @@ if have_ptp
include_directories : [configinc, libsinc],
dependencies : [gst_dep, gio_dep, mathlib, cap_dep],
install_dir : helpers_install_dir,
- install : true)
+ install : true,
+ pie : true)
meson.add_install_script('ptp_helper_post_install.sh',
helpers_install_dir, with_ptp_helper_permissions,

View File

@ -1,8 +1,8 @@
Index: gstreamer-1.22.2/tools/gst-inspect.c Index: gstreamer-1.24.4/tools/gst-inspect.c
=================================================================== ===================================================================
--- gstreamer-1.22.2.orig/tools/gst-inspect.c --- gstreamer-1.24.4.orig/tools/gst-inspect.c
+++ gstreamer-1.22.2/tools/gst-inspect.c +++ gstreamer-1.24.4/tools/gst-inspect.c
@@ -1869,7 +1869,224 @@ print_tracer_info (GstPluginFeature * fe @@ -1938,7 +1938,224 @@ print_tracer_info (GstPluginFeature * fe
* is meant for machines, not humans. * is meant for machines, not humans.
*/ */
static void static void
@ -228,7 +228,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
{ {
GstPadDirection direction; GstPadDirection direction;
const gchar *type_name; const gchar *type_name;
@@ -1895,6 +2112,13 @@ print_plugin_automatic_install_info_code @@ -1966,6 +2183,13 @@ print_plugin_automatic_install_info_code
return; return;
} }
@ -242,7 +242,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
/* decoder/demuxer sink pads should always be static and there should only /* decoder/demuxer sink pads should always be static and there should only
* be one, the same applies to encoders/muxers and source pads */ * be one, the same applies to encoders/muxers and source pads */
static_templates = gst_element_factory_get_static_pad_templates (factory); static_templates = gst_element_factory_get_static_pad_templates (factory);
@@ -1931,15 +2155,20 @@ print_plugin_automatic_install_info_code @@ -2002,15 +2226,20 @@ print_plugin_automatic_install_info_code
gst_structure_remove_field (s, "rate"); gst_structure_remove_field (s, "rate");
gst_structure_remove_field (s, "depth"); gst_structure_remove_field (s, "depth");
gst_structure_remove_field (s, "clock-rate"); gst_structure_remove_field (s, "clock-rate");
@ -267,7 +267,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
{ {
const gchar *const *protocols; const gchar *const *protocols;
@@ -1948,13 +2177,19 @@ print_plugin_automatic_install_info_prot @@ -2019,13 +2248,19 @@ print_plugin_automatic_install_info_prot
switch (gst_element_factory_get_uri_type (factory)) { switch (gst_element_factory_get_uri_type (factory)) {
case GST_URI_SINK: case GST_URI_SINK:
while (*protocols != NULL) { while (*protocols != NULL) {
@ -289,7 +289,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
++protocols; ++protocols;
} }
break; break;
@@ -1965,7 +2200,7 @@ print_plugin_automatic_install_info_prot @@ -2036,7 +2271,7 @@ print_plugin_automatic_install_info_prot
} }
static void static void
@ -298,7 +298,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
{ {
GList *features, *l; GList *features, *l;
@@ -1984,11 +2219,15 @@ print_plugin_automatic_install_info (Gst @@ -2055,11 +2290,15 @@ print_plugin_automatic_install_info (Gst
if (feature_plugin == plugin) { if (feature_plugin == plugin) {
GstElementFactory *factory; GstElementFactory *factory;
@ -317,7 +317,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
} }
if (feature_plugin) if (feature_plugin)
gst_object_unref (feature_plugin); gst_object_unref (feature_plugin);
@@ -2012,7 +2251,7 @@ print_all_plugin_automatic_install_info @@ -2083,7 +2322,7 @@ print_all_plugin_automatic_install_info
plugin = (GstPlugin *) (plugins->data); plugin = (GstPlugin *) (plugins->data);
plugins = g_list_next (plugins); plugins = g_list_next (plugins);
@ -326,15 +326,15 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
} }
gst_plugin_list_free (orig_plugins); gst_plugin_list_free (orig_plugins);
} }
@@ -2098,6 +2337,7 @@ real_main (int argc, char *argv[]) @@ -2169,6 +2408,7 @@ real_main (int argc, char *argv[])
gboolean do_print_blacklist = FALSE; gboolean do_print_blacklist = FALSE;
gboolean plugin_name = FALSE; gboolean plugin_name = FALSE;
gboolean print_aii = FALSE; gboolean print_aii = FALSE;
+ gboolean print_aii_rpm = FALSE; + gboolean print_aii_rpm = FALSE;
gboolean uri_handlers = FALSE; gboolean uri_handlers = FALSE;
gboolean check_exists = FALSE; gboolean check_exists = FALSE;
gboolean color_always = FALSE; gboolean check_version = FALSE;
@@ -2119,6 +2359,9 @@ real_main (int argc, char *argv[]) @@ -2191,6 +2431,9 @@ real_main (int argc, char *argv[])
"or all plugins provide.\n " "or all plugins provide.\n "
"Useful in connection with external automatic plugin " "Useful in connection with external automatic plugin "
"installation mechanisms"), NULL}, "installation mechanisms"), NULL},
@ -344,7 +344,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
{"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name, {"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name,
N_("List the plugin contents"), NULL}, N_("List the plugin contents"), NULL},
{"types", 't', 0, G_OPTION_ARG_STRING, &types, {"types", 't', 0, G_OPTION_ARG_STRING, &types,
@@ -2293,7 +2536,7 @@ real_main (int argc, char *argv[]) @@ -2370,7 +2613,7 @@ real_main (int argc, char *argv[])
/* if there is such a plugin, print out info */ /* if there is such a plugin, print out info */
if (plugin) { if (plugin) {
if (print_aii) { if (print_aii) {
@ -352,8 +352,8 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
+ print_plugin_automatic_install_info (plugin, print_aii_rpm); + print_plugin_automatic_install_info (plugin, print_aii_rpm);
} else { } else {
print_plugin_info (plugin); print_plugin_info (plugin);
print_plugin_features (plugin); print_plugin_status (plugin);
@@ -2306,13 +2549,17 @@ real_main (int argc, char *argv[]) @@ -2384,14 +2627,18 @@ real_main (int argc, char *argv[])
if (plugin) { if (plugin) {
if (print_aii) { if (print_aii) {
@ -361,6 +361,7 @@ Index: gstreamer-1.22.2/tools/gst-inspect.c
+ print_plugin_automatic_install_info (plugin, print_aii_rpm); + print_plugin_automatic_install_info (plugin, print_aii_rpm);
} else { } else {
print_plugin_info (plugin); print_plugin_info (plugin);
print_plugin_status (plugin);
print_plugin_features (plugin); print_plugin_features (plugin);
} }
} else { } else {

View File

@ -1,3 +1,136 @@
-------------------------------------------------------------------
Thu Jun 27 17:23:35 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.24.5:
+ Highlighted bugfixes:
- webrtcsink: Support for AV1 via nvav1enc, av1enc or rav1enc
encoders
- AV1 RTP payloader/depayloader fixes to work correctly with
Chrome and Pion WebRTC
- av1parse, av1dec error handling/robustness improvements
- av1enc: Handle force-keyunit events properly for WebRTC
- decodebin3: selection and collection handling improvements
- hlsdemux2: Various fixes for discontinuities, variant
switching, playlist updates
- qml6glsink: fix RGB format support
- rtspsrc: more control URL handling fixes
- v4l2src: Interpret V4L2 report of sync loss as video signal
loss
- d3d12 encoder, memory and videosink fixes
- vtdec: more robust error handling, fix regression
- ndi: support for NDI SDK v6
- Various bug fixes, memory leak fixes, and other stability and
reliability improvements
- Please see https://gstreamer.freedesktop.org/releases/1.24/ for
changes between 1.24.0 and this version and even more in-depth
info.
- Refresh patches with quilt.
- Drop 0001-Canonicalize-the-library-path-returned-by-dladdr.patch
and 0001-ptp-Dont-install-test-executable.patch: Fixed upstream.
-------------------------------------------------------------------
Mon Apr 29 08:35:23 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang_path macro, [bsc#1212476]
-------------------------------------------------------------------
Tue Mar 12 09:16:23 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Replace the quick fix for boo#1221150 with the version submitted
to upstream at
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6322:
* 0001-Canonicalize-the-library-path-returned-by-dladdr.patch
- Remove previous version of the fix for boo#1221150:
* force-find-gst-plugin-scanner.patch
- Fix sed command to set the gst-plugin-scanner suffix correctly
- Add preventive checks for the sed commands that set the binary
suffix so that they don't silently fail anymore.
-------------------------------------------------------------------
Mon Mar 11 13:55:53 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Add patch from upstream to not install ptp-helper test executable
* 0001-ptp-Dont-install-test-executable.patch
-------------------------------------------------------------------
Mon Mar 11 07:55:04 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Add patch to remove the (wrong) check for relocated library which
is making gstreamer fail to find the gst-plugin-scanner helper
binary, thus using the installation path set at build time
(boo#1221150):
* force-find-gst-plugin-scanner.patch
-------------------------------------------------------------------
Tue Mar 5 06:09:21 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 1.24.0:
* Highlights
- New Discourse forum and Matrix chat space
- New Analytics and Machine Learning abstractions and elements
- Playbin3 and decodebin3 are now stable and the default in
gst-play-1.0, GstPlay/GstPlayer
- The va plugin is now preferred over gst-vaapi and has higher
ranks
- GstMeta serialization/deserialization and other GstMeta
improvements
- New GstMeta for SMPTE ST-291M HANC/VANC Ancillary Data
- New unixfd plugin for efficient 1:N inter-process
communication on Linux
- cudaipc source and sink for zero-copy CUDA memory sharing
between processes
- New intersink and intersrc elements for 1:N pipeline
decoupling within the same process
- Qt5 + Qt6 QML integration improvements including qml6glsrc,
qml6glmixer, qml6gloverlay, and qml6d3d11sink elements
- DRM Modifier Support for dmabufs on Linux
- OpenGL, Vulkan and CUDA integration enhancements
- Vulkan H.264 and H.265 video decoders
- RTP stack improvements including new RFC7273 modes and more
correct header extension handling in depayloaders
- WebRTC improvements such as support for ICE consent
freshness, and a new webrtcsrc element to complement
webrtcsink
- WebRTC signallers and webrtcsink implementations for LiveKit
and AWS Kinesis Video Streams
- WHIP server source and client sink, and a WHEP source
- Precision Time Protocol (PTP) clock support for Windows and
other additions
- Low-Latency HLS (LL-HLS) support and many other HLS and DASH
enhancements
- New W3C Media Source Extensions library
- Countless closed caption handling improvements including new
cea608mux and cea608tocea708 elements
- Translation support for awstranscriber
- Bayer 10/12/14/16-bit depth support
- MPEG-TS support for asynchronous KLV demuxing and segment
seeking, plus various new muxer features
- Capture source and sink for AJA capture and playout cards
- SVT-AV1 and VA-API AV1 encoders, stateless AV1 video decoder
- New uvcsink element for exporting streams as UVC camera
- DirectWrite text rendering plugin for windows
- Direct3D12-based video decoding, conversion, composition, and
rendering
- AMD Advanced Media Framework AV1 + H.265 video encoders with
10-bit and HDR support
- AVX/AVX2 support and NEON support on macOS on Apple ARM64
CPUs via new liborc
- GStreamer C# bindings have been updated
- Rust bindings improvements and many new and improved Rust
plugins
- Rust plugins now shipped in packages for all major platforms
including Android and iOS
- Lots of new plugins, features, performance improvements and
bug fixes
* For more detailed information on this update, please see
https://gstreamer.freedesktop.org/releases/1.24/
- Rebase patches:
* gstreamer-pie.patch
* gstreamer-rpm-prov.patch
- Remove patch reduce-required-meson.patch since meson 1.1 is
really required now.
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 1 10:54:29 UTC 2024 - Antonio Larrosa <alarrosa@suse.com> Thu Feb 1 10:54:29 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -19,7 +19,7 @@
%define gst_branch 1.0 %define gst_branch 1.0
Name: gstreamer Name: gstreamer
Version: 1.22.9 Version: 1.24.5
Release: 0 Release: 0
Summary: Streaming-Media Framework Runtime Summary: Streaming-Media Framework Runtime
License: LGPL-2.1-or-later License: LGPL-2.1-or-later
@ -34,8 +34,6 @@ Source99: baselibs.conf
Patch1: gstreamer-rpm-prov.patch Patch1: gstreamer-rpm-prov.patch
# PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables. # PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables.
Patch2: gstreamer-pie.patch Patch2: gstreamer-pie.patch
# PATCH-FIX-OPENSUSE reduce-required-meson.patch alarrosa@suse.com -- build with meson 0.61
Patch3: reduce-required-meson.patch
BuildRequires: bison >= 2.4 BuildRequires: bison >= 2.4
BuildRequires: check-devel BuildRequires: check-devel
@ -43,10 +41,11 @@ BuildRequires: flex >= 2.5.31
BuildRequires: gobject-introspection-devel >= 1.31.1 BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: libcap-devel BuildRequires: libcap-devel
BuildRequires: libcap-progs BuildRequires: libcap-progs
BuildRequires: meson >= 0.61 BuildRequires: meson >= 1.1
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python3-base BuildRequires: python3-base
BuildRequires: python3-xml BuildRequires: python3-xml
BuildRequires: rust >= 1.48
BuildRequires: pkgconfig(bash-completion) >= 2.0 BuildRequires: pkgconfig(bash-completion) >= 2.0
BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(gio-unix-2.0)
@ -139,9 +138,12 @@ sed -i -e '1{s,^#!/usr/bin/env python3,#!%{_bindir}/python3,}' docs/gst-plugins-
%build %build
export PYTHON=%{_bindir}/python3 export PYTHON=%{_bindir}/python3
sed -i "s/executable('gst-plugin-scanner',/executable('gst-plugin-scanner-%{_target_cpu}',/" libs/gst/helpers/meson.build sed -i "s/'gst-plugin-scanner': /'gst-plugin-scanner-%{_target_cpu}': /" libs/gst/helpers/meson.build
sed -i "s/gst-plugin-scanner/gst-plugin-scanner-%{_target_cpu}/" meson.build grep "'gst-plugin-scanner-%{_target_cpu}': " libs/gst/helpers/meson.build || (echo "Couldn't set executable suffix in libs/gst/helpers/meson.build" ; exit 1)
sed -i 's/^#define EXESUFFIX$/#define EXESUFFIX "-%{_target_cpu}"/' gst/gstpluginloader.c sed -i "s/'gst-plugin-scanner'/'gst-plugin-scanner-%{_target_cpu}'/" meson.build
grep "'gst-plugin-scanner-%{_target_cpu}'" meson.build || (echo "Couldn't set executable suffix in meson.build" ; exit 1)
sed -i 's/"gst-plugin-scanner"/"gst-plugin-scanner-%{_target_cpu}"/' gst/gstpluginloader.c
grep '"gst-plugin-scanner-%{_target_cpu}"' gst/gstpluginloader.c || (echo "Couldn't set executable suffix in gst/gstpluginloader.c" ; exit 1)
# TODO: enable dbghelp # TODO: enable dbghelp
%meson \ %meson \
-Dptp-helper-permissions=capabilities \ -Dptp-helper-permissions=capabilities \
@ -176,6 +178,10 @@ mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets
install -m644 -D %{SOURCE1} %{buildroot}%{_fileattrsdir}/gstreamer.attr install -m644 -D %{SOURCE1} %{buildroot}%{_fileattrsdir}/gstreamer.attr
install -m755 -D %{SOURCE2} %{buildroot}%{_rpmconfigdir}/gstreamer-provides install -m755 -D %{SOURCE2} %{buildroot}%{_rpmconfigdir}/gstreamer-provides
%if %{suse_version} >= 1600
%python3_fix_shebang_path %{buildroot}%{_libexecdir}/gstreamer-*/*
%endif
%verifyscript %verifyscript
%verify_permissions -e %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper %verify_permissions -e %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper

View File

@ -1,12 +0,0 @@
Index: gstreamer-1.22.9/meson.build
===================================================================
--- gstreamer-1.22.9.orig/meson.build
+++ gstreamer-1.22.9/meson.build
@@ -1,6 +1,6 @@
project('gstreamer', 'c',
version : '1.22.9',
- meson_version : '>= 0.62',
+ meson_version : '>= 0.61',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])