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

ALSA or JACK #929

Open
wiiznokes opened this issue Nov 26, 2024 · 2 comments
Open

ALSA or JACK #929

wiiznokes opened this issue Nov 26, 2024 · 2 comments

Comments

@wiiznokes
Copy link

Should i use ALSA or JACK ? Looking at the documentation, ALSA doesn't have a dedicated thread. JACK is not mentioned. And ALSA is the default backend.

Note: Creating and running a stream will not block the thread. On modern platforms, the given callback is called by a dedicated, high-priority thread responsible for delivering audio data to the system’s audio device in a timely manner. On older platforms that only provide a blocking API (e.g. ALSA), CPAL will create a thread in order to consistently provide non-blocking behaviour (currently this is a thread per stream, but this may change to use a single thread for all streams).

@wiiznokes
Copy link
Author

Unrelated but why there is no jack feature declared in Cargo.toml ?

@ErikNatanael
Copy link
Contributor

If you only need to target systems with pipewire or Linux users who care about audio latency, I would go with the JACK backend. Pipewire being the default sound system in some linux distros is pretty new, while ALSA will work almost anywhere.
(There may be other benefits of ALSA that I'm not aware of.)

An implicit jack feature is inserted because the jack dependency is optional. This should probably be documented somewhere.

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

No branches or pull requests

2 participants