simple client app works well with pulseaudio but not with pipewire and pipewire-pulse
Hi,
I have a simple app which talks to the pulseaudio server (with libpulse
) to gather volume info for source and sink through introspection.
But as soon as I switch from pulseaudio to pipewire and pipewire-pulse (which should replace pulseaudio server) my app stop working.
Here is the code -> https://github.com/doums/pa_client_app
I don't know what happens but with pipewire installed, after successful context connection (pa_context_connect
) the introspection callbacks (registered by eg pa_context_get_sink_info_by_name
) are not called at all.
Note the issue only concerns this app, I have no problem with other apps and globally the sound on the system seems to work correctly.
~ ❯❯❯ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 35
Is Local: yes
Client Index: 55
Tile Size: 65472
User Name: pierre
Host Name: mitx
Server Name: PulseAudio (on PipeWire 0.3.27)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Kingston_HyperX_Virtual_Surround_Sound_00000000-00.analog-stereo
Default Source: alsa_output.pci-0000_00_1f.3.hdmi-stereo.monitor
Cookie: xxx
system info:
- Arch Linux 5.12.3-arch1-1 #1 SMP PREEMPT Wed, 12 May 2021 17:54:18 +0000 x86_64 GNU/Linux
pipewire
Compiled with libpipewire 0.3.27
Linked with libpipewire 0.3.27
Note: I have open an issue in pipewire repo -> pipewire/pipewire#1186 (closed)