librespot-org / librespot-org/librespot
Opening other spotify clients sometimes ask Continue Playing
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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