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 SOUND_INITIALIZED property and pipewire fix #69

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

Conversation

capezotte
Copy link

Adds the SOUND_INITIALIZED property Pipewire looks for when adding sound cards and re-reverts (everts?) 4510b27 so it can find card[0-9].

Fixes #26 without patching Pipewire.

  • Should scan_devices be rewritten so it starts its search at /sys/class/sound? Adding the parent in add_device feels weird.

@xplshn
Copy link

xplshn commented Apr 15, 2024

Tested on Alpine Edge: Works great!

@apprehensions
Copy link

No longer applies

@capezotte
Copy link
Author

It's for the Git master (it doesn't apply to the tagged 1.0.3 due to #62).

@illiliti
Copy link
Owner

illiliti commented Jun 6, 2024

If we add this special handling, does it mean that any future requests that introduce more special cased code but for a different property should be added as well? Considering that there is no guarantee that pipewire won't depend on some yet another obscure property someday, I afraid going that route will turn this project into "support pipewire at all cost". Personally, I'd rather stay sensible and support minimal subset of properties enough to run desktop even if that means not supporting some app by default.

@xplshn
Copy link

xplshn commented Jun 6, 2024

Well, it'd mean not supporting sound in ANY flatpak program, and it'd also mean no support for most games, web browsers and such. I think it is okay as long as it is kept track of. Adding small tweaks that make such big projects work is okay with me.

@capezotte
Copy link
Author

capezotte commented Jun 6, 2024

Would reworking this PR into a generic "fetch properties from a directory" patch work? Then users can select whether they want to support SOUND_INITIALIZED (or even all the sucky additional properties that are redundant with pci.ids and other files) without bloating libudev-zero itself.

(I still think SOUND_INTIALIZED is not that bad of an idea; it does solve a race condition when hotplugging devices, and saves audio software from having to check the creation of controlC themselves).

@xplshn
Copy link

xplshn commented Jun 6, 2024

How would this "fetch properties from a directory" work? I'm not sure I follow, but I think everyone'd be happy if Libudev-zero could actually replace udev (without breaking one of the most important functionalities of udev, handling audio)

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.

Doesn't work with pipewire
4 participants