Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for autodetecting pipewire sink devices #896

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

virtuald
Copy link
Member

pipewire is default on fedora now, and of course it's audio sink is slightly different...

Interestingly enough, on my desktop this isn't needed, but on my laptop audio device selection doesn't work unless this patch is applied.

@luzip665
Copy link
Contributor

Here (Ubuntu 22.04) it works in general.

I need to install gstreamer1.0-pipewire package to see the sink.
Additionally I need to cast device id to string in

yield (display_name, device_id, device.create_element)
because with gstreamer1.0-pipewire package installed the device id is (int)54, without this package it is "alsa.something"

@virtuald
Copy link
Member Author

I had some issues with devices being restored after rebooting my laptop, so I'll have to look at the properties a bit harder to see if there's one that persists across reboots.

@virtuald
Copy link
Member Author

virtuald commented Nov 27, 2023

It appears that there are no stable properties in device.props, but node.name in device.props.properties seems to be intended to be stable (see https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/525). This seems to work on reboot now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants