Skip to content

feat(wasapi): add opt-in exclusive output support - #1368

Open
teancom wants to merge 3 commits into
RustAudio:masterfrom
teancom:feat/wasapi-exclusive
Open

teancom wants to merge 3 commits into
RustAudio:masterfrom
teancom:feat/wasapi-exclusive

Conversation

@teancom

@teancom teancom commented Sep 13, 2026

Copy link
Copy Markdown

Hello! I'm one of the maintainers of the sendspin-rs library, an audio library used by the Music Assistant desktop client across Windows, Linux, and macOS. We've been getting requests to support exclusive mode and I saw that there had been previous attempts that were acceptable in theory, just needed to get through the PR process.

Anyway, this is that. I created branches in sendspin-rs and the MA desktop client to test it end to end, using a Windows ARM VM and a Schiit USB DAC. If this approach is acceptable I'll follow-up with another PR for CoreAudio 'hog mode'. I haven't even looked at Linux yet but I presume there's something similar there, and I can do that as well. Also, this initial PR is purely output not input, which I can also follow-up with if this approach is acceptable for you folks.

@LastExceed

Copy link
Copy Markdown
Contributor

Hello, thank you for your contribution. This is definitely something cpal needs (#106), and it just so happens that revamping the API to accomodate backend specific features (#1334), under which exclusive mode falls, is the primary goal for the next major release (#1220). I'd suggest that we postpone this PR until the new API is in place, so we don't have to iterate on API design choices twice in a row

@teancom

teancom commented Sep 15, 2026

Copy link
Copy Markdown
Author

Happy to wait on it until the API is firmed up. And happy to help out where I can. We rely heavily on you folks and are grateful for the work you've done / are doing so we can concentrate on the other bits. ❤️

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.

2 participants