-
-
Notifications
You must be signed in to change notification settings - Fork 515
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
Linux pipewire integration (Audio + Microphone) #1973
Conversation
I haven't reviewed completely. But linux specific code should go in |
Please don't review it completely yet, its just in barely compilable state, not ready for any serious review of the code itself. |
Cool! Any way to help? |
no not really unless you wanna pull a night of just reading documentation on oboe(not the rust crate but the google software one) oh and you somehow figure out what we're doing wrong so you have to know Rust too |
69a43ad
to
725909f
Compare
d01478e
to
005c4c7
Compare
725909f
to
62cffbb
Compare
Current progress: Both audio sink and microphone source are being created and working correctly! |
af70b11
to
bbe16df
Compare
I would say that the pipewire audio code can replace cpal for linux. |
I think a fair amount of people still run pulseaudio and for them audio would not work at all. So either we make pipewire a hard requirement or we keep the cpal code around for the time being. |
I've considered removing cpal, but i know that linux mint is still on pulse That said, they won't have microphone and they can technically switch to pipewire (and they should really) I'm 50/50 about this, but inclined to removing cpal from linux and going pipewire all the way, and point people to install pipewire. |
I looked at it and basically all big distros (arch, debian, ubuntu, fedora, centos) have been shipping pipewire as default for at least a year, and every other sane distro has support for it. Even Mint will ship it as default in the upcoming release. So I think forcing pipewire should be the thing. |
Then i think that settles it, i would remove cpal from linux completely |
Linux Mint will be moving to PipeWire from the next release - https://blog.linuxmint.com/?p=4660. Obviously there will still be those on earlier versions of LM that are still on PulseAudio though, although maybe it'll be the nudge those users need to upgrade (or install PipeWire separately). :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't really review the actual linux pipewire code yet because I don't have enough time rn
Apart from the noted changes this lgmt, but I'm not fit to review rust code style |
* Linux pipewire implementation * Add pipewire libs to release * Remove wrong client name * Clippy fixes * Type annotated to any on game audio sender * Attempt to fix macos type infer * Revert "Attempt to fix macos type infer" This reverts commit 83e27b5. * Check clippy compile * Revert "Check clippy compile" This reverts commit c8a1623. * Fix macos clippy * Nullify infer * PR review fixes * PR review fix #2 * PR review fixes #2 * Missed cfg for windows * Remove - * PR review fixes. Fixed prepare release pipeline * Adjust wiki for building with libpipewire/libspa * Remove unnecessary log * PR review * Fix default audio config
* Linux pipewire implementation * Add pipewire libs to release * Remove wrong client name * Clippy fixes * Type annotated to any on game audio sender * Attempt to fix macos type infer * Revert "Attempt to fix macos type infer" This reverts commit 83e27b5. * Check clippy compile * Revert "Check clippy compile" This reverts commit c8a1623. * Fix macos clippy * Nullify infer * PR review fixes * PR review fix alvr-org#2 * PR review fixes alvr-org#2 * Missed cfg for windows * Remove - * PR review fixes. Fixed prepare release pipeline * Adjust wiki for building with libpipewire/libspa * Remove unnecessary log * PR review * Fix default audio config
This is not done by any means, just put up for anyone to see how things are progressing
So far: main flow (pipewire source, getting data from one place to another) is kinda done, but i've yet to determine why only thing i get is pops into mic, it might be a multiple issues at once (buffer overload + trying to push all at once)
Other issues are listed in TODO's