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)
This commit is contained in:
Jan Beich 2023-06-15 03:28:16 +00:00
parent ea1e517a36
commit a7aaffb08b
3 changed files with 34 additions and 3 deletions

View file

@ -1,6 +1,6 @@
PORTNAME= pipewire PORTNAME= pipewire
DISTVERSION= 0.3.62 DISTVERSION= 0.3.62
PORTREVISION= 1 PORTREVISION= 2
CATEGORIES= multimedia CATEGORIES= multimedia
MASTER_SITES= https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${MEDIA_SESSION_VERSION}/:media_session 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 DISTFILES= media-session-${MEDIA_SESSION_VERSION}${EXTRACT_SUFX}:media_session
@ -13,8 +13,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
LIB_DEPENDS= libasound.so:audio/alsa-lib \ LIB_DEPENDS= libdbus-1.so:devel/dbus \
libdbus-1.so:devel/dbus \
libinotify.so:devel/libinotify \ libinotify.so:devel/libinotify \
libepoll-shim.so:devel/libepoll-shim \ libepoll-shim.so:devel/libepoll-shim \
libsndfile.so:audio/libsndfile \ libsndfile.so:audio/libsndfile \
@ -43,9 +42,12 @@ MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils
MANPAGES_MESON_ENABLED= man MANPAGES_MESON_ENABLED= man
MEDIASESSION_DESC= Session manager support 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_ENABLED= alsa pipewire-alsa
MEDIASESSION_MESON_ON= -Dsession-managers=media-session MEDIASESSION_MESON_ON= -Dsession-managers=media-session
MEDIASESSION_MESON_OFF= -Dsession-managers='' MEDIASESSION_MESON_OFF= -Dsession-managers=''
MEDIASESSION_SUB_FILES= 10-alsa-default.conf
PULSEAUDIO_MESON_ENABLED= avahi libpulse PULSEAUDIO_MESON_ENABLED= avahi libpulse
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio \ PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio \
@ -97,4 +99,9 @@ post-patch-MEDIASESSION-on:
@${REINPLACE_CMD} '/manager_args/ s/@sm_comment@//g' \ @${REINPLACE_CMD} '/manager_args/ s/@sm_comment@//g' \
${WRKSRC}/src/daemon/pipewire.conf.in ${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> .include <bsd.port.mk>

View file

@ -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"
}
}
]

View file

@ -25,6 +25,7 @@ bin/spa-inspect
bin/spa-json-dump bin/spa-json-dump
bin/spa-monitor bin/spa-monitor
bin/spa-resample bin/spa-resample
%%MEDIASESSION%%%%ETCDIR%%/pipewire.conf.d/10-alsa-default.conf
include/pipewire-0.3/pipewire/array.h include/pipewire-0.3/pipewire/array.h
include/pipewire-0.3/pipewire/buffers.h include/pipewire-0.3/pipewire/buffers.h
include/pipewire-0.3/pipewire/client.h include/pipewire-0.3/pipewire/client.h