Accepting request 1061544 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1061544
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gstreamer?expand=0&rev=83
This commit is contained in:
Dominique Leuenberger 2023-02-02 17:06:56 +00:00 committed by Git OBS Bridge
commit fb3e1f232b
7 changed files with 114 additions and 32 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5a19083faaf361d21fc391124f78ba6d609be55845a82fa8f658230e5fa03dff
size 2690968

3
gstreamer-1.22.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78d21b5469ac93edafc6d8ceb63bc82f6cbbee94d2f866cca6b9252157ee0a09
size 1775960

View File

@ -1,26 +1,26 @@
Index: gstreamer-1.18.5/libs/gst/helpers/meson.build
Index: gstreamer-1.22.0/libs/gst/helpers/meson.build
===================================================================
--- gstreamer-1.18.5.orig/libs/gst/helpers/meson.build
+++ gstreamer-1.18.5/libs/gst/helpers/meson.build
@@ -5,6 +5,7 @@ executable('gst-plugin-scanner',
dependencies : [gobject_dep, gmodule_dep, glib_dep, mathlib, gst_dep],
--- gstreamer-1.22.0.orig/libs/gst/helpers/meson.build
+++ gstreamer-1.22.0/libs/gst/helpers/meson.build
@@ -5,6 +5,7 @@ exe = executable('gst-plugin-scanner',
dependencies : [gst_dep, mathlib, gmodule_dep,],
install_dir : helpers_install_dir,
install: true,
+ pie: true,
)
# Used in test env setup to make tests find plugin scanner in build tree
@@ -18,6 +19,7 @@ if bashcomp_found
dependencies : [gobject_dep, glib_dep, gst_dep],
meson.add_devenv({'GST_PLUGIN_SCANNER': exe.full_path()})
@@ -21,6 +22,7 @@ if bashcomp_found
install_dir : helpers_install_dir,
install_tag : 'bin',
install: true,
+ pie: true,
)
endif
@@ -114,7 +116,8 @@ if have_ptp
@@ -117,7 +119,8 @@ if have_ptp
include_directories : [configinc, libsinc],
dependencies : [gio_dep, gobject_dep, glib_dep, mathlib, gst_dep, cap_dep],
dependencies : [gst_dep, gio_dep, mathlib, cap_dep],
install_dir : helpers_install_dir,
- install : true)
+ install : true,

View File

@ -1,8 +1,8 @@
Index: gstreamer-1.18.5/tools/gst-inspect.c
Index: gstreamer-1.22.0/tools/gst-inspect.c
===================================================================
--- gstreamer-1.18.5.orig/tools/gst-inspect.c
+++ gstreamer-1.18.5/tools/gst-inspect.c
@@ -1750,7 +1750,224 @@ print_tracer_info (GstPluginFeature * fe
--- gstreamer-1.22.0.orig/tools/gst-inspect.c
+++ gstreamer-1.22.0/tools/gst-inspect.c
@@ -1869,7 +1869,224 @@ print_tracer_info (GstPluginFeature * fe
* is meant for machines, not humans.
*/
static void
@ -228,7 +228,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
{
GstPadDirection direction;
const gchar *type_name;
@@ -1776,6 +1993,13 @@ print_plugin_automatic_install_info_code
@@ -1895,6 +2112,13 @@ print_plugin_automatic_install_info_code
return;
}
@ -242,7 +242,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
/* decoder/demuxer sink pads should always be static and there should only
* be one, the same applies to encoders/muxers and source pads */
static_templates = gst_element_factory_get_static_pad_templates (factory);
@@ -1812,15 +2036,20 @@ print_plugin_automatic_install_info_code
@@ -1931,15 +2155,20 @@ print_plugin_automatic_install_info_code
gst_structure_remove_field (s, "rate");
gst_structure_remove_field (s, "depth");
gst_structure_remove_field (s, "clock-rate");
@ -267,7 +267,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
{
const gchar *const *protocols;
@@ -1829,13 +2058,19 @@ print_plugin_automatic_install_info_prot
@@ -1948,13 +2177,19 @@ print_plugin_automatic_install_info_prot
switch (gst_element_factory_get_uri_type (factory)) {
case GST_URI_SINK:
while (*protocols != NULL) {
@ -289,7 +289,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
++protocols;
}
break;
@@ -1846,7 +2081,7 @@ print_plugin_automatic_install_info_prot
@@ -1965,7 +2200,7 @@ print_plugin_automatic_install_info_prot
}
static void
@ -298,7 +298,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
{
GList *features, *l;
@@ -1865,11 +2100,15 @@ print_plugin_automatic_install_info (Gst
@@ -1984,11 +2219,15 @@ print_plugin_automatic_install_info (Gst
if (feature_plugin == plugin) {
GstElementFactory *factory;
@ -317,7 +317,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
}
if (feature_plugin)
gst_object_unref (feature_plugin);
@@ -1891,7 +2130,7 @@ print_all_plugin_automatic_install_info
@@ -2012,7 +2251,7 @@ print_all_plugin_automatic_install_info
plugin = (GstPlugin *) (plugins->data);
plugins = g_list_next (plugins);
@ -326,7 +326,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
}
gst_plugin_list_free (orig_plugins);
}
@@ -1958,6 +2197,7 @@ main (int argc, char *argv[])
@@ -2098,6 +2337,7 @@ real_main (int argc, char *argv[])
gboolean do_print_blacklist = FALSE;
gboolean plugin_name = FALSE;
gboolean print_aii = FALSE;
@ -334,7 +334,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
gboolean uri_handlers = FALSE;
gboolean check_exists = FALSE;
gboolean color_always = FALSE;
@@ -1979,6 +2219,9 @@ main (int argc, char *argv[])
@@ -2119,6 +2359,9 @@ real_main (int argc, char *argv[])
"or all plugins provide.\n "
"Useful in connection with external automatic plugin "
"installation mechanisms"), NULL},
@ -344,7 +344,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
{"plugin", '\0', 0, G_OPTION_ARG_NONE, &plugin_name,
N_("List the plugin contents"), NULL},
{"types", 't', 0, G_OPTION_ARG_STRING, &types,
@@ -2144,7 +2387,7 @@ main (int argc, char *argv[])
@@ -2284,7 +2527,7 @@ real_main (int argc, char *argv[])
/* if there is such a plugin, print out info */
if (plugin) {
if (print_aii) {
@ -353,7 +353,7 @@ Index: gstreamer-1.18.5/tools/gst-inspect.c
} else {
print_plugin_info (plugin);
print_plugin_features (plugin);
@@ -2157,13 +2400,17 @@ main (int argc, char *argv[])
@@ -2297,13 +2540,17 @@ real_main (int argc, char *argv[])
if (plugin) {
if (print_aii) {

View File

@ -1,3 +1,62 @@
-------------------------------------------------------------------
Fri Jan 27 10:10:31 UTC 2023 - Antonio Larrosa <alarrosa@suse.com>
- Add patch to reduce the required meson version to 0.61.0 since
that's what we have in SLE 15:
* reduce-required-meson.patch
- Probably because of a problem in SLE's meson, the generated
pkgconfig files are missing some variables that are needed by
rpm to generate the pkgconfig(...) provides correctly. In order
to fix this, we now check for those variables and insert them
in the pc files before installation if they're missing.
-------------------------------------------------------------------
Tue Jan 24 16:46:29 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.22.0:
+ AV1 video codec support improvements
+ New HLS, DASH and Microsoft Smooth Streaming adaptive streaming
clients
+ Qt6 support for rendering video inside a QML scene
+ Minimal builds optimised for binary size, including only the
individual elements needed
+ Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and
stabilisation
+ WebRTC simulcast support and support for Google Congestion
Control
+ WebRTC-based media server ingestion/egress (WHIP/WHEP) support
+ New easy to use batteries-included WebRTC sender plugin
+ Easy RTP sender timestamp reconstruction for RTP and RTSP
+ ONVIF timed metadata support
+ New fragmented MP4 muxer and non-fragmented MP4 muxer
+ New plugins for Amazon AWS storage and audio transcription
services
+ New gtk4paintablesink and gtkwaylandsink renderers
+ New videocolorscale element that can convert and scale in one
go for better performance
+ High bit-depth video improvements
+ Touchscreen event support in navigation API
+ Rust plugins now shipped in macOS and Windows/MSVC binary
packages
+ H.264/H.265 timestamp correction elements for PTS/DTS
reconstruction before muxers
+ Improved design for DMA buffer sharing and modifier handling
for hardware-accelerated video decoders/encoders/filters and
capturing/rendering on Linux
+ Video4Linux2 hardware accelerated decoder improvements
+ CUDA integration and Direct3D11 integration and plugin
improvements
+ New H.264 / AVC, H.265 / HEVC and AV1 hardware-accelerated
video encoders for AMD GPUs using the Advanced Media Framework
(AMF) SDK
+ applemedia: H.265 / HEVC video encoding + decoding support
+ androidmedia: H.265 / HEVC video encoding support
+ New "force-live" property for audiomixer, compositor,
glvideomixer, d3d11compositor etc.
+ Lots of new plugins, features, performance improvements and bug
fixes
- Rebase patches with quilt.
-------------------------------------------------------------------
Thu Dec 22 12:43:08 UTC 2022 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package gstreamer
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,7 +19,7 @@
%define gst_branch 1.0
Name: gstreamer
Version: 1.20.5
Version: 1.22.0
Release: 0
Summary: Streaming-Media Framework Runtime
License: LGPL-2.1-or-later
@ -34,6 +34,8 @@ Source99: baselibs.conf
Patch1: gstreamer-rpm-prov.patch
# PATCH-FIX-OPENSUSE gstreamer-pie.patch mgorse@suse.com -- create position-independent executables.
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: check-devel
@ -41,14 +43,14 @@ BuildRequires: flex >= 2.5.31
BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: libcap-devel
BuildRequires: libcap-progs
BuildRequires: meson >= 0.59
BuildRequires: meson >= 0.61
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: python3-xml
BuildRequires: pkgconfig(bash-completion) >= 2.0
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.40.0
BuildRequires: pkgconfig(glib-2.0) >= 2.62.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(libdw)
@ -137,7 +139,7 @@ sed -i -e '1{s,^#!/usr/bin/env python3,#!%{_bindir}/python3,}' docs/gst-plugins-
%build
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/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}/" meson.build
# TODO: enable dbghelp
%meson \
@ -155,6 +157,15 @@ sed -i "s/gst-plugin-scanner/gst-plugin-scanner-%{_target_cpu}/" meson.build
%{nil}
%meson_build
# meson 0.61.4 in SLE 15 SP5 doesn't generate all variables needed in the pc files
# As a result the pkgconfig(...) provides are not generated in the rpm file so
# we have to add the variables to the pc files if they're missing
for pc in *-suse-linux/meson-private/*.pc ; do
grep -q ^datarootdir= $pc || sed -ie "/^pluginsdir=.*/a datarootdir=\${prefix}\/share" $pc ;
grep -q ^datadir= $pc || sed -ie "/^datarootdir=.*/a datadir=\${datarootdir}" $pc ;
grep -q ^libexecdir= $pc || sed -ie "/^datadir=.*/a libexecdir=\${prefix}\/libexec" $pc ;
done
%install
%meson_install
%find_lang %{name}-%{gst_branch}

View File

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