Sync from SUSE:SLFO:Main gstreamer-plugins-base revision 71f6253c3e3304b287ab2fb55bd668ad

This commit is contained in:
Adrian Schröter 2024-05-03 13:22:48 +02:00
commit f809206774
9 changed files with 4130 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,111 @@
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/221
Index: gst-plugins-base-1.22.0/gst-libs/gst/video/video-anc.c
===================================================================
--- gst-plugins-base-1.22.0.orig/gst-libs/gst/video/video-anc.c
+++ gst-plugins-base-1.22.0/gst-libs/gst/video/video-anc.c
@@ -1017,6 +1017,8 @@ gst_buffer_add_video_caption_meta (GstBu
switch (caption_type) {
case GST_VIDEO_CAPTION_TYPE_CEA608_RAW:
case GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A:
+ case GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20:
+ case GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608:
case GST_VIDEO_CAPTION_TYPE_CEA708_RAW:
case GST_VIDEO_CAPTION_TYPE_CEA708_CDP:
break;
@@ -1066,6 +1068,10 @@ gst_video_caption_type_from_caps (const
return GST_VIDEO_CAPTION_TYPE_CEA608_RAW;
} else if (g_strcmp0 (format, "s334-1a") == 0) {
return GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A;
+ } else if (g_strcmp0 (format, "scte-20") == 0) {
+ return GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20;
+ } else if (g_strcmp0 (format, "additional-cea-608") == 0) {
+ return GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608;
}
} else if (gst_structure_has_name (s, "closedcaption/x-cea-708")) {
if (g_strcmp0 (format, "cc_data") == 0) {
@@ -1103,6 +1109,14 @@ gst_video_caption_type_to_caps (GstVideo
caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
"format", G_TYPE_STRING, "s334-1a", NULL);
break;
+ case GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20:
+ caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
+ "format", G_TYPE_STRING, "scte-20", NULL);
+ break;
+ case GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608:
+ caption_caps = gst_caps_new_simple ("closedcaption/x-cea-608",
+ "format", G_TYPE_STRING, "additional-cea-608", NULL);
+ break;
case GST_VIDEO_CAPTION_TYPE_CEA708_RAW:
caption_caps = gst_caps_new_simple ("closedcaption/x-cea-708",
"format", G_TYPE_STRING, "cc_data", NULL);
Index: gst-plugins-base-1.22.0/gst-libs/gst/video/video-anc.h
===================================================================
--- gst-plugins-base-1.22.0.orig/gst-libs/gst/video/video-anc.h
+++ gst-plugins-base-1.22.0/gst-libs/gst/video/video-anc.h
@@ -345,7 +345,53 @@ GstVideoBarMeta *gst_buffer_add_video_ba
* offset relative to the base-line of the original image format (line 9
* for 525-line field 1, line 272 for 525-line field 2, line 5 for
* 625-line field 1 and line 318 for 625-line field 2).
- * @GST_VIDEO_CAPTION_TYPE_CEA708_RAW: CEA-708 as cc_data byte triplets. They
+ * @GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20: CEA 608 closed caption data as defined in
+ * ANSI/SCTE 20
+ * https://www.scte.org/documents/pdf/standards/SCTE%2020%202012.pdf
+ * Section 5.5
+ * This format is used for the carriage of CEA 608 closed caption data
+ * originating in Vertical Blanking Interval (VBI) service, and transported
+ * in MPEG-2 compliant bitstreams.
+ * The first byte must equal 1000 0001 to indicate valid data.
+ * The next five bits specify the number of CEA 608 closed caption triplets,
+ * followed by the sequence of triplets, laid out as follows for each triplet:
+ * cc priority : 2 bits
+ * field number: 2 bits
+ * line offset: 5 bits
+ * cc data 1: 8 bits
+ * cc data 2: 8 bits
+ * Notes:
+ * cc_priority is a number between 0 and 3 indicating the priority of constructs
+ * in picture reconstruction where different levels of hardware capability exist
+ * field number specifies the number of the field, in display order, from which
+ * the VBI data originated, specified as follows:
+ * 00 Forbidden
+ * 01 1st display field
+ * 10 2nd display field
+ * 11 3rd display field (the repeated field in film mode).
+ * line offset is a five-bit integer giving the offset in lines from which
+ * the VBI data originated, relative to the base VBI frame line
+ * (line 10 of NTSC field 1, line 273 of NTSC field 2, line 6 of PAL field 1,
+ * and line 319 of PAL field 2).
+ * @GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608: CEA-608 byte triplets as defined
+ * in ANSI/SCTE 21
+ * 6.4 Additional CEA-608 Data
+ * https://www.scte.org/documents/pdf/Standards/ANSI_SCTE%2021%202012.pdf.
+ * This format, also known as telecine, is used for the carriage of CEA 608
+ * closed caption data originating in Vertical Blanking Interval (VBI) service,
+ * and transported over cable digital transport streams.
+ * The second and third byte of the byte triplet
+ * is the raw CEA608 data, the first byte is a bitfield: The top/7th bit must
+ * equal 1 to indicate a valid triplet. Bits 6-2 represent the
+ * line offset relative to the base-line of the original image format (line 9
+ * for 525-line field 1, line 272 for 525-line field 2, line 5 for
+ * 625-line field 1 and line 318 for 625-line field 2).
+ * Bits 1-0 represent the field number, as follows:
+ * 00 Forbidden
+ * 01 1st display field
+ * 10 2nd display field
+ * 11 3rd display field (the repeated field in film mode).
+ * @GST_VIDEO_CAPTION_TYPE_CEA708_RAW: CEA-708 as cc_data byte triplets. They
* can also contain 608-in-708 and the first byte of each triplet has to
* be inspected for detecting the type.
* @GST_VIDEO_CAPTION_TYPE_CEA708_CDP: CEA-708 (and optionally CEA-608) in
@@ -361,7 +407,9 @@ typedef enum {
GST_VIDEO_CAPTION_TYPE_CEA608_RAW = 1,
GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A = 2,
GST_VIDEO_CAPTION_TYPE_CEA708_RAW = 3,
- GST_VIDEO_CAPTION_TYPE_CEA708_CDP = 4
+ GST_VIDEO_CAPTION_TYPE_CEA708_CDP = 4,
+ GST_VIDEO_CAPTION_TYPE_CEA608_SCTE_20 = 5,
+ GST_VIDEO_CAPTION_TYPE_CEA608_ADDITIONAL_CEA_608 = 6
} GstVideoCaptionType;
GST_VIDEO_API

View File

@ -0,0 +1,13 @@
Index: gst-plugins-base-1.22.0/tests/check/meson.build
===================================================================
--- gst-plugins-base-1.22.0.orig/tests/check/meson.build
+++ gst-plugins-base-1.22.0/tests/check/meson.build
@@ -135,7 +135,7 @@ if build_gstgl
test_defines += ['-DTEST_GST_GL_ABI_CHECK']
endif
-test_deps = [gst_dep, gst_base_dep, gst_net_dep, gst_check_dep, audio_dep,
+test_deps = [gst_dep, gst_base_dep, gst_net_dep, gst_check_dep, wayland_client_dep, audio_dep,
video_dep, pbutils_dep, rtp_dep, rtsp_dep, tag_dep, allocators_dep, app_dep,
fft_dep, riff_dep, sdp_dep, gio_dep, valgrind_dep]

26
baselibs.conf Normal file
View File

@ -0,0 +1,26 @@
gstreamer-plugins-base
gstreamer-plugins-base-devel
requires "libgstallocators-1_0-0-<targettype> = <version>"
requires "libgstapp-1_0-0-<targettype> = <version>"
requires "libgstaudio-1_0-0-<targettype> = <version>"
requires "libgstfft-1_0-0-<targettype> = <version>"
requires "libgstgl-1_0-0-<targettype> = <version>"
requires "libgstpbutils-1_0-0-<targettype> = <version>"
requires "libgstriff-1_0-0-<targettype> = <version>"
requires "libgstrtp-1_0-0-<targettype> = <version>"
requires "libgstrtsp-1_0-0-<targettype> = <version>"
requires "libgstsdp-1_0-0-<targettype> = <version>"
requires "libgsttag-1_0-0-<targettype> = <version>"
requires "libgstvideo-1_0-0-<targettype> = <version>"
libgstallocators-1_0-0
libgstapp-1_0-0
libgstaudio-1_0-0
libgstfft-1_0-0
libgstgl-1_0-0
libgstpbutils-1_0-0
libgstriff-1_0-0
libgstrtp-1_0-0
libgstrtsp-1_0-0
libgstsdp-1_0-0
libgsttag-1_0-0
libgstvideo-1_0-0

BIN
gst-plugins-base-1.22.9.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2013 Richard Hughes <richard@hughsie.com> -->
<component type="codec">
<id>gstreamer-plugin-base</id>
<metadata_license>CC0-1.0</metadata_license>
<name>GStreamer Multimedia Codecs - Base</name>
<summary>Multimedia playback for Ogg, Theora and Vorbis</summary>
<description>
<p>
This addon includes system codecs that are essential for the running system.
</p>
<p>
A codec decodes audio and video for playback or editing and is also
used for transmission or storage.
Different codecs are used in video-conferencing, streaming media and
video editing applications.
</p>
</description>
<keywords>
<keyword>Ogg</keyword>
<keyword>Theora</keyword>
<keyword>Vorbis</keyword>
</keywords>
<compulsory_for_desktop>GNOME</compulsory_for_desktop>
<url type="homepage">http://gstreamer.freedesktop.org/</url>
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer</url>
<url type="donation">http://www.gnome.org/friends/</url>
<url type="help">http://gstreamer.freedesktop.org/documentation/</url>
<update_contact><!-- upstream-contact_at_email.com --></update_contact>
</component>

File diff suppressed because it is too large Load Diff

678
gstreamer-plugins-base.spec Normal file
View File

@ -0,0 +1,678 @@
#
# spec file for package gstreamer-plugins-base
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _name gst-plugins-base
%define gst_branch 1.0
%define gstreamer_req_version %(echo %{version} | sed -e "s/+.*//")
Name: gstreamer-plugins-base
Version: 1.22.9
Release: 0
Summary: GStreamer Streaming-Media Framework Plug-Ins
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: Productivity/Multimedia/Other
URL: https://gstreamer.freedesktop.org
Source0: %{url}/src/%{_name}/%{_name}-%{version}.tar.xz
Source1: gstreamer-plugins-base.appdata.xml
Source2: baselibs.conf
Patch4: add_wayland_dep_to_tests.patch
Patch5: MR-221-video-anc-add-two-new-CEA-608-caption-formats.patch
Patch6: reduce-required-meson.patch
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: cdparanoia-devel
BuildRequires: gcc-c++
BuildRequires: glib2-devel >= 2.62.0
BuildRequires: gobject-introspection-devel >= 1.31.1
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libXext-devel
BuildRequires: libXv-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: meson >= 0.61
BuildRequires: orc >= 0.4.24
BuildRequires: pkgconfig
BuildRequires: python3-base
BuildRequires: python3-xml
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(alsa) >= 0.9.1
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(freetype2) >= 2.0.9
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.40
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glesv1_cm)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(glib-2.0) >= 2.40
BuildRequires: pkgconfig(gmodule-no-export-2.0)
BuildRequires: pkgconfig(gstreamer-1.0) >= %{gstreamer_req_version}
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(libdrm) >= 2.4.55
BuildRequires: pkgconfig(libvisual-0.4) >= 0.4.0
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(ogg) >= 1.0
BuildRequires: pkgconfig(opus) >= 0.9.4
BuildRequires: pkgconfig(pango) >= 1.22.0
BuildRequires: pkgconfig(pangocairo) >= 1.22.0
BuildRequires: pkgconfig(theoradec) >= 1.1
BuildRequires: pkgconfig(theoraenc) >= 1.1
BuildRequires: pkgconfig(vorbis) >= 1.0
BuildRequires: pkgconfig(vorbisenc) >= 1.0
BuildRequires: pkgconfig(wayland-client) >= 1.0
BuildRequires: pkgconfig(wayland-cursor) >= 1.0
BuildRequires: pkgconfig(wayland-egl) >= 1.0
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(zlib)
Requires: gstreamer >= %{gstreamer_req_version}
Supplements: gstreamer
Conflicts: gstreamer-plugins-bad < 1.18.1
# Generic name, never used in SuSE:
Provides: gst-plugins-base = %{version}
Obsoletes: libgstbadvideo-1_0-0
Obsoletes: typelib-1_0-GstFft-1_0 < 1.14.0
%if 0%{?suse_version} < 1550
BuildRequires: pkgconfig(cairo)
%endif
%if 0%{?suse_version} >= 1500
BuildRequires: pkgconfig(graphene-1.0)
%endif
%description
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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 libgstallocators-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstallocators-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstAllocators-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstAllocators-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstapp-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstapp-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstApp-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstApp-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstaudio-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstaudio-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstAudio-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstAudio-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstfft-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstfft-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstFft-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstFft-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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 libgstgl-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
Group: System/Libraries
%description -n libgstgl-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related,from real-time sound processing to playing
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-GstGL-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstGL-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n typelib-1_0-GstGLEGL-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstGLEGL-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n typelib-1_0-GstGLWayland-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstGLWayland-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n typelib-1_0-GstGLX11-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstGLX11-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstpbutils-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstpbutils-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstPbutils-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstPbutils-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstriff-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstriff-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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 libgstrtp-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstrtp-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstRtp-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstRtp-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstrtsp-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstrtsp-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstRtsp-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstRtsp-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstsdp-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstsdp-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstSdp-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstSdp-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgsttag-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgsttag-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstTag-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstTag-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package -n libgstvideo-1_0-0
Summary: GStreamer Streaming-Media Framework Plug-Ins
# We want to have base modules installed:
Group: System/Libraries
Requires: %{name}
%description -n libgstvideo-1_0-0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
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-GstVideo-1_0
Summary: GStreamer Streaming-Media Framework Plug-Ins -- Introspection bindings
Group: System/Libraries
%description -n typelib-1_0-GstVideo-1_0
GStreamer is a streaming media framework based on graphs of filters
that operate on media data. Applications using this library can do
anything media-related, from real-time sound processing to playing
videos. Its plug-in-based architecture means that new data types or
processing capabilities can be added simply by installing new plug-ins.
This package provides the GObject Introspection bindings for GStreamer
plug-ins.
%package devel
Summary: Include files and librs mandatory for development with gstreamer-plugins-base
Group: Development/Libraries/C and C++
Requires: libgstallocators-1_0-0 = %{version}
Requires: libgstapp-1_0-0 = %{version}
Requires: libgstaudio-1_0-0 = %{version}
Requires: libgstfft-1_0-0 = %{version}
Requires: libgstgl-1_0-0 = %{version}
Requires: libgstpbutils-1_0-0 = %{version}
Requires: libgstriff-1_0-0 = %{version}
Requires: libgstrtp-1_0-0 = %{version}
Requires: libgstrtsp-1_0-0 = %{version}
Requires: libgstsdp-1_0-0 = %{version}
Requires: libgsttag-1_0-0 = %{version}
Requires: libgstvideo-1_0-0 = %{version}
Requires: typelib-1_0-GstAllocators-1_0 = %{version}
Requires: typelib-1_0-GstApp-1_0 = %{version}
Requires: typelib-1_0-GstAudio-1_0 = %{version}
Requires: typelib-1_0-GstGL-1_0 = %{version}
Requires: typelib-1_0-GstGLEGL-1_0 = %{version}
Requires: typelib-1_0-GstGLWayland-1_0 = %{version}
Requires: typelib-1_0-GstGLX11-1_0 = %{version}
Requires: typelib-1_0-GstPbutils-1_0 = %{version}
Requires: typelib-1_0-GstRtp-1_0 = %{version}
Requires: typelib-1_0-GstRtsp-1_0 = %{version}
Requires: typelib-1_0-GstSdp-1_0 = %{version}
Requires: typelib-1_0-GstTag-1_0 = %{version}
Requires: typelib-1_0-GstVideo-1_0 = %{version}
# Generic name, never used in SuSE:
Provides: gst-plugins-base-devel = %{version}
%description devel
This package contains all necessary include files and libraries needed
to compile and link applications that use gstreamer-plugins-base.
%lang_package
%prep
%autosetup -n %{_name}-%{version} -p1
%build
export PYTHON=%{_bindir}/python3
# TODO: tremor needs libvorbisidec
%meson \
-Dpackage-name='openSUSE GStreamer-plugins-base package'\
-Dpackage-origin='http://download.opensuse.org'\
-Ddoc=disabled \
-Dintrospection=enabled \
-Dorc=enabled \
-Dexamples=disabled \
-Dtremor=disabled \
%{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
if [ -f %{buildroot}%{_datadir}/appdata/gstreamer-plugins-base.appdata.xml ]; then
echo "Please remove the added gstreamer-plugins-base.appdata.xml file from the sources - the tarball installs it"
false
else
mkdir -p %{buildroot}%{_datadir}/appdata
cp %{SOURCE1} %{buildroot}%{_datadir}/appdata/
fi
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{_name}-%{gst_branch}
%ldconfig_scriptlets -n libgstallocators-1_0-0
%ldconfig_scriptlets -n libgstapp-1_0-0
%ldconfig_scriptlets -n libgstaudio-1_0-0
%ldconfig_scriptlets -n libgstfft-1_0-0
%ldconfig_scriptlets -n libgstgl-1_0-0
%ldconfig_scriptlets -n libgstpbutils-1_0-0
%ldconfig_scriptlets -n libgstriff-1_0-0
%ldconfig_scriptlets -n libgstrtp-1_0-0
%ldconfig_scriptlets -n libgstrtsp-1_0-0
%ldconfig_scriptlets -n libgstsdp-1_0-0
%ldconfig_scriptlets -n libgsttag-1_0-0
%ldconfig_scriptlets -n libgstvideo-1_0-0
%files
%license COPYING
%{_mandir}/man1/gst-device-monitor-*
%{_mandir}/man1/gst-discoverer-*
%{_mandir}/man1/gst-play-*
%{_bindir}/gst-device-monitor-%{gst_branch}
%{_bindir}/gst-discoverer-%{gst_branch}
%{_bindir}/gst-play-%{gst_branch}
%{_datadir}/appdata/gstreamer-plugins-base.appdata.xml
%{_libdir}/gstreamer-%{gst_branch}/libgstadder.so
%{_libdir}/gstreamer-%{gst_branch}/libgstalsa.so
%{_libdir}/gstreamer-%{gst_branch}/libgstapp.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudioconvert.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudiomixer.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudioresample.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudiotestsrc.so
%{_libdir}/gstreamer-%{gst_branch}/libgstaudiorate.so
%{_libdir}/gstreamer-%{gst_branch}/libgstcdparanoia.so
%{_libdir}/gstreamer-%{gst_branch}/libgstcompositor.so
%{_libdir}/gstreamer-%{gst_branch}/libgstencoding.so
%{_libdir}/gstreamer-%{gst_branch}/libgstgio.so
%{_libdir}/gstreamer-%{gst_branch}/libgstlibvisual.so
%{_libdir}/gstreamer-%{gst_branch}/libgstogg.so
%{_libdir}/gstreamer-%{gst_branch}/libgstopengl.so
%{_libdir}/gstreamer-%{gst_branch}/libgstopus.so
%{_libdir}/gstreamer-%{gst_branch}/libgstoverlaycomposition.so
%{_libdir}/gstreamer-%{gst_branch}/libgstpango.so
%{_libdir}/gstreamer-%{gst_branch}/libgstpbtypes.so
%{_libdir}/gstreamer-%{gst_branch}/libgstplayback.so
%{_libdir}/gstreamer-%{gst_branch}/libgstrawparse.so
%{_libdir}/gstreamer-%{gst_branch}/libgstsubparse.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttcp.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttheora.so
%{_libdir}/gstreamer-%{gst_branch}/libgsttypefindfunctions.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvideoconvertscale.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvideorate.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvideotestsrc.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvolume.so
%{_libdir}/gstreamer-%{gst_branch}/libgstvorbis.so
%{_libdir}/gstreamer-%{gst_branch}/libgstximagesink.so
%{_libdir}/gstreamer-%{gst_branch}/libgstxvimagesink.so
%files -n libgstallocators-1_0-0
%{_libdir}/libgstallocators*.so.*
%files -n typelib-1_0-GstAllocators-1_0
%{_libdir}/girepository-1.0/GstAllocators-*.typelib
%files -n libgstapp-1_0-0
%{_libdir}/libgstapp*.so.*
%files -n typelib-1_0-GstApp-1_0
%{_libdir}/girepository-1.0/GstApp-*.typelib
%files -n libgstaudio-1_0-0
%{_libdir}/libgstaudio*.so.*
%files -n typelib-1_0-GstAudio-1_0
%{_libdir}/girepository-1.0/GstAudio-*.typelib
%files -n libgstfft-1_0-0
%{_libdir}/libgstfft*.so.*
%files -n libgstgl-1_0-0
%{_libdir}/libgstgl-%{gst_branch}.so.0*
%files -n typelib-1_0-GstGL-1_0
%{_libdir}/girepository-1.0/GstGL-*.typelib
%files -n typelib-1_0-GstGLEGL-1_0
%{_libdir}/girepository-1.0/GstGLEGL-1.0.typelib
%files -n typelib-1_0-GstGLWayland-1_0
%{_libdir}/girepository-1.0/GstGLWayland-1.0.typelib
%files -n typelib-1_0-GstGLX11-1_0
%{_libdir}/girepository-1.0/GstGLX11-1.0.typelib
%files -n libgstpbutils-1_0-0
%{_libdir}/libgstpbutils*.so.*
%files -n typelib-1_0-GstPbutils-1_0
%{_libdir}/girepository-1.0/GstPbutils-*.typelib
%files -n libgstriff-1_0-0
%{_libdir}/libgstriff*.so.*
%files -n libgstrtp-1_0-0
%{_libdir}/libgstrtp*.so.*
%files -n typelib-1_0-GstRtp-1_0
%{_libdir}/girepository-1.0/GstRtp-*.typelib
%files -n libgstrtsp-1_0-0
%{_libdir}/libgstrtsp*.so.*
%files -n typelib-1_0-GstRtsp-1_0
%{_libdir}/girepository-1.0/GstRtsp-*.typelib
%files -n libgstsdp-1_0-0
%{_libdir}/libgstsdp*.so.*
%files -n typelib-1_0-GstSdp-1_0
%{_libdir}/girepository-1.0/GstSdp-*.typelib
%files -n libgsttag-1_0-0
%{_libdir}/libgsttag*.so.*
%files -n typelib-1_0-GstTag-1_0
%{_libdir}/girepository-1.0/GstTag-*.typelib
%files -n libgstvideo-1_0-0
%{_libdir}/libgstvideo*.so.*
%files -n typelib-1_0-GstVideo-1_0
%{_libdir}/girepository-1.0/GstVideo-*.typelib
%files devel
%doc AUTHORS NEWS README.md RELEASE REQUIREMENTS
%{_includedir}/gstreamer-%{gst_branch}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gir-1.0/*.gir
%dir %{_datadir}/gst-plugins-base/
%dir %{_datadir}/gst-plugins-base/%{gst_branch}/
%{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
%dir %{_libdir}/gstreamer-%{gst_branch}/include
%dir %{_libdir}/gstreamer-%{gst_branch}/include/gst
%dir %{_libdir}/gstreamer-%{gst_branch}/include/gst/gl
%{_libdir}/gstreamer-%{gst_branch}/include/gst/gl/gstglconfig.h
%files lang -f %{_name}-%{gst_branch}.lang
%changelog

View File

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