mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 00:05:55 +03:00
[GH-ISSUE #274] Feature Request: add native sndio backend #186
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#186
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @archfan on GitHub (Dec 2, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/274
Excerpt:
" Sndio is a small audio and MIDI framework part of the OpenBSD project and ported to FreeBSD, Linux and NetBSD. It provides a lightweight audio & MIDI server and a fully documented user-space API to access either the server or directly the hardware in a uniform way. Sndio is designed to work for desktop applications, but pays special attention to synchronization mechanisms and reliability required by music applications. Reliability through simplicity are part of the project goals. "
API: https://man.openbsd.org/sio_open
@sashahilton00 commented on GitHub (Jan 4, 2019):
We will eventually move to cpal/rodio for audio playback, or alternatively some sort of audio sink plugin system, though this will be in the daemon. For now, we don't want any other backends to maintain, as it's not really the aim of this project, and audio sinks have had too much dev time spent on them already. Thus I'm marking this as wontfix, though it may be addressed in librespotd once that is implemented.
@sashahilton00 commented on GitHub (Jan 4, 2019):
Actually, will leave this open, as that's what we've done w/ other feature requests.
@willstott101 commented on GitHub (Mar 25, 2019):
It looks like portaudio supports sndio
Perhaps anyone who's interested could try using sndio via Librespot's portaudio backend and report back.
I can't immediately see any sndio bindings for Rust which would be a pre-requisite for support here, or cpal (if they're open to adding more backends).
@hrkfdn commented on GitHub (Mar 29, 2019):
The PortAudio backend worked on OpenBSD when I tried it awhile ago. Someone would probably need to add sndio support to CPAL if the PortAudio backend gets dropped.
@allquixotic commented on GitHub (Jan 1, 2020):
I recently implemented GStreamer support here: https://github.com/allquixotic/librespot/tree/gst1.0-2020
There's a GStreamer sndio sink here: https://github.com/t6/gstreamer-plugins-sndio
You could play back to sndio using a command like
librespot --backend gstreamer --device '! audioconvert ! sndiosink.