Github messages for voidlinux
 help / color / mirror / Atom feed
From: ndowens <ndowens@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated]  gstreamer1: update to 1.18.1
Date: Sun, 20 Dec 2020 18:49:10 +0100	[thread overview]
Message-ID: <20201220174910.XjHY-wDreBu5XU5xU_R_GaPumM5-BGNRhBfkR7JFWYg@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-26411@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

There is an updated pull request by ndowens against master on the void-packages repository

https://github.com/ndowens/void-packages gstreamer1
https://github.com/void-linux/void-packages/pull/26411

 gstreamer1: update to 1.18.1
gst1-python version 1.18.1 doesn't support python2 anymore so can not update it

If someone can test update please let me know if update works fine.

For me, no matter gst version I have installed I can't not get audio out from an app that depends on gstreamer

A patch file from https://github.com/void-linux/void-packages/pull/26411.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-gstreamer1-26411.patch --]
[-- Type: text/x-diff, Size: 60247 bytes --]

From 2d041968df25c173c44ad0cedbb2f4125989724d Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:56:23 -0600
Subject: [PATCH 01/10] gst-libav: update to 1.18.1

---
 srcpkgs/gst-libav/template | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/gst-libav/template b/srcpkgs/gst-libav/template
index 715637e6d99..127259e4c38 100644
--- a/srcpkgs/gst-libav/template
+++ b/srcpkgs/gst-libav/template
@@ -1,6 +1,6 @@
 # Template file for 'gst-libav'
 pkgname=gst-libav
-version=1.16.2
+version=1.18.1
 revision=1
 wrksrc="${pkgname}-${version}"
 build_style=meson
@@ -12,18 +12,10 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname}/${pkgname}-${version}.tar.xz"
-checksum=c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2
+checksum=39a717bc2613efbbba19df3cf5cacff0987471fc8281ba2c5dcdeaded79c2ed8
 
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) # Required by musl for M_SQRT1_2
 		CFLAGS="-D_XOPEN_SOURCE"
 		;;
 esac
-
-post_configure() {
-	case "$XBPS_TARGET_MACHINE" in
-		x86_64-musl) # compiling with -O3 triggers a gcc bug
-			sed -i 's/-O3/-O2/g' gst-libs/ext/libav/config.mak
-			;;
-	esac
-}

From b42716e382c6f4e017311ab2784223e021dca29d Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 13:59:27 -0600
Subject: [PATCH 02/10] gst-omx: update to 1.18.1

---
 srcpkgs/gst-omx/template | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/gst-omx/template b/srcpkgs/gst-omx/template
index a4d2fad7609..06f1940401f 100644
--- a/srcpkgs/gst-omx/template
+++ b/srcpkgs/gst-omx/template
@@ -1,27 +1,14 @@
 # Template file for 'gst-omx'
 pkgname=gst-omx
-version=1.16.2
+version=1.18.1
 revision=1
-build_style=gnu-configure
-configure_args="--disable-examples"
-hostmakedepends="pkg-config python glib-devel"
+build_style=meson
+configure_args="-Dexamples=disabled -Dtarget=generic"
+hostmakedepends="pkg-config python3 glib-devel"
 makedepends="gst-plugins-base1-devel"
 short_desc="GStreamer OpenMAX IL wrapper plugin (1.x)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-only"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname}/${pkgname}-${version}.tar.xz"
-checksum=11ed411a2eba75610d72331eeb14ff05e2df28f4fd05cb69225a88bec6d27439
-
-case "$XBPS_TARGET_MACHINE" in
-	i686*|x86_64*|aarch64*|ppc*)
-		# XXX bellagio target
-		configure_args+=" --with-omx-target=generic"
-		;;
-	armv[67]*)
-		configure_args+=" --with-omx-target=rpi"
-		makedepends+=" rpi-firmware rpi-userland-devel"
-		export PKG_CONFIG_PATH="$XBPS_CROSS_BASE/opt/vc/lib/pkgconfig"
-		CFLAGS="-I${XBPS_CROSS_BASE}/opt/vc/include/IL"
-		;;
-esac
+checksum=42a8e0f9518b94655981ede441638f9f9395f4b1b9a4b329f068ee793975a965

From 9fb0c1fb746992aeb7732924b3e2749dd0381c24 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 14:01:55 -0600
Subject: [PATCH 03/10] gstreamer-vaapi: update to 1.18.1

---
 srcpkgs/gstreamer-vaapi/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/gstreamer-vaapi/template b/srcpkgs/gstreamer-vaapi/template
index 3c3ed86673a..fd8d96ef21e 100644
--- a/srcpkgs/gstreamer-vaapi/template
+++ b/srcpkgs/gstreamer-vaapi/template
@@ -1,6 +1,6 @@
 # Template file for 'gstreamer-vaapi'
 pkgname=gstreamer-vaapi
-version=1.16.2
+version=1.18.1
 revision=1
 build_style=meson
 hostmakedepends="pkg-config"
@@ -11,4 +11,4 @@ license="LGPL-2.1-or-later"
 homepage="https://gstreamer.freedesktop.org"
 changelog="https://raw.githubusercontent.com/GStreamer/gstreamer-vaapi/master/ChangeLog"
 distfiles="${homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz"
-checksum=191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601
+checksum=400d3c42810b50b4566df03f37319a6bdd758f969560c40147e7d9a3b0e8a6ea

From 0065a58541bbd3b6890ddafa5df46530fc6f24e1 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 14:09:41 -0600
Subject: [PATCH 04/10] gst1-python3: update to 1.18.1

---
 srcpkgs/gst1-python3/patches/python-3.8.patch | 11 -----------
 srcpkgs/gst1-python3/template                 |  7 +++----
 2 files changed, 3 insertions(+), 15 deletions(-)
 delete mode 100644 srcpkgs/gst1-python3/patches/python-3.8.patch

diff --git a/srcpkgs/gst1-python3/patches/python-3.8.patch b/srcpkgs/gst1-python3/patches/python-3.8.patch
deleted file mode 100644
index cbf1a58ea51..00000000000
--- a/srcpkgs/gst1-python3/patches/python-3.8.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- meson.build
-+++ meson.build
-@@ -24,7 +24,7 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d
- 
- pymod = import('python')
- python = pymod.find_installation(get_option('python'))
--python_dep = python.dependency(required : true)
-+python_dep = dependency('python3-embed', required : true)
- 
- python_abi_flags = python.get_variable('ABIFLAGS', '')
- pylib_loc = get_option('libpython-dir')
diff --git a/srcpkgs/gst1-python3/template b/srcpkgs/gst1-python3/template
index 402018c0476..eb6759c3798 100644
--- a/srcpkgs/gst1-python3/template
+++ b/srcpkgs/gst1-python3/template
@@ -1,10 +1,9 @@
 # Template file for 'gst1-python3'
 pkgname=gst1-python3
-version=1.16.2
-revision=3
+version=1.18.1
+revision=1
 wrksrc="gst-python-${version}"
 build_style=meson
-pycompile_module="gi/overrides"
 hostmakedepends="pkg-config python3"
 makedepends="libglib-devel python3-devel python3-gobject-devel gst-plugins-base1-devel"
 depends="python3-gobject"
@@ -13,4 +12,4 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/gst-python/gst-python-${version}.tar.xz"
-checksum=208df3148d73d9f416d016564737585d8ea763d91201732d44b5fe688c6288a8
+checksum=42b289422f7ab32757670848cf2245c5a8a8b08a665a9cab65ded8d69364f6f6

From e06fa8ff91d48b40c4ce2416bb0921e34d20e922 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 14:26:13 -0600
Subject: [PATCH 05/10] gst1-editing-services: update to 1.18.1

---
 srcpkgs/gst1-editing-services/template | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/gst1-editing-services/template b/srcpkgs/gst1-editing-services/template
index a23f876d84b..4353084d233 100644
--- a/srcpkgs/gst1-editing-services/template
+++ b/srcpkgs/gst1-editing-services/template
@@ -1,8 +1,8 @@
 # Template file for 'gst1-editing-services'
 pkgname=gst1-editing-services
-version=1.16.2
+version=1.18.1
 revision=1
-wrksrc="${pkgname/gst1/gstreamer}-${version}"
+wrksrc="${pkgname/gst1/gst}-${version}"
 build_style=meson
 build_helper="gir"
 configure_args="-Dgtk_doc=disabled"
@@ -12,16 +12,15 @@ short_desc="GStreamer 1.x Editing Services"
 maintainer="Toyam Cox <Vaelatern@gmail.com>"
 license="LGPL-2.0-or-later"
 homepage="https://gstreamer.freedesktop.org"
-distfiles="${homepage}/src/${pkgname/gst1/gst}/${pkgname/gst1/gstreamer}-${version}.tar.xz"
-checksum=0e06a6191a0c6c16e16272bf2573cecaeb245f10629486ad940a299bef700c16
-python_version=2 #unverified
+distfiles="${homepage}/src/${pkgname/gst1/gst}/${pkgname/gst1/gst}-${version}.tar.xz"
+checksum=e93cb3f1896565c57defa72758e49b6eb6685e0f804abd184f395c94822a3927
 
 gst1-editing-services-devel_package() {
 	short_desc+=" - development files"
 	depends="${sourcepkg}>=${version}_${revision}"
 	pkg_install() {
 		vmove usr/include
-		vmove usr/lib/*.so
+		vmove "usr/lib/*.so"
 		vmove usr/lib/pkgconfig
 	}
 }

From 15ff22e49105159968275ed16dfb59d0fd83efe6 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:46:22 -0600
Subject: [PATCH 06/10] gst-plugins-bad1: update to 1.18.1

---
 .../patches/no-gir-automagic.patch            | 24 ++++++++--
 ...an-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch | 48 -------------------
 srcpkgs/gst-plugins-bad1/template             |  8 ++--
 3 files changed, 23 insertions(+), 57 deletions(-)
 delete mode 100644 srcpkgs/gst-plugins-bad1/patches/vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch

diff --git a/srcpkgs/gst-plugins-bad1/patches/no-gir-automagic.patch b/srcpkgs/gst-plugins-bad1/patches/no-gir-automagic.patch
index 68c74ee18e5..38cc2f5edc1 100644
--- a/srcpkgs/gst-plugins-bad1/patches/no-gir-automagic.patch
+++ b/srcpkgs/gst-plugins-bad1/patches/no-gir-automagic.patch
@@ -1,11 +1,25 @@
---- meson.build	2019-06-09 12:56:31.309473261 +0200
-+++ meson.build	2019-06-09 12:56:46.166649265 +0200
-@@ -405,7 +405,7 @@
+From d4cba6b214ff9a631cdfb845c07101f97510abff Mon Sep 17 00:00:00 2001
+From: Nathan Owens <ndowens@artixlinux.org>
+Date: Sun, 15 Nov 2020 10:33:52 -0600
+Subject: [PATCH] no-gir-automatic
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git meson.build meson.build
+index 5d52ea9..4b2b5ea 100644
+--- meson.build
++++ meson.build
+@@ -445,7 +445,7 @@ python3 = import('python').find_installation()
  
  gir = find_program('g-ir-scanner', required : get_option('introspection'))
  gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found()
+-build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
++build_gir = gir.found() or get_option('introspection').enabled()
  gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
      'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
      'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
+-- 
+2.29.2
+
diff --git a/srcpkgs/gst-plugins-bad1/patches/vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch b/srcpkgs/gst-plugins-bad1/patches/vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
deleted file mode 100644
index 30271438d8e..00000000000
--- a/srcpkgs/gst-plugins-bad1/patches/vulkan-Drop-use-of-VK_RESULT_BEGIN_RANGE.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-uptream: yes (master)
-
-From 29bf8d8528ec694f65c8fae310adac996322cc74 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@ltnglobal.com>
-Date: Sat, 9 May 2020 19:59:46 +0200
-Subject: [PATCH] vulkan: Drop use of VK_RESULT_BEGIN_RANGE
-
-This was removed in Vulkan 1.2.140.
-
-> Shortly after 2020-04-24, we will be removing the automatically
-> generated `VK_*_BEGIN_RANGE`, `VK_*_END_RANGE`, and `VK_*_RANGE_SIZE`
-> tokens from the Vulkan headers. These tokens are currently defined for
-> some enumerated types, but are explicitly not part of the Vulkan API.
-> They existed only to support some Vulkan implementation internals,
-> which no longer require them. We will be accepting comments on this
-> topic in [#1230], but we strongly suggest any external projects using
-> these tokens immediately migrate away from them.
-
-[#1230]: https://github.com/KhronosGroup/Vulkan-Docs/issues/1230
----
- ext/vulkan/vkerror.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c
-index 3fec27e4d..c91589d9b 100644
---- ext/vulkan/vkerror.c
-+++ ext/vulkan/vkerror.c
-@@ -27,7 +27,7 @@
- #include "vkerror.h"
- 
- /* *INDENT-OFF* */
--static const struct 
-+static const struct
- {
-   VkResult result;
-   const char *str;
-@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result)
- 
-   if (result >= 0)
-     return NULL;
--  if (result < VK_RESULT_BEGIN_RANGE)
--    return "Unknown Error";
- 
-   for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
-     if (result == vk_result_string_map[i].result)
--- 
-2.26.2
-
diff --git a/srcpkgs/gst-plugins-bad1/template b/srcpkgs/gst-plugins-bad1/template
index 212203c24a1..5e744eb84c7 100644
--- a/srcpkgs/gst-plugins-bad1/template
+++ b/srcpkgs/gst-plugins-bad1/template
@@ -1,7 +1,7 @@
 # Template file for 'gst-plugins-bad1'
 pkgname=gst-plugins-bad1
-version=1.16.2
-revision=10
+version=1.18.1
+revision=1
 wrksrc="${pkgname/1/}-${version}"
 build_helper="gir"
 build_style=meson
@@ -15,7 +15,7 @@ configure_args="-Dpackage-origin=https://voidlinux.org -Dgtk_doc=false
  -Dwildmidi=disabled -Dwpe=disabled -Ddirectfb=disabled
  -Dgme=$(vopt_if gme enabled disabled)
  -Dintrospection=$(vopt_if gir enabled disabled) -Dneon=disabled"
-hostmakedepends="automake gettext libtool pkg-config python glib-devel
+hostmakedepends="automake gettext libtool pkg-config python3 glib-devel
  orc wayland-devel"
 makedepends="alsa-lib-devel celt-devel libressl-devel exempi-devel
  gst-plugins-base1-devel libdca-devel orc-devel libmms-devel
@@ -36,7 +36,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname/1/}/${pkgname/1/}-${version}.tar.xz"
-checksum=f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74
+checksum=c195978c85d97406c05eb9d43ac54b9ab35eda6ffdae32b3ed597b8f1743c1b2
 
 build_options="gir gme"
 build_options_default="gir"

From 958dd491083117f39c6aafc54707cfd468e1f16d Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:52:30 -0600
Subject: [PATCH 07/10] gst-plugins-good1: update to 1.18.1

---
 srcpkgs/gst-plugins-good1/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/gst-plugins-good1/template b/srcpkgs/gst-plugins-good1/template
index ba326be3f1d..65b773ef0f1 100644
--- a/srcpkgs/gst-plugins-good1/template
+++ b/srcpkgs/gst-plugins-good1/template
@@ -1,7 +1,7 @@
 # Template file for 'gst-plugins-good1'
 pkgname=gst-plugins-good1
-version=1.16.2
-revision=3
+version=1.18.1
+revision=1
 wrksrc="${pkgname/1/}-${version}"
 build_style=meson
 configure_args="-Ddv=disabled -Ddv1394=disabled -Dshout2=disabled -Dqt5=enabled
@@ -23,7 +23,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname/1/}/${pkgname/1/}-${version}.tar.xz"
-checksum=40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319
+checksum=e210e91a5590ecb6accc9d06c949a58ca6897d8edb3b3d55828e424c624f626c
 
 build_options="gtk3"
 build_options_default="gtk3"

From b0829a825f2e89d5d4778f89574e9a4696fdb97e Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:54:53 -0600
Subject: [PATCH 08/10] gst-plugins-ugly1: update to 1.18.1

---
 srcpkgs/gst-plugins-ugly1/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/gst-plugins-ugly1/template b/srcpkgs/gst-plugins-ugly1/template
index c4661f69138..4d239ff1a2d 100644
--- a/srcpkgs/gst-plugins-ugly1/template
+++ b/srcpkgs/gst-plugins-ugly1/template
@@ -1,12 +1,12 @@
 # Template file for 'gst-plugins-ugly1'
 pkgname=gst-plugins-ugly1
-version=1.16.2
-revision=2
+version=1.18.1
+revision=1
 wrksrc="${pkgname/1/}-${version}"
 build_style=meson
 configure_args="-Damrnb=disabled -Damrwbdec=disabled -Dsidplay=disabled"
 # XXX add required pkgs for the amr, sid plugins.
-hostmakedepends="pkg-config intltool python"
+hostmakedepends="pkg-config intltool python3"
 makedepends="glib-devel libxml2-devel gst-plugins-base1-devel
  libcdio-devel libdvdread-devel libmad-devel x264-devel mpg123-devel
  orc-devel liba52-devel libmpeg2-devel lame-devel"
@@ -16,5 +16,5 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.1-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname/1/}/${pkgname/1/}-${version}.tar.xz"
-checksum=5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca
+checksum=18cd6cb829eb9611ca63cbcbf46aca0f0de1dd28b2df18caa2834326a75ff725
 lib32disabled=yes

From 1c3f468e386dacbc9f1069d07c1a437687d20a92 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:31:16 -0600
Subject: [PATCH 09/10] gst-plugins-base1: update to 1.18.1

Removed sndio patch due to upstream
---
 .../patches/no-gir-automagic.patch            |   24 +-
 srcpkgs/gst-plugins-base1/patches/sndio.patch | 1134 -----------------
 srcpkgs/gst-plugins-base1/template            |   12 +-
 srcpkgs/gst-sndio                             |    1 +
 4 files changed, 30 insertions(+), 1141 deletions(-)
 delete mode 100644 srcpkgs/gst-plugins-base1/patches/sndio.patch
 create mode 120000 srcpkgs/gst-sndio

diff --git a/srcpkgs/gst-plugins-base1/patches/no-gir-automagic.patch b/srcpkgs/gst-plugins-base1/patches/no-gir-automagic.patch
index f1226041ae6..36483a10e06 100644
--- a/srcpkgs/gst-plugins-base1/patches/no-gir-automagic.patch
+++ b/srcpkgs/gst-plugins-base1/patches/no-gir-automagic.patch
@@ -1,11 +1,25 @@
---- meson.build	2019-06-09 10:53:06.607859182 +0200
-+++ meson.build	2019-06-09 10:53:24.953088389 +0200
-@@ -356,7 +356,7 @@
+From 0d734eb2314fc60deee59de5f1440617e04e5125 Mon Sep 17 00:00:00 2001
+From: Nathan Owens <ndowens@artixlinux.org>
+Date: Sun, 15 Nov 2020 10:25:30 -0600
+Subject: [PATCH] no-gir-automatic
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git meson.build meson.build
+index 5ecce7f..98f8113 100644
+--- meson.build
++++ meson.build
+@@ -416,7 +416,7 @@ endif
  
  gir = find_program('g-ir-scanner', required : get_option('introspection'))
  gnome = import('gnome')
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found()
+-build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
++build_gir = gir.found() or get_option('introspection').enabled()
  gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
      'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
      'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
+-- 
+2.29.2
+
diff --git a/srcpkgs/gst-plugins-base1/patches/sndio.patch b/srcpkgs/gst-plugins-base1/patches/sndio.patch
deleted file mode 100644
index fe61fb88e67..00000000000
--- a/srcpkgs/gst-plugins-base1/patches/sndio.patch
+++ /dev/null
@@ -1,1134 +0,0 @@
-Source: OpenBSD ports, adapted to work with meson
-Upstream: No
-Reason: sndio support
-
-diff --git ext/meson.build ext/meson.build
-index d984b50..5f0becc 100644
---- ext/meson.build
-+++ ext/meson.build
-@@ -5,5 +5,6 @@ subdir('libvisual')
- subdir('ogg')
- subdir('opus')
- subdir('pango')
-+subdir('sndio')
- subdir('theora')
- subdir('vorbis')
-diff --git ext/sndio/gstsndio.c ext/sndio/gstsndio.c
-new file mode 100644
-index 0000000..2321dc2
---- /dev/null
-+++ ext/sndio/gstsndio.c
-@@ -0,0 +1,401 @@
-+/*
-+ * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include <stdio.h>
-+#include "gstsndio.h"
-+
-+GST_DEBUG_CATEGORY (gst_sndio_debug);
-+#define GST_CAT_DEFAULT gst_sndio_debug
-+
-+GType gst_sndiosink_get_type (void);
-+GType gst_sndiosrc_get_type (void);
-+
-+static gboolean
-+plugin_init (GstPlugin * plugin)
-+{
-+  GST_DEBUG_CATEGORY_INIT (gst_sndio_debug, "sndio", 0, "sndio plugins");
-+
-+  /* prefer sndiosrc over pulsesrc (GST_RANK_PRIMARY + 10) */
-+  if (!gst_element_register (plugin, "sndiosrc", GST_RANK_PRIMARY + 20,
-+          gst_sndiosrc_get_type()))
-+    return FALSE;
-+  /* prefer sndiosink over pulsesink (GST_RANK_PRIMARY + 10) */
-+  if (!gst_element_register (plugin, "sndiosink", GST_RANK_PRIMARY + 20,
-+          gst_sndiosink_get_type()))
-+    return FALSE;
-+  return TRUE;
-+}
-+
-+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-+    GST_VERSION_MINOR,
-+    sndio,
-+    "sndio plugin library",
-+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
-+
-+/*
-+ * common code to src and sink
-+ */
-+
-+void
-+gst_sndio_init (struct gstsndio *sio, GObject *obj)
-+{
-+  sio->obj = obj;
-+  sio->hdl = NULL;
-+  sio->device = g_strdup (SIO_DEVANY);
-+}
-+
-+void
-+gst_sndio_finalize (struct gstsndio *sio)
-+{
-+  gst_caps_replace (&sio->cur_caps, NULL);
-+  g_free (sio->device);
-+}
-+
-+GstCaps *
-+gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter)
-+{
-+  if (sio->cur_caps == NULL) {
-+    /* XXX */
-+    GST_LOG_OBJECT (sio->obj, "getcaps called, returning template caps");
-+    return NULL;
-+  }
-+
-+  GST_LOG_OBJECT (sio->obj, "returning %" GST_PTR_FORMAT, sio->cur_caps);
-+
-+  if (filter) {
-+    return gst_caps_intersect_full (filter,
-+      sio->cur_caps, GST_CAPS_INTERSECT_FIRST);
-+  } else {
-+    return gst_caps_ref (sio->cur_caps);
-+  }
-+}
-+
-+static void
-+gst_sndio_onvol (void *arg, unsigned int vol)
-+{
-+  struct gstsndio *sio = arg;
-+  sio->volume = vol;
-+  g_object_notify (G_OBJECT (sio->obj), "mute");
-+  g_object_notify (G_OBJECT (sio->obj), "volume");
-+}
-+
-+gboolean
-+gst_sndio_open (struct gstsndio *sio, gint mode)
-+{
-+  GValue list = G_VALUE_INIT, item = G_VALUE_INIT;
-+  GstStructure *s;
-+  GstCaps *caps;
-+  struct sio_enc *enc;
-+  struct sio_cap cap;
-+  char fmt[16];
-+  int i, chan;
-+
-+  GST_DEBUG_OBJECT (sio->obj, "open");
-+
-+  sio->hdl = sio_open (sio->device, mode, 0);
-+  if (sio->hdl == NULL) {
-+    GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE,
-+	("Couldn't open sndio device"), (NULL));
-+    return FALSE;
-+  }
-+  sio->mode = mode;
-+
-+  if (!sio_getcap(sio->hdl, &cap)) {
-+    GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
-+	("Couldn't get device capabilities"), (NULL));
-+    sio_close(sio->hdl);
-+    sio->hdl = NULL;
-+    return FALSE;
-+  }
-+  if (cap.nconf == 0) {
-+    GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
-+	("Device has empty capabilities"), (NULL));
-+    sio_close(sio->hdl);
-+    sio->hdl = NULL;
-+    return FALSE;
-+  }
-+  sio_onvol (sio->hdl, gst_sndio_onvol, sio);
-+
-+  caps = gst_caps_new_empty ();
-+  s = gst_structure_new ("audio/x-raw", (char *)NULL, (void *)NULL);
-+
-+  /*
-+   * scan supported rates
-+   */
-+  g_value_init (&list, GST_TYPE_LIST);
-+  g_value_init (&item, G_TYPE_INT);
-+  for (i = 0; i < SIO_NRATE; i++) {
-+      if ((cap.confs[0].rate & (1 << i)) == 0)
-+	  continue;
-+      g_value_set_int(&item, cap.rate[i]);
-+      gst_value_list_append_value (&list, &item);
-+  }
-+  gst_structure_set_value (s, "rate", &list);
-+  g_value_unset (&item);
-+  g_value_unset (&list);
-+
-+  /*
-+   * scan supported channels
-+   */
-+  g_value_init (&list, GST_TYPE_LIST);
-+  g_value_init (&item, G_TYPE_INT);
-+  chan = (mode == SIO_PLAY) ? cap.confs[0].pchan : cap.confs[0].rchan;
-+  for (i = 0; i < SIO_NCHAN; i++) {
-+      if ((chan & (1 << i)) == 0)
-+	  continue;
-+      g_value_set_int(&item, (mode == SIO_PLAY) ? cap.pchan[i] : cap.rchan[i]);
-+      gst_value_list_append_value (&list, &item);
-+  }
-+  gst_structure_set_value (s, "channels", &list);
-+  g_value_unset (&item);
-+  g_value_unset (&list);
-+
-+  /*
-+   * scan supported encodings
-+   */
-+  g_value_init (&list, GST_TYPE_LIST);
-+  g_value_init (&item, G_TYPE_STRING);
-+  for (i = 0; i < SIO_NENC; i++) {
-+      if ((cap.confs[0].enc & (1 << i)) == 0)
-+	  continue;
-+      enc = cap.enc + i;
-+      if (enc->bits % 8 != 0)
-+	  continue;
-+      if (enc->bits < enc->bps * 8 && enc->msb)
-+	  continue;
-+      if (enc->bits == enc->bps * 8) {
-+	  snprintf(fmt, sizeof(fmt), "%s%u%s",
-+		   enc->sig ? "S" : "U",
-+		   enc->bits,
-+		   enc->bps > 1 ? (enc->le ? "LE" : "BE") : "");
-+      } else {
-+	  snprintf(fmt, sizeof(fmt), "%s%u_%u%s",
-+		   enc->sig ? "S" : "U",
-+		   enc->bits,
-+		   enc->bps * 8,
-+		   enc->bps > 1 ? (enc->le ? "LE" : "BE") : "");
-+      }
-+      g_value_set_string(&item, fmt);
-+      gst_value_list_append_value (&list, &item);
-+  }
-+  gst_structure_set_value (s, "format", &list);
-+  g_value_unset (&item);
-+  g_value_unset (&list);
-+
-+  /*
-+   * add the only supported layout: interleaved
-+   */
-+  g_value_init (&item, G_TYPE_STRING);
-+  g_value_set_string(&item, "interleaved");
-+  gst_structure_set_value (s, "layout", &item);
-+  g_value_unset (&item);
-+
-+  gst_caps_append_structure (caps, s);
-+  sio->cur_caps = caps;
-+  GST_DEBUG ("caps are %s", gst_caps_to_string(caps));
-+  return TRUE;
-+}
-+
-+gboolean
-+gst_sndio_close (struct gstsndio *sio)
-+{
-+  GST_DEBUG_OBJECT (sio->obj, "close");
-+
-+  gst_caps_replace (&sio->cur_caps, NULL);
-+  sio_close (sio->hdl);
-+  sio->hdl = NULL;
-+  return TRUE;
-+}
-+
-+static void
-+gst_sndio_cb (void *addr, int delta)
-+{
-+  struct gstsndio *sio = addr;
-+
-+  delta *= sio->bpf;
-+  if (sio->mode == SIO_PLAY)
-+      sio->delay -= delta;
-+  else
-+      sio->delay += delta;
-+}
-+
-+gboolean
-+gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec)
-+{
-+  struct sio_par par, retpar;
-+  unsigned nchannels;
-+
-+  GST_DEBUG_OBJECT (sio, "prepare");
-+
-+  if (spec->type != GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
-+	("Only raw buffer format supported by sndio"), (NULL));
-+      return FALSE;
-+  }
-+  if (!GST_AUDIO_INFO_IS_INTEGER(&spec->info)) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
-+	("Only integer format supported"), (NULL));
-+      return FALSE;
-+  }
-+  if (GST_AUDIO_INFO_DEPTH(&spec->info) % 8) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
-+	("Only depths multiple of 8 are supported"), (NULL));
-+      return FALSE;
-+  }
-+
-+  sio_initpar (&par);
-+  switch (GST_AUDIO_INFO_FORMAT (&spec->info)) {
-+  case GST_AUDIO_FORMAT_S8:
-+  case GST_AUDIO_FORMAT_U8:
-+  case GST_AUDIO_FORMAT_S16LE:
-+  case GST_AUDIO_FORMAT_S16BE:
-+  case GST_AUDIO_FORMAT_U16LE:
-+  case GST_AUDIO_FORMAT_U16BE:
-+  case GST_AUDIO_FORMAT_S32LE:
-+  case GST_AUDIO_FORMAT_S32BE:
-+  case GST_AUDIO_FORMAT_U32LE:
-+  case GST_AUDIO_FORMAT_U32BE:
-+  case GST_AUDIO_FORMAT_S24_32LE:
-+  case GST_AUDIO_FORMAT_S24_32BE:
-+  case GST_AUDIO_FORMAT_U24_32LE:
-+  case GST_AUDIO_FORMAT_U24_32BE:
-+  case GST_AUDIO_FORMAT_S24LE:
-+  case GST_AUDIO_FORMAT_S24BE:
-+  case GST_AUDIO_FORMAT_U24LE:
-+  case GST_AUDIO_FORMAT_U24BE:
-+      break;
-+  default:
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_READ_WRITE,
-+	  ("Unsupported audio format"),
-+	  ("format = %d", GST_AUDIO_INFO_FORMAT (&spec->info)));
-+      return FALSE;
-+  }
-+  par.sig = GST_AUDIO_INFO_IS_SIGNED(&spec->info);
-+  par.bits = GST_AUDIO_INFO_WIDTH(&spec->info);
-+  par.bps = GST_AUDIO_INFO_DEPTH(&spec->info) / 8;
-+  if (par.bps > 1)
-+      par.le = GST_AUDIO_INFO_IS_LITTLE_ENDIAN(&spec->info);
-+  if (par.bits < par.bps * 8)
-+      par.msb = 0;
-+  par.rate = GST_AUDIO_INFO_RATE(&spec->info);
-+  if (sio->mode == SIO_PLAY)
-+      par.pchan = GST_AUDIO_INFO_CHANNELS(&spec->info);
-+  else
-+      par.rchan = GST_AUDIO_INFO_CHANNELS(&spec->info);
-+  par.round = par.rate / 1000000. * spec->latency_time;
-+  par.appbufsz = par.rate / 1000000. * spec->buffer_time;
-+
-+  if (!sio_setpar (sio->hdl, &par)) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
-+	("Unsupported audio encoding"), (NULL));
-+      return FALSE;
-+  }
-+  if (!sio_getpar (sio->hdl, &retpar)) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
-+	("Couldn't get audio device parameters"), (NULL));
-+      return FALSE;
-+  }
-+#if 0
-+  GST_DEBUG ("format = %s, "
-+         "requested: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, "
-+	 "rate = %d, pchan = %d, round = %d, appbufsz = %d; "
-+	 "returned: sig = %d, bits = %d, bps = %d, le = %d, msb = %d, "
-+	 "rate = %d, pchan = %d, round = %d, appbufsz = %d, bufsz = %d",
-+	 GST_AUDIO_INFO_NAME(&spec->info),
-+	 par.sig, par.bits, par.bps, par.le, par.msb,
-+	 par.rate, par.pchan, par.round, par.appbufsz,
-+	 retpar.sig, retpar.bits, retpar.bps, retpar.le, retpar.msb,
-+	 retpar.rate, retpar.pchan, retpar.round, retpar.appbufsz, retpar.bufsz);
-+#endif
-+  if (par.bits != retpar.bits ||
-+      par.bps != retpar.bps ||
-+      par.rate != retpar.rate ||
-+      (sio->mode == SIO_PLAY && par.pchan != retpar.pchan) ||
-+      (sio->mode == SIO_REC && par.rchan != retpar.rchan) ||
-+      (par.bps > 1 && par.le != retpar.le) ||
-+      (par.bits < par.bps * 8 && par.msb != retpar.msb)) {
-+      GST_ELEMENT_ERROR (sio, RESOURCE, OPEN_WRITE,
-+	("Audio device refused requested parameters"), (NULL));
-+      return FALSE;
-+  }
-+
-+  nchannels = (sio->mode == SIO_PLAY) ? retpar.pchan : retpar.rchan;
-+  spec->segsize = retpar.round * retpar.bps * nchannels;
-+  spec->segtotal = retpar.bufsz / retpar.round;
-+  sio->bpf = retpar.bps * nchannels;
-+  sio->delay = 0;
-+  sio_onmove (sio->hdl, gst_sndio_cb, sio);
-+
-+  if (!sio_start (sio->hdl)) {
-+    GST_ELEMENT_ERROR (sio->obj, RESOURCE, OPEN_READ_WRITE,
-+      ("Could not start sndio"), (NULL));
-+    return FALSE;
-+  }
-+  return TRUE;
-+}
-+
-+gboolean
-+gst_sndio_unprepare (struct gstsndio *sio)
-+{
-+  if (sio->hdl)
-+    sio_stop (sio->hdl);
-+  return TRUE;
-+}
-+
-+void
-+gst_sndio_set_property (struct gstsndio *sio, guint prop_id,
-+    const GValue * value, GParamSpec * pspec)
-+{
-+  switch (prop_id) {
-+    case PROP_DEVICE:
-+      g_free (sio->device);
-+      sio->device = g_value_dup_string (value);
-+      break;
-+    case PROP_VOLUME:
-+      sio_setvol (sio->hdl, g_value_get_double (value) * SIO_MAXVOL);
-+      break;
-+    case PROP_MUTE:
-+      if (g_value_get_boolean (value))
-+        sio_setvol (sio->hdl, 0);
-+      break;
-+    default:
-+      break;
-+  }
-+}
-+
-+void
-+gst_sndio_get_property (struct gstsndio *sio, guint prop_id,
-+    GValue * value,  GParamSpec * pspec)
-+{
-+  switch (prop_id) {
-+    case PROP_DEVICE:
-+      g_value_set_string (value, sio->device);
-+      break;
-+    case PROP_VOLUME:
-+      g_value_set_double (value, (gdouble)sio->volume / SIO_MAXVOL);
-+      break;
-+    case PROP_MUTE:
-+      g_value_set_boolean (value, (sio->volume == 0));
-+      break;
-+    default:
-+      G_OBJECT_WARN_INVALID_PROPERTY_ID (sio->obj, prop_id, pspec);
-+  }
-+}
-diff --git ext/sndio/gstsndio.h ext/sndio/gstsndio.h
-new file mode 100644
-index 0000000..77ec4e6
---- /dev/null
-+++ ext/sndio/gstsndio.h
-@@ -0,0 +1,78 @@
-+/*
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+#ifndef __GST_SNDIO_H__
-+#define __GST_SNDIO_H__
-+
-+#include <sndio.h>
-+#include <gst/gst.h>
-+#include <gst/audio/gstaudiosink.h>
-+#include <gst/audio/gstaudiosrc.h>
-+#include <gst/audio/streamvolume.h>
-+
-+enum
-+{
-+  PROP_0,
-+  PROP_DEVICE,
-+  PROP_VOLUME,
-+  PROP_MUTE
-+};
-+
-+#define GST_SNDIO_CAPS_STRING					\
-+	"audio/x-raw, "						\
-+        "format = (string) { "					\
-+		     "S8, U8, "					\
-+		     "S16LE, S16BE, U16LE, U16BE, "		\
-+		     "S32LE, S32BE, U32LE, U32BE, "		\
-+		     "S24_32LE, S24_32BE, U24_32LE, "		\
-+		     "U24_32BE, S24LE, S24BE, U24LE, U24BE "	\
-+	"}, "							\
-+        "layout = (string) interleaved, "			\
-+        "rate = (int) [ 8000, 192000 ], "			\
-+        "channels = (int) [1, 16]"
-+
-+/*
-+ * data common to src and sink
-+ */
-+struct gstsndio {
-+    struct sio_hdl *hdl;
-+    gchar *device;
-+    gint mode;
-+    gint bpf;		/* bytes per frame */
-+    gint delay;		/* bytes stored in the audio fifo */
-+    guint volume;	/* volume level */
-+    GstCaps *cur_caps;  /* saved capabilities of opened device */
-+    GObject *obj;	/* for logging */
-+};
-+
-+#define GST_SNDIO_DELAY(s) ((s)->delay / (s)->bpf)
-+
-+void gst_sndio_init (struct gstsndio *sio, GObject *obj);
-+void gst_sndio_finalize (struct gstsndio *sio);
-+GstCaps *gst_sndio_getcaps (struct gstsndio *sio, GstCaps * filter);
-+gboolean gst_sndio_open (struct gstsndio *sio, gint mode);
-+gboolean gst_sndio_close (struct gstsndio *sio);
-+gboolean gst_sndio_prepare (struct gstsndio *sio, GstAudioRingBufferSpec *spec);
-+gboolean gst_sndio_unprepare (struct gstsndio *sio);
-+void gst_sndio_set_property (struct gstsndio *sio, guint prop_id,
-+     const GValue * value, GParamSpec * pspec);
-+void gst_sndio_get_property (struct gstsndio *sio, guint prop_id,
-+     GValue * value,  GParamSpec * pspec);
-+
-+int gst_sndio_setpar(gpointer sio, GstAudioRingBufferSpec * spec,
-+     int mode, struct sio_hdl *hdl);
-+GstCaps *gst_sndio_caps (gpointer sio, int mode, struct sio_hdl *hdl);
-+
-+#endif
-diff --git ext/sndio/meson.build ext/sndio/meson.build
-new file mode 100644
-index 0000000..3f9a9fe
---- /dev/null
-+++ ext/sndio/meson.build
-@@ -0,0 +1,21 @@
-+sndio_sources = [
-+  'gstsndio.c',
-+  'sndiosink.c',
-+  'sndiosrc.c',
-+]
-+
-+cc =  meson.get_compiler('c')
-+
-+sndio_dep = cc.find_library('sndio', required : get_option('sndio'))
-+
-+if sndio_dep.found()
-+  gstsndio = library('gstsndio',
-+    sndio_sources,
-+	c_args : gst_plugins_base_args,
-+  include_directories: [configinc, libsinc],
-+  dependencies: [gst_base_dep, sndio_dep, audio_dep],
-+    install : true,
-+    install_dir : plugins_install_dir,
-+  )
-+  pkgconfig.generate(gstsndio, install_dir : plugins_pkgconfig_install_dir)
-+endif
-diff --git ext/sndio/sndiosink.c ext/sndio/sndiosink.c
-new file mode 100644
-index 0000000..cc68bd2
---- /dev/null
-+++ ext/sndio/sndiosink.c
-@@ -0,0 +1,226 @@
-+/*
-+ * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/**
-+ * SECTION:element-sndiosink
-+ * @see_also: #GstAutoAudioSink
-+ *
-+ * <refsect2>
-+ * <para>
-+ * This element outputs sound to a sound card using sndio.
-+ * </para>
-+ * <para>
-+ * Simple example pipeline that plays an Ogg/Vorbis file via sndio:
-+ * <programlisting>
-+ * gst-launch -v filesrc location=foo.ogg ! decodebin ! audioconvert ! audioresample ! sndiosink
-+ * </programlisting>
-+ * </para>
-+ * </refsect2>
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+#include "sndiosink.h"
-+
-+GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug);
-+#define GST_CAT_DEFAULT gst_sndio_debug
-+
-+#define gst_sndiosink_parent_class parent_class
-+
-+static GstStaticPadTemplate sndiosink_factory =
-+    GST_STATIC_PAD_TEMPLATE ("sink",
-+	GST_PAD_SINK,
-+	GST_PAD_ALWAYS,
-+	GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING)
-+    );
-+
-+G_DEFINE_TYPE_WITH_CODE (GstSndioSink, gst_sndiosink, GST_TYPE_AUDIO_SINK,
-+	G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL));
-+
-+static void gst_sndiosink_finalize (GObject * object);
-+static GstCaps *gst_sndiosink_getcaps (GstBaseSink * bsink,
-+    GstCaps * filter);
-+static gboolean gst_sndiosink_open (GstAudioSink * asink);
-+static gboolean gst_sndiosink_close (GstAudioSink * asink);
-+static gboolean gst_sndiosink_prepare (GstAudioSink * asink,
-+    GstAudioRingBufferSpec * spec);
-+static gboolean gst_sndiosink_unprepare (GstAudioSink * asink);
-+static gint gst_sndiosink_write (GstAudioSink * asink, gpointer data,
-+    guint length);
-+static guint gst_sndiosink_delay (GstAudioSink * asink);
-+static void gst_sndiosink_reset (GstAudioSink * asink);
-+static void gst_sndiosink_set_property (GObject * object, guint prop_id,
-+    const GValue * value, GParamSpec * pspec);
-+static void gst_sndiosink_get_property (GObject * object, guint prop_id,
-+    GValue * value, GParamSpec * pspec);
-+
-+static void
-+gst_sndiosink_init (GstSndioSink * sink)
-+{
-+  gst_sndio_init (&sink->sndio, G_OBJECT(sink));
-+}
-+
-+static void
-+gst_sndiosink_finalize (GObject * object)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (object);
-+
-+  gst_sndio_finalize (&sink->sndio);
-+  G_OBJECT_CLASS (parent_class)->finalize (object);
-+}
-+
-+static GstCaps *
-+gst_sndiosink_getcaps (GstBaseSink * bsink, GstCaps * filter)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (bsink);
-+
-+  return gst_sndio_getcaps (&sink->sndio, filter);
-+}
-+
-+static gboolean
-+gst_sndiosink_open (GstAudioSink * asink)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+
-+  return gst_sndio_open (&sink->sndio, SIO_PLAY);
-+}
-+
-+static gboolean
-+gst_sndiosink_close (GstAudioSink * asink)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+
-+  return gst_sndio_close (&sink->sndio);
-+}
-+
-+static gboolean
-+gst_sndiosink_prepare (GstAudioSink * asink, GstAudioRingBufferSpec * spec)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+
-+  return gst_sndio_prepare (&sink->sndio, spec);
-+}
-+
-+static gboolean
-+gst_sndiosink_unprepare (GstAudioSink * asink)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+
-+  return gst_sndio_unprepare (&sink->sndio);
-+}
-+
-+static gint
-+gst_sndiosink_write (GstAudioSink * asink, gpointer data, guint length)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+  guint done;
-+
-+  if (length == 0)
-+    return 0;
-+  done = sio_write (sink->sndio.hdl, data, length);
-+  if (done == 0) {
-+      GST_ELEMENT_ERROR (sink, RESOURCE, WRITE,
-+	("Failed to write data to sndio"), (NULL));
-+      return 0;
-+  }
-+  sink->sndio.delay += done;
-+  return done;
-+}
-+
-+static guint
-+gst_sndiosink_delay (GstAudioSink * asink)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (asink);
-+
-+  return GST_SNDIO_DELAY(&sink->sndio);
-+}
-+
-+static void
-+gst_sndiosink_reset (GstAudioSink * asink)
-+{
-+}
-+
-+static void
-+gst_sndiosink_set_property (GObject * object, guint prop_id,
-+    const GValue * value, GParamSpec * pspec)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (object);
-+
-+  gst_sndio_set_property (&sink->sndio, prop_id, value, pspec);
-+}
-+
-+static void
-+gst_sndiosink_get_property (GObject * object, guint prop_id, GValue * value,
-+    GParamSpec * pspec)
-+{
-+  GstSndioSink *sink = GST_SNDIOSINK (object);
-+
-+  gst_sndio_get_property (&sink->sndio, prop_id, value, pspec);
-+}
-+
-+static void
-+gst_sndiosink_class_init (GstSndioSinkClass * klass)
-+{
-+  GObjectClass *gobject_class;
-+  GstElementClass *gstelement_class;
-+  GstBaseSinkClass *gstbasesink_class;
-+  GstAudioBaseSinkClass *gstbaseaudiosink_class;
-+  GstAudioSinkClass *gstaudiosink_class;
-+
-+  gobject_class = (GObjectClass *) klass;
-+  gstelement_class = (GstElementClass *) klass;
-+  gstbasesink_class = (GstBaseSinkClass *) klass;
-+  gstbaseaudiosink_class = (GstAudioBaseSinkClass *) klass;
-+  gstaudiosink_class = (GstAudioSinkClass *) klass;
-+
-+  parent_class = g_type_class_peek_parent (klass);
-+
-+  gobject_class->finalize = gst_sndiosink_finalize;
-+  gobject_class->get_property = gst_sndiosink_get_property;
-+  gobject_class->set_property = gst_sndiosink_set_property;
-+
-+  gst_element_class_set_static_metadata (gstelement_class,
-+      "Audio sink (sndio)", "Sink/Audio",
-+      "Output to a sound card via sndio",
-+      "Jacob Meuser <jakemsr@sdf.lonestar.org>");
-+
-+  gst_element_class_add_pad_template (gstelement_class,
-+      gst_static_pad_template_get (&sndiosink_factory));
-+
-+  gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosink_getcaps);
-+  gstaudiosink_class->open = GST_DEBUG_FUNCPTR (gst_sndiosink_open);
-+  gstaudiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosink_prepare);
-+  gstaudiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosink_unprepare);
-+  gstaudiosink_class->close = GST_DEBUG_FUNCPTR (gst_sndiosink_close);
-+  gstaudiosink_class->write = GST_DEBUG_FUNCPTR (gst_sndiosink_write);
-+  gstaudiosink_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosink_delay);
-+  gstaudiosink_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosink_reset);
-+
-+  g_object_class_install_property (gobject_class, PROP_DEVICE,
-+      g_param_spec_string ("device", "Device",
-+          "sndio device as defined in sndio(7)",
-+          SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+  g_object_class_install_property (gobject_class, PROP_VOLUME,
-+      g_param_spec_double ("volume", "Volume",
-+	  "Linear volume of this stream, 1.0=100%", 0.0, 1.0,
-+	  1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+  g_object_class_install_property (gobject_class, PROP_MUTE,
-+      g_param_spec_boolean ("mute", "Mute",
-+	  "Mute state of this stream", FALSE,
-+	  G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+}
-diff --git ext/sndio/sndiosink.h ext/sndio/sndiosink.h
-new file mode 100644
-index 0000000..314e622
---- /dev/null
-+++ ext/sndio/sndiosink.h
-@@ -0,0 +1,57 @@
-+/*
-+ * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+
-+#ifndef __GST_SNDIOSINK_H__
-+#define __GST_SNDIOSINK_H__
-+
-+#include <sndio.h>
-+
-+#include <gst/gst.h>
-+#include <gst/audio/gstaudiosink.h>
-+#include "gstsndio.h"
-+
-+G_BEGIN_DECLS
-+
-+#define GST_TYPE_SNDIOSINK \
-+  (gst_sndiosink_get_type())
-+#define GST_SNDIOSINK(obj) \
-+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSINK,GstSndioSink))
-+#define GST_SNDIOSINK_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSINK,GstSndioSinkClass))
-+#define GST_IS_SNDIOSINK(obj) \
-+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSINK))
-+#define GST_IS_SNDIOSINK_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSINK))
-+
-+typedef struct _GstSndioSink GstSndioSink;
-+typedef struct _GstSndioSinkClass GstSndioSinkClass;
-+
-+struct _GstSndioSink {
-+  GstAudioSink sink;
-+  struct gstsndio sndio;
-+};
-+
-+struct _GstSndioSinkClass {
-+  GstAudioSinkClass parent_class;
-+};
-+
-+GType gst_sndiosink_get_type (void);
-+
-+G_END_DECLS
-+
-+#endif /* __GST_SNDIOSINK_H__ */
-diff --git ext/sndio/sndiosrc.c ext/sndio/sndiosrc.c
-new file mode 100644
-index 0000000..5b6d787
---- /dev/null
-+++ ext/sndio/sndiosrc.c
-@@ -0,0 +1,225 @@
-+/*
-+ * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+/**
-+ * SECTION:element-sndiosrc
-+ * @see_also: #GstAutoAudioSrc
-+ *
-+ * <refsect2>
-+ * <para>
-+ * This element retrieves samples from a sound card using sndio.
-+ * </para>
-+ * <para>
-+ * Simple example pipeline that records an Ogg/Vorbis file via sndio:
-+ * <programlisting>
-+ * gst-launch -v sndiosrc ! audioconvert ! vorbisenc ! oggmux ! filesink location=foo.ogg 
-+ * </programlisting>
-+ * </para>
-+ * </refsect2>
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include "sndiosrc.h"
-+#include "gstsndio.h"
-+
-+GST_DEBUG_CATEGORY_EXTERN (gst_sndio_debug);
-+#define GST_CAT_DEFAULT gst_sndio_debug
-+
-+#define gst_sndiosrc_parent_class parent_class
-+G_DEFINE_TYPE_WITH_CODE (GstSndioSrc, gst_sndiosrc, GST_TYPE_AUDIO_SRC,
-+	G_IMPLEMENT_INTERFACE (GST_TYPE_STREAM_VOLUME, NULL));
-+
-+static void gst_sndiosrc_finalize (GObject * object);
-+static GstCaps *gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter);
-+static gboolean gst_sndiosrc_open (GstAudioSrc * asrc);
-+static gboolean gst_sndiosrc_close (GstAudioSrc * asrc);
-+static gboolean gst_sndiosrc_prepare (GstAudioSrc * asrc,
-+    GstAudioRingBufferSpec * spec);
-+static gboolean gst_sndiosrc_unprepare (GstAudioSrc * asrc);
-+static guint gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data,
-+    guint length);
-+static guint gst_sndiosrc_delay (GstAudioSrc * asrc);
-+static void gst_sndiosrc_reset (GstAudioSrc * asrc);
-+static void gst_sndiosrc_set_property (GObject * object, guint prop_id,
-+    const GValue * value, GParamSpec * pspec);
-+static void gst_sndiosrc_get_property (GObject * object,
-+    guint prop_id, GValue * value, GParamSpec * pspec);
-+
-+static GstStaticPadTemplate sndiosrc_factory =
-+    GST_STATIC_PAD_TEMPLATE ("src",
-+	GST_PAD_SRC,
-+	GST_PAD_ALWAYS,
-+	GST_STATIC_CAPS (GST_SNDIO_CAPS_STRING)
-+    );
-+
-+static void
-+gst_sndiosrc_init (GstSndioSrc * src)
-+{
-+  gst_sndio_init (&src->sndio, G_OBJECT(src));
-+}
-+
-+static void
-+gst_sndiosrc_finalize (GObject * object)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (object);
-+
-+  gst_sndio_finalize (&src->sndio);
-+  G_OBJECT_CLASS (parent_class)->finalize (object);
-+}
-+
-+static GstCaps *
-+gst_sndiosrc_getcaps (GstBaseSrc * bsrc, GstCaps * filter)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (bsrc);
-+
-+  return gst_sndio_getcaps (&src->sndio, filter);
-+}
-+
-+static gboolean
-+gst_sndiosrc_open (GstAudioSrc * asrc)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+
-+  return gst_sndio_open (&src->sndio, SIO_REC);
-+}
-+
-+static gboolean
-+gst_sndiosrc_close (GstAudioSrc * asrc)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+
-+  return gst_sndio_close (&src->sndio);
-+}
-+
-+static gboolean
-+gst_sndiosrc_prepare (GstAudioSrc * asrc, GstAudioRingBufferSpec * spec)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+
-+  return gst_sndio_prepare (&src->sndio, spec);
-+}
-+
-+static gboolean
-+gst_sndiosrc_unprepare (GstAudioSrc * asrc)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+
-+  return gst_sndio_unprepare (&src->sndio);
-+}
-+
-+static guint
-+gst_sndiosrc_read (GstAudioSrc * asrc, gpointer data, guint length)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+  guint done;
-+
-+  if (length == 0)
-+    return 0;
-+  done = sio_read (src->sndio.hdl, data, length);
-+  if (done == 0) {
-+      GST_ELEMENT_ERROR (src, RESOURCE, READ,
-+	("Failed to read data from sndio"), (NULL));
-+      return 0;
-+  }
-+  src->sndio.delay -= done;
-+  return done;
-+}
-+
-+static guint
-+gst_sndiosrc_delay (GstAudioSrc * asrc)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (asrc);
-+
-+  return GST_SNDIO_DELAY(&src->sndio);
-+}
-+
-+static void
-+gst_sndiosrc_reset (GstAudioSrc * asrc)
-+{
-+}
-+
-+static void
-+gst_sndiosrc_set_property (GObject * object, guint prop_id,
-+    const GValue * value, GParamSpec * pspec)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (object);
-+
-+  gst_sndio_set_property (&src->sndio, prop_id, value, pspec);
-+}
-+
-+static void
-+gst_sndiosrc_get_property (GObject * object, guint prop_id, GValue * value,
-+    GParamSpec * pspec)
-+{
-+  GstSndioSrc *src = GST_SNDIOSRC (object);
-+
-+  gst_sndio_get_property (&src->sndio, prop_id, value, pspec);
-+}
-+
-+static void
-+gst_sndiosrc_class_init (GstSndioSrcClass * klass)
-+{
-+  GObjectClass *gobject_class;
-+  GstElementClass *gstelement_class;
-+  GstBaseSrcClass *gstbasesrc_class;
-+  GstAudioBaseSrcClass *gstbaseaudiosrc_class;
-+  GstAudioSrcClass *gstaudiosrc_class;
-+  gobject_class = (GObjectClass *) klass;
-+  gstelement_class = (GstElementClass *) klass;
-+  gstbasesrc_class = (GstBaseSrcClass *) klass;
-+  gstbaseaudiosrc_class = (GstAudioBaseSrcClass *) klass;
-+  gstaudiosrc_class = (GstAudioSrcClass *) klass;
-+
-+  parent_class = g_type_class_peek_parent (klass);
-+
-+  gobject_class->finalize = gst_sndiosrc_finalize;
-+  gobject_class->get_property = gst_sndiosrc_get_property;
-+  gobject_class->set_property = gst_sndiosrc_set_property;
-+
-+  gst_element_class_set_static_metadata (gstelement_class,
-+      "Audio src (sndio)", "Src/Audio",
-+      "Input from a sound card via sndio",
-+      "Jacob Meuser <jakemsr@sdf.lonestar.org>");
-+
-+  gst_element_class_add_pad_template (gstelement_class,
-+      gst_static_pad_template_get (&sndiosrc_factory));
-+
-+  gstbasesrc_class->get_caps = GST_DEBUG_FUNCPTR (gst_sndiosrc_getcaps);
-+  gstaudiosrc_class->open = GST_DEBUG_FUNCPTR (gst_sndiosrc_open);
-+  gstaudiosrc_class->prepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_prepare);
-+  gstaudiosrc_class->unprepare = GST_DEBUG_FUNCPTR (gst_sndiosrc_unprepare);
-+  gstaudiosrc_class->close = GST_DEBUG_FUNCPTR (gst_sndiosrc_close);
-+  gstaudiosrc_class->read = GST_DEBUG_FUNCPTR (gst_sndiosrc_read);
-+  gstaudiosrc_class->delay = GST_DEBUG_FUNCPTR (gst_sndiosrc_delay);
-+  gstaudiosrc_class->reset = GST_DEBUG_FUNCPTR (gst_sndiosrc_reset);
-+
-+  g_object_class_install_property (gobject_class, PROP_DEVICE,
-+      g_param_spec_string ("device", "Device",
-+          "sndio device as defined in sndio(7)",
-+          SIO_DEVANY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+  g_object_class_install_property (gobject_class, PROP_VOLUME,
-+      g_param_spec_double ("volume", "Volume",
-+	  "Linear volume of this stream, 1.0=100%", 0.0, 1.0,
-+	  1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+  g_object_class_install_property (gobject_class, PROP_MUTE,
-+      g_param_spec_boolean ("mute", "Mute",
-+	  "Mute state of this stream", FALSE,
-+	  G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-+}
-diff --git ext/sndio/sndiosrc.h ext/sndio/sndiosrc.h
-new file mode 100644
-index 0000000..83fd29c
---- /dev/null
-+++ ext/sndio/sndiosrc.h
-@@ -0,0 +1,57 @@
-+/*
-+ * Copyright (C) 2008 Jacob Meuser <jakemsr@sdf.lonestar.org>
-+ * Copyright (C) 2012 Alexandre Ratchov <alex@caoua.org>
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ */
-+
-+
-+#ifndef __GST_SNDIOSRC_H__
-+#define __GST_SNDIOSRC_H__
-+
-+#include <sndio.h>
-+
-+#include <gst/gst.h>
-+#include <gst/audio/gstaudiosrc.h>
-+#include "gstsndio.h"
-+
-+G_BEGIN_DECLS
-+
-+#define GST_TYPE_SNDIOSRC \
-+  (gst_sndiosrc_get_type())
-+#define GST_SNDIOSRC(obj) \
-+  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SNDIOSRC,GstSndioSrc))
-+#define GST_SNDIOSRC_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SNDIOSRC,GstSndioSrcClass))
-+#define GST_IS_SNDIOSRC(obj) \
-+  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SNDIOSRC))
-+#define GST_IS_SNDIOSRC_CLASS(klass) \
-+  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SNDIOSRC))
-+
-+typedef struct _GstSndioSrc GstSndioSrc;
-+typedef struct _GstSndioSrcClass GstSndioSrcClass;
-+
-+struct _GstSndioSrc {
-+  GstAudioSrc src;
-+  struct gstsndio sndio;
-+};
-+
-+struct _GstSndioSrcClass {
-+  GstAudioSrcClass parent_class;
-+};
-+
-+GType gst_sndiosrc_get_type (void);
-+
-+G_END_DECLS
-+
-+#endif /* __GST_SNDIOSRC_H__ */
-diff --git meson_options.txt meson_options.txt
-index e7af4dd..827507f 100644
---- meson_options.txt
-+++ meson_options.txt
-@@ -58,6 +58,7 @@ option('libvisual', type : 'feature', value : 'auto', description : 'libvisual a
- option('ogg', type : 'feature', value : 'auto', description : 'ogg parser, muxer, demuxer plugin')
- option('opus', type : 'feature', value : 'auto', description : 'OPUS audio codec plugin')
- option('pango', type : 'feature', value : 'auto', description : 'Pango text rendering and overlay plugin')
-+option('sndio', type : 'feature', value : 'auto', description : 'sndio support')
- option('theora', type : 'feature', value : 'auto', description : 'Theora video parser and codec plugin')
- option('tremor', type : 'feature', value : 'auto', description : 'Integer Vorbis decoder plugin for devices without floating point')
- option('vorbis', type : 'feature', value : 'auto', description : 'Vorbis audio parser, tagger, and codec plugin')
diff --git a/srcpkgs/gst-plugins-base1/template b/srcpkgs/gst-plugins-base1/template
index e5e3e8ccb6a..c0ed513c9ee 100644
--- a/srcpkgs/gst-plugins-base1/template
+++ b/srcpkgs/gst-plugins-base1/template
@@ -1,6 +1,6 @@
 # Template file for 'gst-plugins-base1'
 pkgname=gst-plugins-base1
-version=1.16.2
+version=1.18.1
 revision=1
 wrksrc="${pkgname/1/}-${version}"
 build_style=meson
@@ -21,7 +21,7 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.0-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/${pkgname/1/}/${pkgname/1/}-${version}.tar.xz"
-checksum=b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a
+checksum=1ba654d7de30f7284b4c7071b32f881b609733ce02ab6d9d9ea29386a036c641
 
 # Package build options
 build_options="cdparanoia gir sndio"
@@ -45,3 +45,11 @@ gst-plugins-base1-devel_package() {
 		fi
 	}
 }
+
+gst-sndio_package() {
+	depends="gstreamer1"
+	short_desc="Gstreamer sndio plugin (v1.X)"
+	pkg_install() {
+		vmove usr/lib/gstreamer-1.0/libgstsndio.so
+	}
+}
diff --git a/srcpkgs/gst-sndio b/srcpkgs/gst-sndio
new file mode 120000
index 00000000000..ada48a8a5d1
--- /dev/null
+++ b/srcpkgs/gst-sndio
@@ -0,0 +1 @@
+gst-plugins-base1
\ No newline at end of file

From 2d6336024b3678ab8d74532a4ea645c4be2b4eb6 Mon Sep 17 00:00:00 2001
From: Nathan Owens <ndowens@artixlinux.org>
Date: Sun, 15 Nov 2020 10:21:10 -0600
Subject: [PATCH 10/10] gstreamer1: update to 1.18.1

Remove gtk_doc option as it does nothing and doubt many use
---
 .../gstreamer1/patches/no-gir-automagic.patch | 22 ++++++++++++++----
 srcpkgs/gstreamer1/template                   | 23 +++++--------------
 2 files changed, 23 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/gstreamer1/patches/no-gir-automagic.patch b/srcpkgs/gstreamer1/patches/no-gir-automagic.patch
index c0135214edd..53740b4bb04 100644
--- a/srcpkgs/gstreamer1/patches/no-gir-automagic.patch
+++ b/srcpkgs/gstreamer1/patches/no-gir-automagic.patch
@@ -1,13 +1,25 @@
-diff --git a/meson.build b/meson.build
-index e738c55..e1b8d93 100644
+From 225e87688f21a817224655372004eb512f862d43 Mon Sep 17 00:00:00 2001
+From: Nathan Owens <ndowens@artixlinux.org>
+Date: Sun, 15 Nov 2020 10:04:50 -0600
+Subject: [PATCH] no-gir-automatic
+
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git meson.build meson.build
+index 5a21823..5d1db37 100644
 --- meson.build
 +++ meson.build
-@@ -451,7 +451,7 @@ rt_lib = cc.find_library('rt', required : false)
+@@ -503,7 +503,7 @@ rt_lib = cc.find_library('rt', required : false)
  gir = find_program('g-ir-scanner', required : get_option('introspection'))
  gnome = import('gnome')
  
--build_gir = gir.found() and not meson.is_cross_build()
-+build_gir = gir.found()
+-build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
++build_gir = gir.found() or get_option('introspection').enabled()
  
  gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
      'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
+-- 
+2.29.2
+
diff --git a/srcpkgs/gstreamer1/template b/srcpkgs/gstreamer1/template
index 16f7379fc93..aea4d67a853 100644
--- a/srcpkgs/gstreamer1/template
+++ b/srcpkgs/gstreamer1/template
@@ -1,16 +1,15 @@
 # Template file for 'gstreamer1'
 pkgname=gstreamer1
-version=1.16.2
+version=1.18.1
 revision=1
 wrksrc="gstreamer-${version}"
 build_style=meson
 build_helper="gir"
 configure_args="-Dptp-helper-permissions=capabilities
  -Dpackage-origin=https://www.voidlinux.org -Ddbghelp=disabled
- -Dintrospection=$(vopt_if gir enabled disabled)
- -Dgtk_doc=$(vopt_if gtk_doc enabled disabled)"
-hostmakedepends="gettext pkg-config flex python docbook-xsl glib-devel
- libcap-progs $(vopt_if gtk_doc gtk-doc)"
+ -Dintrospection=$(vopt_if gir enabled disabled)"
+hostmakedepends="gettext pkg-config flex python3 docbook-xsl glib-devel
+ libcap-progs"
 makedepends="libxml2-devel libglib-devel gtk+3-devel libcap-devel libunwind-devel
  bash-completion"
 short_desc="Core GStreamer libraries and elements (1.x)"
@@ -18,18 +17,11 @@ maintainer="Orphaned <orphan@voidlinux.org>"
 license="LGPL-2.0-or-later"
 homepage="https://gstreamer.freedesktop.org"
 distfiles="${homepage}/src/gstreamer/gstreamer-${version}.tar.xz"
-checksum=e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e
+checksum=79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba
 
-# Package build options
-build_options="gir gtk_doc"
+build_options="gir"
 build_options_default="gir"
 
-desc_option_gtk_doc="Build GTK Documentation with gtk-doc"
-
-if [ -z "$CROSS_BUILD" ]; then
-	build_options_default+=" gtk_doc"
-fi
-
 gstreamer1-devel_package() {
 	depends="${makedepends} ${sourcepkg}>=${version}_${revision}"
 	short_desc+=" - development files"
@@ -37,9 +29,6 @@ gstreamer1-devel_package() {
 		vmove usr/include
 		vmove usr/lib/pkgconfig
 		vmove "usr/lib/*.so"
-		if [ "$build_option_gtk_doc" ]; then
-			vmove usr/share/gtk-doc
-		fi
 		vmove usr/share/aclocal
 		if [ "$build_option_gir" ]; then
 			vmove "usr/share/gir*"

  parent reply	other threads:[~2020-12-20 17:49 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-15 20:28 [PR PATCH] " ndowens
2020-11-15 20:53 ` [PR PATCH] [Updated] " ndowens
2020-11-15 20:53 ` ndowens
2020-11-15 21:20 ` ndowens
2020-11-15 22:40 ` [PR REVIEW] " fosslinux
2020-11-15 22:47 ` ericonr
2020-11-15 22:47 ` ericonr
2020-11-15 22:47 ` ericonr
2020-11-15 22:57 ` ndowens
2020-11-15 22:57 ` q66
2020-11-15 22:58 ` ericonr
2020-11-15 23:00 ` q66
2020-11-15 23:55 ` ndowens
2020-11-15 23:57 ` [PR PATCH] [Updated] " ndowens
2020-11-16  0:04 ` [PR REVIEW] " ndowens
2020-11-16  0:54 ` q66
2020-11-16  0:58 ` ndowens
2020-11-16  0:59 ` [PR PATCH] [Updated] " ndowens
2020-11-16  1:18 ` [PR REVIEW] " ericonr
2020-11-16  1:24 ` q66
2020-11-16 13:30 ` ericonr
2020-11-16 15:22 ` [PR PATCH] [Updated] " ndowens
2020-12-17  9:00 ` lane-brain
2020-12-17  9:00 ` lane-brain
2020-12-17 20:23 ` ndowens
2020-12-17 20:28 ` fosslinux
2020-12-19 18:15 ` the-eater
2020-12-19 20:17 ` ndowens
2020-12-19 23:28 ` fosslinux
2020-12-19 23:42 ` ericonr
2020-12-20 16:12 ` the-eater
2020-12-20 17:03 ` q66
2020-12-20 17:46 ` [PR PATCH] [Updated] " ndowens
2020-12-20 17:46 ` ndowens
2020-12-20 17:48 ` [PR PATCH] [Updated] " ndowens
2020-12-20 17:49 ` ndowens [this message]
2020-12-20 17:56 ` ndowens
2020-12-20 18:03 ` ericonr
2020-12-20 18:10 ` q66
2020-12-20 18:11 ` q66
2020-12-21  1:31 `  gstreamer1: update to 1.18.2 fosslinux
2020-12-21  1:40 ` q66
2020-12-21  2:09 ` ericonr
2020-12-21  2:14 ` ericonr
2020-12-21  2:15 ` ericonr
2020-12-21  2:19 ` ericonr
2020-12-21  2:47 ` travankor
2020-12-21  2:47 ` travankor
2020-12-21  2:47 ` q66
2020-12-21  2:47 ` travankor
2020-12-21  2:48 ` q66
2020-12-21  2:52 ` q66
2020-12-21  2:55 ` ericonr
2020-12-21  2:57 ` ericonr
2020-12-21  2:57 ` q66
2020-12-21  2:58 ` q66
2020-12-21  2:58 ` q66
2020-12-21  2:59 ` q66
2020-12-21  3:03 ` ericonr
2020-12-21  3:13 ` q66
2020-12-21 15:40 ` ndowens
2020-12-21 15:41 ` ndowens
2020-12-21 20:36 ` ericonr
2020-12-21 21:06 ` [PR PATCH] [Updated] " ndowens
2020-12-21 21:28 ` [PR REVIEW] " ericonr
2020-12-21 21:31 ` ndowens
2020-12-22  0:12 ` [PR PATCH] [Updated] " ndowens
2020-12-22  0:14 ` ndowens
2020-12-22  0:22 ` ndowens
2020-12-22  0:30 ` ndowens
2020-12-22  1:03 ` ndowens
2020-12-22  1:46 ` ndowens
2020-12-22  2:43 ` ndowens
2020-12-30  9:57 ` [PR REVIEW] " travankor
2020-12-30 12:05 ` [PR PATCH] [Updated] " ndowens
2020-12-30 12:07 ` [PR REVIEW] " ndowens
2021-01-10  7:46 ` travankor
2021-01-17  2:38 ` travankor
2021-01-17  3:08 ` ndowens
2021-01-17  3:08 ` [PR PATCH] [Closed]: " ndowens
2021-01-17 23:01 ` travankor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201220174910.XjHY-wDreBu5XU5xU_R_GaPumM5-BGNRhBfkR7JFWYg@z \
    --to=ndowens@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).