[GH-ISSUE #145] Add cpal Sink to librespot #108

Closed
opened 2026-02-27 19:28:52 +03:00 by kerem · 6 comments
Owner

Originally created by @sashahilton00 on GitHub (Feb 12, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/145

Currently, discussion to get Windows support is under way. Hopefully rust-mdns will be updated to work with Windows soon (#140), at which point, to ease running on Windows (and other systems), it would be good to implement a https://github.com/tomaka/cpal Sink for playback, which will remove the dependency on portaudio/pulseaudio, somewhat reducing the inconvenience of (cross) compiling for Windows.

Originally created by @sashahilton00 on GitHub (Feb 12, 2018). Original GitHub issue: https://github.com/librespot-org/librespot/issues/145 Currently, discussion to get Windows support is under way. Hopefully rust-mdns will be updated to work with Windows soon (#140), at which point, to ease running on Windows (and other systems), it would be good to implement a https://github.com/tomaka/cpal Sink for playback, which will remove the dependency on portaudio/pulseaudio, somewhat reducing the inconvenience of (cross) compiling for Windows.
kerem 2026-02-27 19:28:52 +03:00
Author
Owner

@awiouy commented on GitHub (Feb 13, 2018):

I have come across these today:

What do you think?

<!-- gh-comment-id:365332702 --> @awiouy commented on GitHub (Feb 13, 2018): I have come across these today: - http://libsound.io/ - https://github.com/klingtnet/rsoundio or https://github.com/Timmmm/soundio-rs What do you think?
Author
Owner

@sashahilton00 commented on GitHub (Feb 13, 2018):

It looks to do a similar job to cpal, except that it's implemented by another library which has rust bindings, whilst cpal is pure rust. Is there a benefit to using libsound over cpal?

<!-- gh-comment-id:365405903 --> @sashahilton00 commented on GitHub (Feb 13, 2018): It looks to do a similar job to cpal, except that it's implemented by another library which has rust bindings, whilst cpal is pure rust. Is there a benefit to using libsound over cpal?
Author
Owner

@mfeif commented on GitHub (Mar 22, 2018):

One benefit is keeping Pulseaudio, which is the de-facto sound stack on all modern linux (I think).

<!-- gh-comment-id:375460347 --> @mfeif commented on GitHub (Mar 22, 2018): One benefit is keeping Pulseaudio, which is the de-facto sound stack on all modern linux (I think).
Author
Owner

@burnoutberni commented on GitHub (Jul 16, 2018):

Is any work being done in this direction? A friend of mine just got one of these new Nokia "banana phones" and it runs KaiOS (formerly B2G/FirefoxOS), with all apps being "web apps". We're playing around with a couple of things now and an interesting side project might be to go ahead and try compiling librespot to WebAssembly. Not really sure where to start (Rust newbie here), but one of the main things would be to have WebAudio backend, which cpal seems to support.

<!-- gh-comment-id:405217234 --> @burnoutberni commented on GitHub (Jul 16, 2018): Is any work being done in this direction? A friend of mine just got one of these [new Nokia "banana phones"](https://www.nokia.com/en_int/phones/nokia-8110-4g) and it runs KaiOS (formerly B2G/FirefoxOS), with all apps being "web apps". We're playing around with a couple of things now and an interesting side project might be to go ahead and try compiling librespot to WebAssembly. Not really sure where to start (Rust newbie here), but one of the main things would be to have WebAudio backend, which cpal seems to support.
Author
Owner

@willstott101 commented on GitHub (Mar 23, 2019):

Since #277 got merged I guess this can be closed now?

Taking this opportunity to mention that the README is now out of date.

<!-- gh-comment-id:475885742 --> @willstott101 commented on GitHub (Mar 23, 2019): Since #277 got merged I guess this can be closed now? Taking this opportunity to mention that the README is now out of date.
Author
Owner

@sashahilton00 commented on GitHub (Mar 23, 2019):

Yup. Updated the readme. Closing.

<!-- gh-comment-id:475911923 --> @sashahilton00 commented on GitHub (Mar 23, 2019): Yup. Updated the readme. Closing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#108
No description provided.