-
Notifications
You must be signed in to change notification settings - Fork 756
feat: add inital flac decoding support via the symphonia crate #1589
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
Conversation
Enable native playback of FLAC (lossless) audio by enabling symphonia's flac feature, and integrating FlacReader/FlacDecoder into the Symphonia decoder.
|
Also, this should be needed to fully implement #1583. |
This comment was marked as abuse.
This comment was marked as abuse.
|
Looks good to me. |
passthrough decoder support would be nice, some projects based on librespot use it for other paths also. |
|
I think I can add |
I think just doing a commit in the same PR would be good, you know, just to keep things intact |
|
Both are fine for me, whatever is easiest. |
|
I will start working on the passthrough decoder. In the meantime, it would be a great help if someone with access to the FLAC capabilities of the official client could test whether we need anything else or if it already works as is. My main concern is whether there is a need for a new decryption module. |
Some people in the original librespot issue gave some details about the API implemention recently that may be helpful to you |
| "mp3", | ||
| "ogg", | ||
| "vorbis", | ||
| "flac" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Although not useful for Spotify Lossless until we find a way to get the decryption keys, it is useful for local file support in #1595 so I'm gonna merge it anyway.
I have added the initial code path to support decoding FLAC bitstreams using the existing tooling around the symphonia crate. This needs further testing, as I don't yet have access to FLAC capabilities from the official client. Also, I have some questions regarding the required implementation: should I add a
passthrough_decoder.rscode path too?Let me know if you need any changes to be made.