extra/gstreamer to 1.20.1-1

This commit is contained in:
David Beauchamp 2022-03-14 19:07:50 -04:00
parent b6e3aa744a
commit 91c031680e
3 changed files with 5 additions and 158 deletions

View file

@ -1,76 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
Date: Mon, 7 Feb 2022 22:44:30 +0100
Subject: [PATCH] openaptx: Support libfreeaptx
[libfreeaptx][1] is a fork of libopenapt 0.2.0, used by pipewire.
[1]: https://github.com/iamthehorker/libfreeaptx
---
.../gst-plugins-bad/ext/openaptx/gstopenaptxdec.h | 4 ++++
.../gst-plugins-bad/ext/openaptx/gstopenaptxenc.h | 4 ++++
.../gst-plugins-bad/ext/openaptx/meson.build | 15 +++++++++++++--
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
index 95b126c57ecb..081b194fb542 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
+++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxdec.h
@@ -24,7 +24,11 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
+#ifdef USE_FREEAPTX
+#include <freeaptx.h>
+#else
#include <openaptx.h>
+#endif
G_BEGIN_DECLS
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
index ab80b61b7c94..4cf7e17b93af 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
+++ b/subprojects/gst-plugins-bad/ext/openaptx/gstopenaptxenc.h
@@ -24,7 +24,11 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
+#ifdef USE_FREEAPTX
+#include <freeaptx.h>
+#else
#include <openaptx.h>
+#endif
G_BEGIN_DECLS
diff --git a/subprojects/gst-plugins-bad/ext/openaptx/meson.build b/subprojects/gst-plugins-bad/ext/openaptx/meson.build
index e361ef3b6c59..4db8fdbb1564 100644
--- a/subprojects/gst-plugins-bad/ext/openaptx/meson.build
+++ b/subprojects/gst-plugins-bad/ext/openaptx/meson.build
@@ -4,12 +4,23 @@ openaptx_sources = [
'gstopenaptxenc.c',
]
-openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
+if not get_option('openaptx').allowed()
+ subdir_done()
+endif
+
+openaptx_defines = []
+
+openaptx_dep = dependency('libfreeaptx', version : '>= 0.1.1', required : false)
+if openaptx_dep.found()
+ openaptx_defines += ['-DUSE_FREEAPTX']
+else
+ openaptx_dep = dependency('libopenaptx', version : '== 0.2.0', required : get_option('openaptx'))
+endif
if openaptx_dep.found()
gstopenaptx = library('gstopenaptx',
openaptx_sources,
- c_args : gst_plugins_bad_args,
+ c_args : gst_plugins_bad_args + openaptx_defines,
include_directories : [configinc],
dependencies : [gstaudio_dep, openaptx_dep],
install : true,

View file

@ -1,69 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
Date: Mon, 7 Feb 2022 22:48:29 +0100
Subject: [PATCH] wpe: Clean up build script
Use feature.require to check for gstgl and exit early if 'wpe' is
disabled (don't even check for wpe-webkit-1.1).
---
.../gst-plugins-bad/ext/wpe/meson.build | 29 ++++++++++---------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git a/subprojects/gst-plugins-bad/ext/wpe/meson.build b/subprojects/gst-plugins-bad/ext/wpe/meson.build
index 7637cb29f318..7d7edcfdf4a9 100644
--- a/subprojects/gst-plugins-bad/ext/wpe/meson.build
+++ b/subprojects/gst-plugins-bad/ext/wpe/meson.build
@@ -1,37 +1,40 @@
+wpe_feat = get_option('wpe').require(gstgl_dep.found(),
+ error_message : 'wpe plugin enabled but GL support was not detected')
-if not gstgl_dep.found()
- if get_option('wpe').enabled()
- error('wpe plugin enabled but GL support was not detected')
- endif
+if not wpe_feat.allowed()
subdir_done()
endif
wpe_dep = dependency('wpe-webkit-1.1', version : '>= 2.28', required : false)
if not wpe_dep.found()
- wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : get_option('wpe'))
+ wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : wpe_feat)
endif
-wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : get_option('wpe'))
-egl_dep = dependency('egl', required : get_option('wpe'))
-xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : get_option('wpe'))
-wl_server_dep = dependency('wayland-server', required : get_option('wpe'))
+wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : wpe_feat)
+egl_dep = dependency('egl', required : wpe_feat)
+xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : wpe_feat)
+wl_server_dep = dependency('wayland-server', required : wpe_feat)
-if not wpe_dep.found() or not wpe_fdo_dep.found() or not egl_dep.found() or not xkbcommon_dep.found()
+if not (wpe_dep.found() and wpe_fdo_dep.found() and egl_dep.found() and xkbcommon_dep.found())
subdir_done()
endif
+giounix_dep = dependency('gio-unix-2.0', required: false)
+
wpe_extension_install_dir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'wpe-extension'
-giounix_dep = dependency('gio-unix-2.0', required: false)
gstwpe = library('gstwpe',
['WPEThreadedView.cpp', 'gstwpe.cpp', 'gstwpevideosrc.cpp', 'gstwpesrcbin.cpp'],
- dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep, gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
- cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1', '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
+ dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep,
+ gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
+ cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1',
+ '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
include_directories : [configinc],
install : true,
install_dir : plugins_install_dir)
if giounix_dep.found()
subdir('wpe-extension')
endif
+
pkgconfig.generate(gstwpe, install_dir : plugins_pkgconfig_install_dir)
plugins += [gstwpe]

View file

@ -29,8 +29,8 @@ pkgname=(
gst-python
gstreamer-docs
)
pkgver=1.20.0
pkgrel=3
pkgver=1.20.1
pkgrel=1
pkgdesc="Multimedia graph framework"
url="https://gstreamer.freedesktop.org/"
arch=(x86_64)
@ -74,17 +74,14 @@ makedepends=(
python-gobject
)
checkdepends=(xorg-server-xvfb)
options=(debug)
source=(
"git+https://gitlab.freedesktop.org/gstreamer/gstreamer.git?signed#tag=$pkgver"
"https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-$pkgver.tar.xz"{,.asc}
0001-openaptx-Support-libfreeaptx.patch
0002-wpe-Clean-up-build-script.patch
)
sha256sums=('SKIP'
'8c0cdf6faf99bb7ed9d54d5ea1bb31bfb58dcce77cbf7e17e54ca5d7c64ceb62'
'SKIP'
'dafd73f4264a027b207b2907d54f89f5c5731eab3f4806843878f29504f39b03'
'bbb07e1e21d385b40a69a0f2ae70ca07ccb41adfa1d35d9648e2e16df7d6d59e')
'ddd82f3d33b93aa355a69254c238324b2cdb8ac2ac8a27106c304c74e17e36af'
'SKIP')
validpgpkeys=(D637032E45B8C6585B9456565D2EEE6F6F349D7C) # Tim Müller <tim@gstreamer-foundation.org>
pkgver() {
@ -95,10 +92,6 @@ pkgver() {
prepare() {
cd gstreamer
# Build fixes
git apply -3 ../0001-openaptx-Support-libfreeaptx.patch
git apply -3 ../0002-wpe-Clean-up-build-script.patch
# Fix linking with system orc
sed -i "s/get_option('orc')/false/" meson.build
@ -604,7 +597,6 @@ package_gst-plugin-va() {
cd root; local files=(
usr/lib/libgstva-1.0.so*
usr/lib/pkgconfig/gstreamer-va-1.0.pc
usr/lib/gstreamer-1.0/libgstva.so
); _install