feat: duplex support for pipewire - #1272
Conversation
| let data = active.as_mut_ptr() as *mut (); | ||
| let mut data = | ||
| unsafe { Data::from_parts(data, n_samples, user_data.sample_format) }; | ||
| user_data.publish_data_duplex_out(stream, frames, &mut data, xrun); |
There was a problem hiding this comment.
because input and output are in two channels, so I cannot send input and output in the same time.. what is about other protocols?
There was a problem hiding this comment.
Probably because this is the stream API and we should use the filter API.
|
I've promoted |
still in draft, I need to test more
39a3cd5 to
7eba74c
Compare
|
I found this pr https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/merge_requests/132/ Maybe I should wait for it? |
|
Indeed that would be preferred. Otherwise we have to interface with SPA and the filter API ourselves. |
|
Oh but in hindsight, that's a PR has been sitting there for four years with no movements for over a year. So either:
|
|
have made a pr for pipewire https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/merge_requests/276, but still problems that I haven't solved, can you also take a look @roderickvd it seems not that easy to use the ffi part directly, so I think I still need to make the pr merged first. There are still many problems I cannot solve, so I will wait for the review from pipewire-rs first |
still in draft, I need to test more