You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that their API seems to be fully asynchronous, so we'll need tricks similar to what we have for PulseAudio's synchronous API. Happy to learn I'm wrong about any of this smiley.
It's probably time to convert all the input plugins to use asynchronous calls. We can maybe factor out the lock-free ring buffer implementation in input_pulseaudio and make it part of the low-level or 'primitives' API for a start. Some ideas for the high-level API for input plugins were brought up in #54.
Activity
hartwork commentedon Feb 8, 2023
@kaixiong I agree and already played a bit with client code but it's a bit of bumpy road, and https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/2997 only is the start of it. If it was less bumpy I had already added a version to my https://github.com/hartwork/audio_pump_demo . Note that their API seems to be fully asynchronous, so we'll need tricks similar to what we have for PulseAudio's synchronous API. Happy to learn I'm wrong about any of this 😃
hartwork commentedon Feb 9, 2023
PS: What I find interesting is how they hand out and take in buffers with
pw_stream_dequeue_bufferandpw_stream_queue_buffer.kaixiong commentedon Feb 13, 2023
@hartwork That is.. surprising 🤦
It's probably time to convert all the input plugins to use asynchronous calls. We can maybe factor out the lock-free ring buffer implementation in
input_pulseaudioand make it part of the low-level or 'primitives' API for a start. Some ideas for the high-level API for input plugins were brought up in #54.hartwork commentedon Feb 13, 2023
@kaixiong we definitely need a way to support asynchronous input APIs out of the box, I agree.