diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2023-06-15 03:28:16 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2023-06-15 22:12:24 +0000 |
commit | 3bfa97870dbb2b3af241bb59aae978c6af7826b5 (patch) | |
tree | 03f0ff6ee128cd1eca084c6282417ca7b3f46ad0 | |
parent | devel/ruby-build: Update to 20230615 (diff) |
multimedia/pipewire: unbreak audio with default config
$ pw-play foo.wav
stream node 35 error: no node available
remote error: id=2 seq:5 res:-2 (No such file or directory): no node available
PR: 272004
Approved by: arrowd (maintainer)
(cherry picked from commit a7aaffb08b1688f28121d1f12e8012fd40bf75e7)
-rw-r--r-- | multimedia/pipewire/Makefile | 12 | ||||
-rw-r--r-- | multimedia/pipewire/files/10-alsa-default.conf.in | 23 | ||||
-rw-r--r-- | multimedia/pipewire/pkg-plist | 1 |
3 files changed, 34 insertions, 2 deletions
diff --git a/multimedia/pipewire/Makefile b/multimedia/pipewire/Makefile index b0c05606bd4a..e50538617332 100644 --- a/multimedia/pipewire/Makefile +++ b/multimedia/pipewire/Makefile @@ -1,5 +1,6 @@ PORTNAME= pipewire DISTVERSION= 0.3.62 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${MEDIA_SESSION_VERSION}/:media_session DISTFILES= media-session-${MEDIA_SESSION_VERSION}${EXTRACT_SUFX}:media_session @@ -12,8 +13,7 @@ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat -LIB_DEPENDS= libasound.so:audio/alsa-lib \ - libdbus-1.so:devel/dbus \ +LIB_DEPENDS= libdbus-1.so:devel/dbus \ libinotify.so:devel/libinotify \ libepoll-shim.so:devel/libepoll-shim \ libsndfile.so:audio/libsndfile \ @@ -42,9 +42,12 @@ MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils MANPAGES_MESON_ENABLED= man MEDIASESSION_DESC= Session manager support +MEDIASESSION_LIB_DEPENDS= libasound.so:audio/alsa-lib +MEDIASESSION_RUN_DEPENDS= alsa-plugins>0:audio/alsa-plugins MEDIASESSION_MESON_ENABLED= alsa pipewire-alsa MEDIASESSION_MESON_ON= -Dsession-managers=media-session MEDIASESSION_MESON_OFF= -Dsession-managers='' +MEDIASESSION_SUB_FILES= 10-alsa-default.conf PULSEAUDIO_MESON_ENABLED= avahi libpulse PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio \ @@ -96,4 +99,9 @@ post-patch-MEDIASESSION-on: @${REINPLACE_CMD} '/manager_args/ s/@sm_comment@//g' \ ${WRKSRC}/src/daemon/pipewire.conf.in +post-install-MEDIASESSION-on: + @${MKDIR} ${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.d + ${INSTALL_DATA} ${WRKDIR}/10-alsa-default.conf \ + ${STAGEDIR}${ETCDIR}/${PORTNAME}.conf.d + .include <bsd.port.mk> diff --git a/multimedia/pipewire/files/10-alsa-default.conf.in b/multimedia/pipewire/files/10-alsa-default.conf.in new file mode 100644 index 000000000000..5a3878ff3cf8 --- /dev/null +++ b/multimedia/pipewire/files/10-alsa-default.conf.in @@ -0,0 +1,23 @@ +# Create sink and source for the default device +# See also %%LOCALBASE%%/etc/asound.conf + +context.objects = [ + { factory = adapter + args = { + factory.name = api.alsa.pcm.sink + node.name = "alsa-sink" + node.description = "PCM Sink" + media.class = "Audio/Sink" + api.alsa.path = "pcm.default" + } + } + { factory = adapter + args = { + factory.name = api.alsa.pcm.source + node.name = "alsa-source" + node.description = "PCM Source" + media.class = "Audio/Source" + api.alsa.path = "pcm.default" + } + } +] diff --git a/multimedia/pipewire/pkg-plist b/multimedia/pipewire/pkg-plist index 9be512014740..58a537a2afa1 100644 --- a/multimedia/pipewire/pkg-plist +++ b/multimedia/pipewire/pkg-plist @@ -25,6 +25,7 @@ bin/spa-inspect bin/spa-json-dump bin/spa-monitor bin/spa-resample +%%MEDIASESSION%%%%ETCDIR%%/pipewire.conf.d/10-alsa-default.conf include/pipewire-0.3/pipewire/array.h include/pipewire-0.3/pipewire/buffers.h include/pipewire-0.3/pipewire/client.h |