Fix silent native streaming (Spotify CDN HTTP 530)#315
Merged
Conversation
Some Spotify CDN nodes return HTTP 530; librespot 0.8.0 aborts the track instead of trying the other URLs from storage-resolve, leaving native playback silent. Patch librespot to a fork that backports upstream PR #1722 (move the 206 check inside the CDN-URL retry loop). Also correct the investigation doc, whose "unfixable upstream" verdict missed the open upstream PR.
After several consecutive Unavailable tracks, pause instead of letting librespot auto-skip the whole queue at machine speed (which can rate-limit the account). Reword the escalation message and comment now that the CDN 530 cause is fixed upstream-in-fork.
|
Just wanted to say I was going to report same thing... this spotify CDN error is happening to all the songs (I am suffering from it currently) probably account related (and librespot) error... still thanks for the rate-limitation. |
Owner
Author
|
I also had it happen to all songs, its librespot related. there currently is a PR open in the librespot repo but idk when it is going to get merged so i just forked librespot with the fix applied. this PR should fix the songs not playing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Native streaming showed tracks as "playing" but produced no audio: librespot 0.8.0 logged
Unable to load encrypted file: FailedPrecondition, StatusCode(530)and skipped every track.Root cause
Spotify
storage-resolvereturns several CDN URLs per track. The first can return HTTP 530 (Cloudflare "origin unreachable") while the others serve valid audio. librespot 0.8.0 only falls back to the next URL on connection errors, not on a non-206 HTTP status, so it aborted on the first 530. Upstream issue #1725 / PR #1722 (open, unmerged, unreleased).Fix
LargeModGames/spotatui-librespot(branchspotatui) via[patch.crates-io]. It backports PR #1722 onto the v0.8.0 tag: the 206 check moves inside the CDN-URL retry loop, so a non-206 (530) falls through to the next URL.Cargo.lockpins the exact commit.Verification
Built with default features; confirmed audible playback on a Premium account. Logs show
Fetching <url> returned 530 ... trying nextthen a successful fetch, with noUnable to load encrypted file.Notes
--no-default-features --features telemetry) does not compile librespot, so the patch is unused there (harmless warning).cargo installfrom crates.io still gets unpatched librespot (crates.io ignores[patch]); GitHub-release/CI/source builds get the fix. Drop the patch and bump the version once upstream ships a fixed librespot release.