mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 00:05:55 +03:00
[PR #1180] Add Resampling Support #1266
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#1266
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?
📋 Pull Request Information
Original PR: https://github.com/librespot-org/librespot/pull/1180
Author: @JasonLG1979
Created: 6/22/2023
Status: 🔄 Open
Base:
dev← Head:resampling📝 Commits (10+)
0cefd0eBetter thread handling in player35b94bdAdd the ability to get backend latency7dae33cUse default macro71660a2Add InterpolationQuality and SampleRate enums3b64f25Add resampler375f837Add normaliser9861a58Add sample_pipeline3bcf549Convert get_latency_pcm to get_latency_ms in sample_pipelinee1ea400Change the backends so that they support the diffrent sample ratesefec96bPut it all together📊 Changes
38 files changed (+3445 additions, -942 deletions)
View changed files
📝
CHANGELOG.md(+4 -0)📝
Cargo.toml(+8 -2)📝
connect/Cargo.toml(+1 -1)📝
connect/src/spirc.rs(+1 -1)📝
core/Cargo.toml(+4 -4)📝
core/src/session.rs(+14 -2)📝
core/src/spclient.rs(+14 -4)📝
discovery/Cargo.toml(+1 -1)📝
examples/play.rs(+2 -1)📝
examples/play_connect.rs(+2 -1)📝
playback/Cargo.toml(+1 -1)📝
playback/src/audio_backend/alsa.rs(+328 -331)📝
playback/src/audio_backend/gstreamer.rs(+10 -4)📝
playback/src/audio_backend/jackaudio.rs(+14 -6)📝
playback/src/audio_backend/mod.rs(+11 -4)📝
playback/src/audio_backend/pipe.rs(+14 -8)📝
playback/src/audio_backend/portaudio.rs(+46 -26)📝
playback/src/audio_backend/pulseaudio.rs(+66 -43)📝
playback/src/audio_backend/rodio.rs(+31 -18)📝
playback/src/audio_backend/sdl.rs(+15 -9)...and 18 more files
📄 Description
This PR adds resampling to 48kHz, 88.2kHz, and 96kHz with Windowed Sinc Interpolation.
It also moves everything except decoding out of
playerand a few other misc improvements like improving thread creation in player, using#[default]in the player config enums where we can, and includes the sample pipeline latency in calculating an accurate position.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.