librespot-org / librespot-org/librespot

Opening other spotify clients sometimes ask Continue Playing

Open
#522 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

can't reproduce
Dominant language
Rust
Stars
7.2k
Forks
888
Avg merge
6h 41m
Merged PRs (30d)
3

Description

Hello, when trying to control librespot from other clients, it sometimes ask "Continue Playing" and the current session (song) continues. It automatically connects when this "Continue Playing" pops in the client.

The problem is when it doesn't, and I try to select manually the session stops

This is the debug trace when this manual selection and session stops:

[2020-09-11T02:14:31Z DEBUG librespot_connect::discovery] Post "/" {}
[2020-09-11T02:14:31Z DEBUG librespot_connect::spirc] drop Spirc[1]
[2020-09-11T02:14:31Z DEBUG librespot_playback::player] Shutting down player thread ...
[2020-09-11T02:14:31Z DEBUG librespot_playback::player] drop PlayerInternal[1]
[2020-09-11T02:14:31Z DEBUG librespot_playback::player] PlayerInternal thread finished.
[2020-09-11T02:14:31Z DEBUG librespot_core::session] drop Session[1]
[2020-09-11T02:14:31Z DEBUG librespot_core::audio_key] drop AudioKeyManager
[2020-09-11T02:14:31Z DEBUG librespot_core::channel] drop ChannelManager
[2020-09-11T02:14:31Z DEBUG librespot_core::mercury] drop MercuryManager
[2020-09-11T02:14:31Z DEBUG librespot_core::session] drop Dispatch
[2020-09-11T02:14:31Z INFO  librespot_core::session] Connecting to AP "guc3-accesspoint-b-npd0.ap.spotify.com:4070"
[2020-09-11T02:14:32Z INFO  librespot_core::session] Authenticated as "XXXXXXXX" !
[2020-09-11T02:14:32Z DEBUG librespot_core::session] new Session[2]
[2020-09-11T02:14:32Z DEBUG librespot_connect::spirc] new Spirc[2]
[2020-09-11T02:14:32Z DEBUG librespot_connect::spirc] canonical_username: XXXXXXXX
[2020-09-11T02:14:32Z DEBUG librespot_core::mercury] new MercuryManager
[2020-09-11T02:14:32Z DEBUG librespot_connect::spirc] input volume:65535 to mixer: 65535
[2020-09-11T02:14:32Z DEBUG librespot_core::session] Session[2] strong=3 weak=2
[2020-09-11T02:14:32Z INFO  librespot_core::session] Country: "XX"
[2020-09-11T02:14:32Z DEBUG librespot_playback::player] new Player[2]
[2020-09-11T02:14:32Z INFO  librespot_playback::audio_backend::alsa] Using alsa sink
[2020-09-11T02:14:32Z DEBUG librespot_playback::player] command=AddEventSender
[2020-09-11T02:14:32Z DEBUG librespot_playback::player] command=VolumeSet(65535)
[2020-09-11T02:14:32Z DEBUG librespot_core::mercury] unknown subscription uri=hm://remote/user/XXXXXXXX/
[2020-09-11T02:14:32Z DEBUG librespot_core::mercury] subscribed uri=hm://remote/user/XXXXXXXX/ count=0

Any idea what could it be?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the manual client selection and start with the librespot_connect::discovery and librespot_connect::spirc paths shown in the trace. Follow the Session and Player shutdown and recreation messages to identify what happens during selection; done means manually selecting the client no longer stops the current session, with the behavior verified against an equivalent debug trace.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.