-
-
Notifications
You must be signed in to change notification settings - Fork 448
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
Draft: Linux pipewire integration #1973
base: master
Are you sure you want to change the base?
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
Changed chan size to proper, as well as audio format to f32 Uncommitted older changes Updated pipewire libs, adapted code to new pipewire lib version, issue with moving threads for pipewire Sink creation done, pipewire-rs and alvr compiled, no buffer copying yet Dropped unnecessary custom pw-rs, tokio. Code cleanup and move to single mainloop thread. Cfg cleanup Changed cfgs to not linux for android client compatibility Removed unnecessary pipewire code from client Renamed microphone output for linux pipewire, removed Audio Type Updated Cargo.lock Started implementing channels for pipewire to handle buffers Implemented basic buffer, almost completely non functional, code related to actual bufferring needs to be re-added Refactored flow, experimenting with byte types, order, etc Added comment about graceful shutdown Fixed steamvr shutdown. Experimenting with alternative ways to process streamed data
725909f
to
62cffbb
Compare
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