镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Support PipeWire #264

Open
Open

Description

@kaixiong

PipeWire is becoming a standard on Linux and we should have an actor and an input plugin supporting it.

Activity

  1. hartwork commented on Feb 8, 2023

    @hartwork
    Member

    @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 😃

  2. hartwork commented on Feb 9, 2023

    @hartwork
    Member

    PS: What I find interesting is how they hand out and take in buffers with pw_stream_dequeue_buffer and pw_stream_queue_buffer.

  3. kaixiong commented on Feb 13, 2023

    @kaixiong
    MemberAuthor

    @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

    @hartwork That is.. surprising 🤦

    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.

  4. hartwork commented on Feb 13, 2023

    @hartwork
    Member

    @kaixiong we definitely need a way to support asynchronous input APIs out of the box, I agree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions