[GH-ISSUE #42] Spotify track symlinks not resolved #31

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

Originally created by @sashahilton00 on GitHub (Jan 29, 2018).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/42

Issue by XDjackieXD
Wednesday Feb 08, 2017 at 22:10 GMT
Originally opened as https://github.com/plietar/librespot/issues/153


Some songs in Spotify "symlink" to the actual song and therefore can't be played by librespot.
This does not happen when using spirc as the spotify client already resolves these links.
When supplying the URI directly, librespot panics.
One of those songs is spotify:track:4mu8svGkGaO2dgAcTlo0FK but there are many more.

Originally created by @sashahilton00 on GitHub (Jan 29, 2018). Original GitHub issue: https://github.com/librespot-org/librespot/issues/42 <a href="https://github.com/XDjackieXD"><img src="https://avatars1.githubusercontent.com/u/4963868?v=4" align="left" width="96" height="96" hspace="10"></img></a> **Issue by [XDjackieXD](https://github.com/XDjackieXD)** _Wednesday Feb 08, 2017 at 22:10 GMT_ _Originally opened as https://github.com/plietar/librespot/issues/153_ ---- Some songs in Spotify "symlink" to the actual song and therefore can't be played by librespot. This does not happen when using spirc as the spotify client already resolves these links. When supplying the URI directly, librespot panics. One of those songs is spotify:track:4mu8svGkGaO2dgAcTlo0FK but there are many more.
kerem 2026-02-27 19:28:25 +03:00
Author
Owner

@sashahilton00 commented on GitHub (Jan 29, 2018):

Comment by plietar
Thursday Feb 09, 2017 at 00:55 GMT


What are you using to load the track ?
Some tracks have restrictions which prevent them from being played in certain countries. They however have a list of "alternatives" which can be used instead.

The player includes support for this. If the track is not available, it will use an alternative instead. This is implemented as the find_available_alternative function: https://github.com/plietar/librespot/blob/master/src/player.rs#L165-L191

The track you've listed as an example loads just fine in the player for me (even when bypassing spirc). If you are not using the provided Player but are downloading and decrypting the file manually, you may need a similar logic to find the right file.

<!-- gh-comment-id:361260397 --> @sashahilton00 commented on GitHub (Jan 29, 2018): <a href="https://github.com/plietar"><img src="https://avatars0.githubusercontent.com/u/1489775?v=4" align="left" width="48" height="48" hspace="10"></img></a> **Comment by [plietar](https://github.com/plietar)** _Thursday Feb 09, 2017 at 00:55 GMT_ ---- What are you using to load the track ? Some tracks have restrictions which prevent them from being played in certain countries. They however have a list of "alternatives" which can be used instead. The player includes support for this. If the track is not available, it will use an alternative instead. This is implemented as the `find_available_alternative ` function: https://github.com/plietar/librespot/blob/master/src/player.rs#L165-L191 The track you've listed as an example loads just fine in the player for me (even when bypassing spirc). If you are not using the provided `Player` but are downloading and decrypting the file manually, you may need a similar logic to find the right file.
Author
Owner

@sashahilton00 commented on GitHub (Jan 29, 2018):

Comment by XDjackieXD
Thursday Feb 09, 2017 at 07:32 GMT


I did not remove the find alternative from the player and I'm just bypassing spirc (getting the spotify IDs from a FiFo file).
This track plays fine on the normal spotify client and it plays fine when using spirc. When printing out the spotify id thta is getting sent by spirc, it correspomds to the same song inside an other album.

<!-- gh-comment-id:361260416 --> @sashahilton00 commented on GitHub (Jan 29, 2018): <a href="https://github.com/XDjackieXD"><img src="https://avatars1.githubusercontent.com/u/4963868?v=4" align="left" width="48" height="48" hspace="10"></img></a> **Comment by [XDjackieXD](https://github.com/XDjackieXD)** _Thursday Feb 09, 2017 at 07:32 GMT_ ---- I did not remove the find alternative from the player and I'm just bypassing spirc (getting the spotify IDs from a FiFo file). This track plays fine on the normal spotify client and it plays fine when using spirc. When printing out the spotify id thta is getting sent by spirc, it correspomds to the same song inside an other album.
Author
Owner

@ComlOnline commented on GitHub (Jan 31, 2018):

@XDjackieXD Did you ever solve this problem?

<!-- gh-comment-id:362049250 --> @ComlOnline commented on GitHub (Jan 31, 2018): @XDjackieXD Did you ever solve this problem?
Author
Owner

@XDjackieXD commented on GitHub (Jan 31, 2018):

I didn't solve it but it seems like it was fixed in recent librespot versions (at least I didn't encounter it anymore after updating the librespot version I based my project upon)

<!-- gh-comment-id:362055711 --> @XDjackieXD commented on GitHub (Jan 31, 2018): I didn't solve it but it seems like it was fixed in recent librespot versions (at least I didn't encounter it anymore after updating the librespot version I based my project upon)
Author
Owner

@ComlOnline commented on GitHub (Jan 31, 2018):

Thats good news! Just open a new issue if you come across it again.

<!-- gh-comment-id:362062514 --> @ComlOnline commented on GitHub (Jan 31, 2018): Thats good news! Just open a new issue if you come across it again.
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#31
No description provided.