Skip to content

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!

@sewnie
Copy link

sewnie commented May 16, 2024

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