[GH-ISSUE #288] Starting playback fails if uri or context_uri is provided #193

Closed
opened 2026-02-27 19:29:20 +03:00 by kerem · 45 comments
Owner

Originally created by @forslund on GitHub (Feb 19, 2019).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/288

Starting the playback of an album over spotify connect
Endpoint: me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469
Data: {'context_uri': 'spotify:album:6eGYLONkDMja0MNtZWnRRB'}

Results in the librespot player debug output:

INFO:librespot_playback::player: Loading track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" with Spotify URI "spotify:track:6ZjubGKa55CYxN9a4LlOV1"
INFO:librespot_playback::player: Track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" loaded

This is the last track I played on my desktop spotify player

If I try to just start playback
Endpoint me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469
Data: {}

Results in no further output but playback of the above loaded track starts.

Update:

Request for single track using normal uris:
Endpoint: me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469
Data: {'uris': ['spotify:track:5fpizYGbi5IQoEraj6FP0R']}

This is on HEAD of master d2cadec419

Originally created by @forslund on GitHub (Feb 19, 2019). Original GitHub issue: https://github.com/librespot-org/librespot/issues/288 Starting the playback of an album over spotify connect Endpoint: `me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469` Data: `{'context_uri': 'spotify:album:6eGYLONkDMja0MNtZWnRRB'}` Results in the librespot player debug output: ``` INFO:librespot_playback::player: Loading track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" with Spotify URI "spotify:track:6ZjubGKa55CYxN9a4LlOV1" INFO:librespot_playback::player: Track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" loaded ``` This is the last track I played on my desktop spotify player If I try to just start playback Endpoint `me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469` Data: `{}` Results in no further output but playback of the above loaded track starts. Update: Request for single track using normal uris: Endpoint: `me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469` Data: `{'uris': ['spotify:track:5fpizYGbi5IQoEraj6FP0R']}` This is on HEAD of master d2cadec4190a44572b1d5d5daed4f0eda1c2b921
kerem closed this issue 2026-02-27 19:29:20 +03:00
Author
Owner

@kingosticks commented on GitHub (Feb 19, 2019):

Last time I looked, librespot didn't support loading things from a context uri (https://github.com/librespot-org/librespot/issues/57). Have you tried passing the individual tracks via the uris parameter instead?

<!-- gh-comment-id:465145308 --> @kingosticks commented on GitHub (Feb 19, 2019): Last time I looked, librespot didn't support loading things from a context uri (https://github.com/librespot-org/librespot/issues/57). Have you tried passing the individual tracks via the `uris` parameter instead?
Author
Owner

@kutmasterk commented on GitHub (Feb 19, 2019):

I have the same issue since today.

Something changed on spotify's end.
I cannot select any track for playback. Librespot always resumes the last played track.

<!-- gh-comment-id:465159833 --> @kutmasterk commented on GitHub (Feb 19, 2019): I have the same issue since today. Something changed on spotify's end. I cannot select any track for playback. Librespot always resumes the last played track.
Author
Owner

@forslund commented on GitHub (Feb 19, 2019):

Huh, weird I've been using context_uri's for quite some time. (more than a year)

In any case the uris doesn't work either:
Endpoint: me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469
Data: {'uris': ['spotify:track:5fpizYGbi5IQoEraj6FP0R']}

<!-- gh-comment-id:465159966 --> @forslund commented on GitHub (Feb 19, 2019): Huh, weird I've been using context_uri's for quite some time. (more than a year) In any case the uris doesn't work either: Endpoint: `me/player/play?device_id=d9464366ec73e0eda87dc781314f8f25d1df7469` Data: `{'uris': ['spotify:track:5fpizYGbi5IQoEraj6FP0R']}`
Author
Owner

@forslund commented on GitHub (Feb 19, 2019):

Thanks for confirming @pizzaboy75

<!-- gh-comment-id:465160293 --> @forslund commented on GitHub (Feb 19, 2019): Thanks for confirming @pizzaboy75
Author
Owner

@kingosticks commented on GitHub (Feb 19, 2019):

Maybe a debug log will shed some light on what's go on. You can specify a specific module by setting the RUST_LOG environment variable appropriately.

RUST_LOG=librespot=debug ./target/debug/librespot <your options>
<!-- gh-comment-id:465203326 --> @kingosticks commented on GitHub (Feb 19, 2019): Maybe a debug log will shed some light on what's go on. You can specify a specific module by setting the `RUST_LOG` environment variable appropriately. ``` RUST_LOG=librespot=debug ./target/debug/librespot <your options> ```
Author
Owner

@forslund commented on GitHub (Feb 19, 2019):

Thanks, sadly atleast to me it yields very little, this is for 'spotify:track:5fpizYGbi5IQoEraj6FP0R':

DEBUG:librespot_playback::player: command=Load(SpotifyId(u128!(305236747088454385942149979846871671391)), false, 0)
INFO:librespot_playback::player: Loading track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" with Spotify URI "spotify:track:6ZjubGKa55CYxN9a4LlOV1"
DEBUG:librespot_audio::fetch: Downloading file 0f71ff89bbcc0ee8621e91e2bf178e78090d6d82
DEBUG:librespot_playback::player: Normalisation Data: NormalisationData { track_gain_db: -6.8700027, track_peak: 1.0767901, album_gain_db: -6.8700027, album_peak: 1.0767901 }
DEBUG:librespot_playback::player: Applied normalisation factor: 0.45341915
INFO:librespot_playback::player: Track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" loaded
DEBUG:librespot_audio::fetch: File 0f71ff89bbcc0ee8621e91e2bf178e78090d6d82 complete

Seems there is not very much debug! statements when processing the frames recieved. I'll keep digging but other people are more likely to find the reason for this.

To me it seems like the piece of code extracting the new tracks fail to insert anything new and whatever was there previously gets loaded instead.

<!-- gh-comment-id:465209098 --> @forslund commented on GitHub (Feb 19, 2019): Thanks, sadly atleast to me it yields very little, this is for 'spotify:track:5fpizYGbi5IQoEraj6FP0R': ``` DEBUG:librespot_playback::player: command=Load(SpotifyId(u128!(305236747088454385942149979846871671391)), false, 0) INFO:librespot_playback::player: Loading track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" with Spotify URI "spotify:track:6ZjubGKa55CYxN9a4LlOV1" DEBUG:librespot_audio::fetch: Downloading file 0f71ff89bbcc0ee8621e91e2bf178e78090d6d82 DEBUG:librespot_playback::player: Normalisation Data: NormalisationData { track_gain_db: -6.8700027, track_peak: 1.0767901, album_gain_db: -6.8700027, album_peak: 1.0767901 } DEBUG:librespot_playback::player: Applied normalisation factor: 0.45341915 INFO:librespot_playback::player: Track "Intergalactic (In The Style Of Beastie Boys) [Performance Track with Demonstration Vocals]" loaded DEBUG:librespot_audio::fetch: File 0f71ff89bbcc0ee8621e91e2bf178e78090d6d82 complete ``` Seems there is not very much debug! statements when processing the frames recieved. I'll keep digging but other people are more likely to find the reason for this. To me it seems like the piece of code extracting the new tracks fail to insert anything new and whatever was there previously gets loaded instead.
Author
Owner

@forslund commented on GitHub (Feb 19, 2019):

Added some extra debug prints and it seems like MessageType::kMessageTypeLoad that's processed is always the last thing that actually played. But the status is set to kPlayStatusPause so the playback isn't resumed.

<!-- gh-comment-id:465308174 --> @forslund commented on GitHub (Feb 19, 2019): Added some extra debug prints and it seems like `MessageType::kMessageTypeLoad` that's processed is always the last thing that actually played. But the status is set to `kPlayStatusPause` so the playback isn't resumed.
Author
Owner

@mordax7 commented on GitHub (Feb 20, 2019):

Same Issue here, I cannot change playlists after selecting one song from the playlist....

<!-- gh-comment-id:465448546 --> @mordax7 commented on GitHub (Feb 20, 2019): Same Issue here, I cannot change playlists after selecting one song from the playlist....
Author
Owner

@kutmasterk commented on GitHub (Feb 20, 2019):

I think this can be resolved if someone translates the changes made here:

github.com/librespot-org/librespot-java@c1006ec29e

to librespot.

<!-- gh-comment-id:465463925 --> @kutmasterk commented on GitHub (Feb 20, 2019): I think this can be resolved if someone translates the changes made here: https://github.com/librespot-org/librespot-java/commit/c1006ec29e9d0032f0a2b81c5c81236d38291508 to librespot.
Author
Owner

@forslund commented on GitHub (Feb 20, 2019):

Hmm, maybe...

I just tried reverting that update. And that still loads the correct uri, it just pauses the playback right after.

Might be something related to that still...

Edit: I tried adding the same check but with the same result as previous. :(

<!-- gh-comment-id:465467767 --> @forslund commented on GitHub (Feb 20, 2019): Hmm, maybe... I just tried reverting that update. And that still loads the correct uri, it just pauses the playback right after. Might be something related to that still... Edit: I tried adding the same check but with the same result as previous. :(
Author
Owner

@forslund commented on GitHub (Feb 20, 2019):

Added some more debug prints to get a handle what's happening and it seems the No frame loading the new uri reaches handle_frame

For starting playback of context_uri': 'spotify🧑‍🎨67ea9eGLXYMsO2eYQRui3w'

DEBUG:librespot_connect::spirc: 
! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 168238835 id 1550651127456

INFO:librespot_connect::spirc: LOAD COMMAND
INFO:librespot_connect::spirc: context_uri spotify:album:5FzonekEV8kmk1lQmBfnzP
INFO:librespot_connect::spirc: track 1: 
INFO:librespot_connect::spirc: Play: false (2)
DEBUG:librespot_playback::player: command=Load(SpotifyId(u128!(306399372293294196397543171698672325764)), false, 15756)
INFO:librespot_playback::player: Loading track "Call The Ships To Port" with Spotify URI "spotify:track:70XOzn4IstIYPGpcgTFJd2"
DEBUG:librespot_audio::fetch: Downloading file b8a7a1d115bfbe44765cca2b1f62cec7b0412508
DEBUG:librespot_playback::player: Normalisation Data: NormalisationData { track_gain_db: -9.410004, track_peak: 1.2033645, album_gain_db: -8.459999, album_peak: 1.249804 }
DEBUG:librespot_playback::player: Applied normalisation factor: 0.33845413
INFO:librespot_playback::player: Track "Call The Ships To Port" loaded
DEBUG:librespot_audio::fetch: File b8a7a1d115bfbe44765cca2b1f62cec7b0412508 complete
<!-- gh-comment-id:465476909 --> @forslund commented on GitHub (Feb 20, 2019): Added some more debug prints to get a handle what's happening and it seems the No frame loading the new uri reaches [handle_frame](https://github.com/librespot-org/librespot/blob/master/connect/src/spirc.rs#L421) For starting playback of context_uri': 'spotify:artist:67ea9eGLXYMsO2eYQRui3w' ``` DEBUG:librespot_connect::spirc: ! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 168238835 id 1550651127456 INFO:librespot_connect::spirc: LOAD COMMAND INFO:librespot_connect::spirc: context_uri spotify:album:5FzonekEV8kmk1lQmBfnzP INFO:librespot_connect::spirc: track 1: INFO:librespot_connect::spirc: Play: false (2) DEBUG:librespot_playback::player: command=Load(SpotifyId(u128!(306399372293294196397543171698672325764)), false, 15756) INFO:librespot_playback::player: Loading track "Call The Ships To Port" with Spotify URI "spotify:track:70XOzn4IstIYPGpcgTFJd2" DEBUG:librespot_audio::fetch: Downloading file b8a7a1d115bfbe44765cca2b1f62cec7b0412508 DEBUG:librespot_playback::player: Normalisation Data: NormalisationData { track_gain_db: -9.410004, track_peak: 1.2033645, album_gain_db: -8.459999, album_peak: 1.249804 } DEBUG:librespot_playback::player: Applied normalisation factor: 0.33845413 INFO:librespot_playback::player: Track "Call The Ships To Port" loaded DEBUG:librespot_audio::fetch: File b8a7a1d115bfbe44765cca2b1f62cec7b0412508 complete ```
Author
Owner

@maciekczwa commented on GitHub (Feb 20, 2019):

I have the same - cannot change songs

<!-- gh-comment-id:465504833 --> @maciekczwa commented on GitHub (Feb 20, 2019): I have the same - cannot change songs
Author
Owner

@aksel commented on GitHub (Feb 20, 2019):

Same here. It loads the track that is currently playing, no matter what track I select.

I also get the following error, though I am unsure if it is reported by librespot or the client I'm using (spotifyd):

Vorbis error: InitialFileHeadersCorrupt

<!-- gh-comment-id:465515754 --> @aksel commented on GitHub (Feb 20, 2019): Same here. It loads the track that is currently playing, no matter what track I select. I also get the following error, though I am unsure if it is reported by librespot or the client I'm using (spotifyd): `Vorbis error: InitialFileHeadersCorrupt `
Author
Owner

@warro commented on GitHub (Feb 20, 2019):

Same problem here.

<!-- gh-comment-id:465545265 --> @warro commented on GitHub (Feb 20, 2019): Same problem here.
Author
Owner

@forslund commented on GitHub (Feb 21, 2019):

Here's a short comparison with the java version loading sequence

librespot-java:

2019-02-21 21:00:25 INFO  Player:93 -       LOAD
2019-02-21 21:00:25 DEBUG Player:282 - Loading context, uri: spotify:album:7tB40pGzj6Tg0HePj2jWZt

2019-02-21 21:00:28 INFO  Player:93 -       LOAD
2019-02-21 21:00:28 DEBUG Player:282 - Loading context, uri: spotify:artist:03r4iKL2g2442PT9n2UKsx

librespot:

! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 296377722 id 1550779568828

INFO:librespot_connect::spirc: Loading...
INFO:librespot_connect::spirc: context_uri spotify:album:7tB40pGzj6Tg0HePj2jWZ

! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 296380046 id 1550779570923

INFO:librespot_connect::spirc: Loading...
INFO:librespot_connect::spirc: context_uri spotify:album:7tB40pGzj6Tg0HePj2jWZt

The second frame seems to be new but contains the same context_uri as the first frame.
Any ideas on what more I can do to help debugging this?

<!-- gh-comment-id:466149383 --> @forslund commented on GitHub (Feb 21, 2019): Here's a short comparison with the java version loading sequence librespot-java: ``` 2019-02-21 21:00:25 INFO Player:93 - LOAD 2019-02-21 21:00:25 DEBUG Player:282 - Loading context, uri: spotify:album:7tB40pGzj6Tg0HePj2jWZt 2019-02-21 21:00:28 INFO Player:93 - LOAD 2019-02-21 21:00:28 DEBUG Player:282 - Loading context, uri: spotify:artist:03r4iKL2g2442PT9n2UKsx ``` librespot: ``` ! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 296377722 id 1550779568828 INFO:librespot_connect::spirc: Loading... INFO:librespot_connect::spirc: context_uri spotify:album:7tB40pGzj6Tg0HePj2jWZ ! Frame: Type kMessageTypeLoad name "" ident webapi-5509ac5c42cc45d7b4625d0b851a0f1e seq 296380046 id 1550779570923 INFO:librespot_connect::spirc: Loading... INFO:librespot_connect::spirc: context_uri spotify:album:7tB40pGzj6Tg0HePj2jWZt ``` The second frame seems to be new but contains the same context_uri as the first frame. Any ideas on what more I can do to help debugging this?
Author
Owner

@wdehoog commented on GitHub (Feb 21, 2019):

Is the java player really working?

Does Librespot send stuff to spotify as well? And can you log it? If every frame sent to spotify contains the same tracks in its State data maybe Librespot sends something that make Spotify prevent sending new context or tracks.

<!-- gh-comment-id:466163676 --> @wdehoog commented on GitHub (Feb 21, 2019): Is the java player really working? Does Librespot send stuff to spotify as well? And can you log it? If every frame sent to spotify contains the same tracks in its State data maybe Librespot sends something that make Spotify prevent sending new context or tracks.
Author
Owner

@worleydl commented on GitHub (Feb 21, 2019):

Is the java player really working?

Yes, librespot-java is functioning as expected. I dug a little last nite and tried incorporating the play-token fix from that project into librespot but no luck so far. I'm not positive it's related but I saw it mentioned here.

<!-- gh-comment-id:466172456 --> @worleydl commented on GitHub (Feb 21, 2019): > Is the java player really working? Yes, librespot-java is functioning as expected. I dug a little last nite and tried incorporating the play-token fix from that project into librespot but no luck so far. I'm not positive it's related but I saw it mentioned here.
Author
Owner

@forslund commented on GitHub (Feb 21, 2019):

I tried librespot-java without the pause fix and that still loads the correct playlist/tracks so I'm pretty sure there's something else afoot as well.

I'm going to try adding more debug of what is actually sent back to spotify before the new tracks are received in the two versions, but I'm basically just stumbling blindly here

<!-- gh-comment-id:466180524 --> @forslund commented on GitHub (Feb 21, 2019): I tried librespot-java without the pause fix and that still loads the correct playlist/tracks so I'm pretty sure there's something else afoot as well. I'm going to try adding more debug of what is actually sent back to spotify before the new tracks are received in the two versions, but I'm basically just stumbling blindly here
Author
Owner

@worleydl commented on GitHub (Feb 21, 2019):

When looking at the frames recieved in spirc: The java client is getting a protocol version of 2.0.0, rust is showing 3.0.1

<!-- gh-comment-id:466190614 --> @worleydl commented on GitHub (Feb 21, 2019): When looking at the frames recieved in spirc: The java client is getting a protocol version of 2.0.0, rust is showing 3.0.1
Author
Owner

@worleydl commented on GitHub (Feb 21, 2019):

Removing the 3 from https://github.com/librespot-org/librespot/blob/master/connect/src/spirc.rs#L217 fixes the issue but I don't know if it causes other issues in the app.

<!-- gh-comment-id:466201370 --> @worleydl commented on GitHub (Feb 21, 2019): Removing the 3 from https://github.com/librespot-org/librespot/blob/master/connect/src/spirc.rs#L217 fixes the issue but I don't know if it causes other issues in the app.
Author
Owner

@forslund commented on GitHub (Feb 22, 2019):

@worleydl you should make a PR with that change. So far your change is working for me, I'll continue to test during the day.

<!-- gh-comment-id:466295659 --> @forslund commented on GitHub (Feb 22, 2019): @worleydl you should make a PR with that change. So far your change is working for me, I'll continue to test during the day.
Author
Owner

@devgianlu commented on GitHub (Feb 22, 2019):

@worleydl Did you trying using 4 instead of 3? Does the protocol version change?

<!-- gh-comment-id:466316466 --> @devgianlu commented on GitHub (Feb 22, 2019): @worleydl Did you trying using 4 instead of 3? Does the protocol version change?
Author
Owner

@kutmasterk commented on GitHub (Feb 22, 2019):

I did a little digging and i found that @plietar changed the Connect mercury URL to/3/with this commit in May 2017:
github.com/plietar/librespot@7c237c77df

I think this was done in a whole set of fixes for this particular Issue:
https://github.com/plietar/librespot/issues/185

<!-- gh-comment-id:466319217 --> @kutmasterk commented on GitHub (Feb 22, 2019): I did a little digging and i found that @plietar changed the Connect mercury URL to` /3/ `with this commit in May 2017: https://github.com/plietar/librespot/commit/7c237c77dffdd76356f3b4d7cd12febaf0762a3d I think this was done in a whole set of fixes for this particular Issue: https://github.com/plietar/librespot/issues/185
Author
Owner

@forslund commented on GitHub (Feb 22, 2019):

@devgianlu, I tested with 4 instead of 3 and that results in a panic on startup, due to a 404 response.

<!-- gh-comment-id:466333039 --> @forslund commented on GitHub (Feb 22, 2019): @devgianlu, I tested with 4 instead of 3 and that results in a panic on startup, due to a 404 response.
Author
Owner

@ofosos commented on GitHub (Feb 22, 2019):

Removing /3 works for me.

<!-- gh-comment-id:466371335 --> @ofosos commented on GitHub (Feb 22, 2019): Removing `/3` works for me.
Author
Owner

@sashahilton00 commented on GitHub (Feb 22, 2019):

I personally can't reproduce this, my guess is it's somewhat dependent on client version, or they're rolling out updates. Given that it's a 1 line URL change, and it seems to solve the issue, I would assume that the fix should be fine to implement, given that it's just a resource locator, and doesn't affect any of the actual librespot logic. If someone wants to create a PR with the change, please also include a short comment in the line above to issue #288 so that if problems sub sequently crop up, it's easy to arrive at this issue and we can continue working a fix from there, we'll merge it.

<!-- gh-comment-id:466389768 --> @sashahilton00 commented on GitHub (Feb 22, 2019): I personally can't reproduce this, my guess is it's somewhat dependent on client version, or they're rolling out updates. Given that it's a 1 line URL change, and it seems to solve the issue, I would assume that the fix should be fine to implement, given that it's just a resource locator, and doesn't affect any of the actual librespot logic. If someone wants to create a PR with the change, please also include a short comment in the line above to issue #288 so that if problems sub sequently crop up, it's easy to arrive at this issue and we can continue working a fix from there, we'll merge it.
Author
Owner

@kingosticks commented on GitHub (Feb 22, 2019):

@sashahilton00 did you try the fix out on your account that doesn't have the issue? i.e. does it continue to work or does it break it?

<!-- gh-comment-id:466393514 --> @kingosticks commented on GitHub (Feb 22, 2019): @sashahilton00 did you try the fix out on your account that doesn't have the issue? i.e. does it continue to work or does it break it?
Author
Owner

@sashahilton00 commented on GitHub (Feb 22, 2019):

It was working fine when I tested the one liner.

On 22 February 2019 at 14:18:54, Nick Steel (notifications@github.com)
wrote:

@sashahilton00 https://github.com/sashahilton00 did you try the fix out
on your account that doesn't have the issue? i.e. does it continue to work
or does it break it?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/issues/288#issuecomment-466393514,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_dEleL3ll4Fxz8N7GV8bAlEciRCzyFks5vP-4-gaJpZM4bC-m6
.

<!-- gh-comment-id:466393871 --> @sashahilton00 commented on GitHub (Feb 22, 2019): It was working fine when I tested the one liner. On 22 February 2019 at 14:18:54, Nick Steel (notifications@github.com) wrote: > @sashahilton00 <https://github.com/sashahilton00> did you try the fix out > on your account that doesn't have the issue? i.e. does it continue to work > or does it break it? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/librespot-org/librespot/issues/288#issuecomment-466393514>, > or mute the thread > <https://github.com/notifications/unsubscribe-auth/AD_dEleL3ll4Fxz8N7GV8bAlEciRCzyFks5vP-4-gaJpZM4bC-m6> > . >
Author
Owner

@kingosticks commented on GitHub (Feb 22, 2019):

Ok, great, just checking. (I just found that I don't have this issue either. Good ol' reliable Blighty!)

EDIT: I tell a lie, I do have this issue. I just messed up reproducing it.

<!-- gh-comment-id:466394341 --> @kingosticks commented on GitHub (Feb 22, 2019): Ok, great, just checking. (I just found that I don't have this issue either. Good ol' reliable Blighty!) EDIT: I tell a lie, I do have this issue. I just messed up reproducing it.
Author
Owner

@kingosticks commented on GitHub (Feb 22, 2019):

This does seem to have resolved the issue, however I will just note here that my official desktop client is still happily talking to the original hm://remote/3/user/<username> endpoint. We might need to come back to this.

<!-- gh-comment-id:466436432 --> @kingosticks commented on GitHub (Feb 22, 2019): This does seem to have resolved the issue, however I will just note here that my official desktop client is still happily talking to the original `hm://remote/3/user/<username>` endpoint. We might need to come back to this.
Author
Owner

@sashahilton00 commented on GitHub (Feb 22, 2019):

@kingosticks hmmm, we (myself and @ashthespy) were seeing similar behaviour with the dailymixes endpoint, whereby the desktop clients were getting from the endpoint just fine, but any attempt to do so from librespot failed. I think there's some initialisation/authentication that they've started to add to endpoints that we'll need to work on at some point if it becomes more pressing.

<!-- gh-comment-id:466471828 --> @sashahilton00 commented on GitHub (Feb 22, 2019): @kingosticks hmmm, we (myself and @ashthespy) were seeing similar behaviour with the dailymixes endpoint, whereby the desktop clients were getting from the endpoint just fine, but any attempt to do so from librespot failed. I think there's some initialisation/authentication that they've started to add to endpoints that we'll need to work on at some point if it becomes more pressing.
Author
Owner

@devgianlu commented on GitHub (Feb 22, 2019):

I've noticed that, I don't know if it's related. Also that

<!-- gh-comment-id:466505342 --> @devgianlu commented on GitHub (Feb 22, 2019): I've noticed [that](https://gist.github.com/devgianlu/f49dca97d23af139bb2a0cfd22c6d482#file-0x0f-and-0x10-md), I don't know if it's related. Also [that](https://gist.github.com/devgianlu/f49dca97d23af139bb2a0cfd22c6d482#file-0x4f-md)
Author
Owner

@kristaps194 commented on GitHub (Feb 22, 2019):

Hi! Sorry for the silly question, I'm new to git...
How do I update my Raspotify Librespot with the ommitment of this 3?
I don't see I could remove it from any text file, so I guess I should somehow delete the current install from RPi, compile and install this new one somehow?
I don't expect you walking me completely throught this but at least a link or comment on the right direction would be appreciated :)

<!-- gh-comment-id:466565116 --> @kristaps194 commented on GitHub (Feb 22, 2019): Hi! Sorry for the silly question, I'm new to git... How do I update my Raspotify Librespot with the ommitment of this _3_? I don't see I could remove it from any text file, so I guess I should somehow delete the current install from RPi, compile and install this new one somehow? I don't expect you walking me completely throught this but at least a link or comment on the right direction would be appreciated :)
Author
Owner

@worleydl commented on GitHub (Feb 23, 2019):

This project contains a docker setup to do cross platform builds. Build for your platform and replace the files in raspotify.

Reference https://github.com/librespot-org/librespot/wiki/Cross-compiling

<!-- gh-comment-id:466616602 --> @worleydl commented on GitHub (Feb 23, 2019): This project contains a docker setup to do cross platform builds. Build for your platform and replace the files in raspotify. Reference https://github.com/librespot-org/librespot/wiki/Cross-compiling
Author
Owner

@peterdk commented on GitHub (Feb 23, 2019):

Nice, this fixed it for me as well. I couldn't select a new song or playlist, only thing that worked was enabling local playback, select song, then enable raspotify again as output.

<!-- gh-comment-id:466655765 --> @peterdk commented on GitHub (Feb 23, 2019): Nice, this fixed it for me as well. I couldn't select a new song or playlist, only thing that worked was enabling local playback, select song, then enable raspotify again as output.
Author
Owner

@peterdk commented on GitHub (Feb 23, 2019):

@kristaps194 To compile an updated version of raspotify, refer to the Building the Package Yourself section on https://github.com/dtcooper/raspotify/blob/master/README.md . I just updated my raspotify and it works again.

<!-- gh-comment-id:466657100 --> @peterdk commented on GitHub (Feb 23, 2019): @kristaps194 To compile an updated version of raspotify, refer to the `Building the Package Yourself` section on https://github.com/dtcooper/raspotify/blob/master/README.md . I just updated my raspotify and it works again.
Author
Owner

@kristaps194 commented on GitHub (Feb 24, 2019):

@peterdk thank you for your response! Yesterday I cloned the package and tried to "make" it. First time it compiled for ~15 minutes on my RPi 2. It compiled with errors, couldn't connect to alsa web page. In raspotify folder didn't find any deb package.
Today I updated "make" and tried to rebuild the package (w/o deleted previously cloned content). It finished in less than 1 minute with the same error but significantly less logs (~200 lines vs ~20). Tried to install ufw to simply open port 21. Got kicked out from SSH session and manually restarted. After that quite miraculously switching playlists now works. Perhaps Spotify did something on their end because after building the package I didn't try updating either raspotify or librespot.
Anyway - just wanted for you guys to know how it ended :)

<!-- gh-comment-id:466813874 --> @kristaps194 commented on GitHub (Feb 24, 2019): @peterdk thank you for your response! Yesterday I cloned the package and tried to "make" it. First time it compiled for ~15 minutes on my RPi 2. It compiled with errors, couldn't connect to alsa web page. In raspotify folder didn't find any deb package. Today I updated "make" and tried to rebuild the package (w/o deleted previously cloned content). It finished in less than 1 minute with the same error but significantly less logs (~200 lines vs ~20). Tried to install ufw to simply open port 21. Got kicked out from SSH session and manually restarted. After that quite miraculously switching playlists now works. Perhaps Spotify did something on their end because after building the package I didn't try updating either raspotify or librespot. Anyway - just wanted for you guys to know how it ended :)
Author
Owner

@morloy commented on GitHub (Mar 7, 2019):

librespot.zip

Here’s a build of the current librespot for the Raspberry Pi. Tested and working on moOde.

<!-- gh-comment-id:470485052 --> @morloy commented on GitHub (Mar 7, 2019): [librespot.zip](https://github.com/librespot-org/librespot/files/2940902/librespot.zip) Here’s a build of the current `librespot` for the Raspberry Pi. Tested and working on moOde.
Author
Owner

@devgianlu commented on GitHub (Mar 10, 2019):

I've did some packet dumping and noticed that the communication style is different for hm://remote/3/user/.../. You don't need to SUB to the uri anymore, instead they use POST for sending and the events are sent with packet type 0xb5.

Here it is the fix for librespot-java. This did not fix anything.

<!-- gh-comment-id:471339818 --> @devgianlu commented on GitHub (Mar 10, 2019): I've did some packet dumping and noticed that the communication style is different for `hm://remote/3/user/.../`. You don't need to `SUB` to the uri anymore, instead they use `POST` for sending and the events are sent with packet type `0xb5`. <s>[Here](https://github.com/librespot-org/librespot-java/commit/678ce0c5912d7a3ae00be21b5ecba9465b1eac63) it is the fix for `librespot-java`.</s> This did not fix anything.
Author
Owner

@kingosticks commented on GitHub (Mar 10, 2019):

Good work!

<!-- gh-comment-id:471340490 --> @kingosticks commented on GitHub (Mar 10, 2019): Good work!
Author
Owner

@devgianlu commented on GitHub (Mar 10, 2019):

Just did some extensive testing and it doesn't work. Hopefully I can sort it out easily. I'll be investigating this behavior when I have time.

<!-- gh-comment-id:471340857 --> @devgianlu commented on GitHub (Mar 10, 2019): Just did some extensive testing and it doesn't work. <s>Hopefully I can sort it out easily.</s> I'll be investigating this behavior when I have time.
Author
Owner

@ashthespy commented on GitHub (Mar 11, 2019):

@devgianlu Dunno if it is of interest - but I recall noticing quite some chatter via the hm://event-service/v1/events endpoint

<!-- gh-comment-id:471670472 --> @ashthespy commented on GitHub (Mar 11, 2019): @devgianlu Dunno if it is of interest - but I recall noticing quite some chatter via the `hm://event-service/v1/events` endpoint
Author
Owner

@devgianlu commented on GitHub (Mar 11, 2019):

These seem to be just for collecting analytics data. What I've noticed is that the client receives a load event, but with the old context. The correct context is sent along with a play event.

I desperately need to improve the dissect tool, if someone can help, please contact me on Gitter.

<!-- gh-comment-id:471708223 --> @devgianlu commented on GitHub (Mar 11, 2019): These seem to be just for collecting analytics data. What I've noticed is that the client receives a load event, but with the old context. The correct context is sent along with a play event. I desperately need to improve the dissect tool, if someone can help, please contact me on Gitter.
Author
Owner

@devgianlu commented on GitHub (Mar 12, 2019):

I've started the huge process of reversing the new protocol. Testers are (very) welcome and contributions are appreciated. See https://github.com/librespot-org/librespot-java/pull/54.

<!-- gh-comment-id:472187499 --> @devgianlu commented on GitHub (Mar 12, 2019): I've started the huge process of reversing the new protocol. Testers are (very) welcome and contributions are appreciated. See https://github.com/librespot-org/librespot-java/pull/54.
Author
Owner

@mfeif commented on GitHub (Mar 16, 2019):

librespot.zip

Here’s a build of the current librespot for the Raspberry Pi. Tested and working on moOde.

@morloy is that all the audio backends? (I need pulseaudio...)

Thanks for sharing!

<!-- gh-comment-id:473558000 --> @mfeif commented on GitHub (Mar 16, 2019): > [librespot.zip](https://github.com/librespot-org/librespot/files/2940902/librespot.zip) > > Here’s a build of the current `librespot` for the Raspberry Pi. Tested and working on moOde. @morloy is that all the audio backends? (I need pulseaudio...) Thanks for sharing!
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#193
No description provided.