diff --git a/extra/pipewire/PKGBUILD b/extra/pipewire/PKGBUILD index 0e74ecf5e..9a4e6c075 100644 --- a/extra/pipewire/PKGBUILD +++ b/extra/pipewire/PKGBUILD @@ -6,7 +6,7 @@ pkgname=pipewire pkgver=0.1.9 -pkgrel=1 +pkgrel=3 pkgdesc="Server and user space API to deal with multimedia pipelines" url="https://pipewire.org" license=(LGPL2.1) @@ -15,8 +15,10 @@ depends=(gstreamer gst-plugins-base v4l-utils sbc ffmpeg) makedepends=(git meson doxygen graphviz xmltoman) install=pipewire.install _commit=62f113dbba7c706fad18c715cfad57ca7e102cb3 # tags/0.1.9 -source=("git+https://github.com/PipeWire/pipewire#commit=$_commit") -sha256sums=('SKIP') +source=("git+https://github.com/PipeWire/pipewire#commit=$_commit" + unhide-providers.diff) +sha256sums=('SKIP' + '8692ddbfc433bb4a56e3e4594683f9a7047b6cce539c7322dd3b74157a727f99') pkgver() { @@ -25,8 +27,12 @@ pkgver() { } prepare() { - mkdir build cd $pkgname + + # the pipewireprovider is broken: the devices provided have no caps + # at least don't hide other providers until this is fixed + patch -Np1 -i ../unhide-providers.diff + # Reduce docs size printf '%s\n' >>doc/Doxyfile.in \ HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes @@ -34,9 +40,9 @@ prepare() { build() { arch-meson $pkgname build \ - -Denable_docs=true \ - -Denable_man=true \ - -Denable_gstreamer=true + -D enable_docs=true \ + -D enable_man=true \ + -D enable_gstreamer=true ninja -C build } diff --git a/extra/pipewire/unhide-providers.diff b/extra/pipewire/unhide-providers.diff new file mode 100644 index 000000000..48913d28d --- /dev/null +++ b/extra/pipewire/unhide-providers.diff @@ -0,0 +1,17 @@ +diff --git i/src/gst/gstpipewiredeviceprovider.c w/src/gst/gstpipewiredeviceprovider.c +index fefdb57b..f41ea524 100644 +--- i/src/gst/gstpipewiredeviceprovider.c ++++ w/src/gst/gstpipewiredeviceprovider.c +@@ -279,12 +279,6 @@ get_core_info (struct pw_remote *remote, + + GST_DEBUG_OBJECT (provider, "have hidden providers: %s", value); + +- for (i = 0; monitors[i]; i++) { +- if (strcmp (monitors[i], "v4l2") == 0) +- gst_device_provider_hide_provider (provider, "v4l2deviceprovider"); +- else if (strcmp (monitors[i], "alsa") == 0) +- gst_device_provider_hide_provider (provider, "pulsedeviceprovider"); +- } + g_strfreev (monitors); + } + }