Skip to content
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

PipeWire implementation #887

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

valaphee
Copy link

This PR implements PW,

it works by having a main loop and use uni-directional channels to pass control messages to the main loop.

There are some open questions, and I use jack as foundation. For example there is not really any equivalent for devices, maybe it can be set that a device is the node the newly created node connects to.

Or its just like Jack, that there is a default device, and the user can create devices. But each individual stream should be a node.

As I can't test with ALSA, when a stream is dropped it gets released and its a permanent operation in contrary to play and pause which are temporary. Theoretically play and pause could also be mapped to connect, disconnect, but idk if this is correct.

Fixes #554

@valaphee valaphee marked this pull request as draft May 20, 2024 18:03
@valaphee
Copy link
Author

Its WIP because of the open question and it needs some polishing, I also temporary didn't mark it as separate feature as otherwise my code completion doesn't work.

@PrimmR PrimmR mentioned this pull request Aug 16, 2024
@jacksongoode
Copy link

Would this mean that cpal could play without pipewire-alsa installed?

@Ralith
Copy link
Contributor

Ralith commented Nov 30, 2024

I also temporary didn't mark it as separate feature as otherwise my code completion doesn't work.

You should set your code completion provider to enable all features, or at least the features you're developing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PipeWire support
3 participants