librespot-java
librespot-java copied to clipboard
Playing artist radio always fails with ERROR Player:524 - Failed loading context
Describe the bug Playing an artist's radio station on spotify premium fails to produce any music.
To Reproduce
- install spocon via
apt install spocon
onLinux version 5.4.0-100-generic (buildd@lcy02-amd64-002) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #113-Ubuntu SMP Thu Feb 3 18:43:29 UTC 2022
- use spocon config:
deviceType = "COMPUTER"
deviceName = "PRAISE ZEUS"
deviceId = ""
logLevel = "TRACE"
preferredLocale = "en"
### Cache ###
[cache]
dir = "./cache/"
# Cache enabled
enabled = true
doCleanUp = true
[auth]
credentialsFile = "credentials.json"
password = ""
blob = ""
storeCredentials = false
strategy = "ZEROCONF"
username = ""
[preload]
enabled = true
[network]
connectionTimeout = 10
[proxy]
password = ""
address = ""
port = 0
auth = false
type = "HTTP"
ssl = false
enabled = false
username = ""
[zeroconf]
listenAll = true
interfaces = ""
listenPort = -1
[shell]
onTrackSeeked = ""
onStartedLoading = ""
onConnectionDropped = ""
onMetadataAvailable = ""
onTrackChanged = ""
onPanicState = ""
onFinishedLoading = ""
enabled = false
onPlaybackResumed = ""
onConnectionEstablished = ""
onPlaybackEnded = ""
onContextChanged = ""
executeWithBash = false
onPlaybackPaused = ""
onInactiveSession = ""
onVolumeChanged = ""
[time]
manualCorrection = 0
synchronizationMethod = "NTP"
[api]
port = 24879
host = "0.0.0.0"
[player]
enableNormalisation = true
initialVolume = 65536
bypassSinkVolume = false
releaseLineDelay = 20
normalisationPregain = 0.0
metadataPipe = ""
autoplayEnabled = true
preferredAudioQuality = "HIGH"
localFilesPath = ""
output = "MIXER"
crossfadeDuration = 0
retryOnChunkError = true
outputClass = ""
mixerSearchKeywords = "default"
pipe = ""
logAvailableMixers = true
volumeSteps = 64
- start service and attempt to play an artist radio via an iPad connected to the same LAN as the spocon server
Expected behavior I expected music to play.
Screenshots/Stracktraces/Logs
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,540 TRACE DealerClient:114 - Received request. {mid: hm://connect-state/v1/player/command, key: eb5cfc58-11a7-406a-a517-ada33b3aaa70, pid: 1895081849, sender: bb73e5edee20f66c2c22ff5486ecf7236dc62dcd, command: {"endpoint":"play","context":{"url":"wg://dynamic-sessions/context-resolve/v2/interactive-radio/37i9dQZF1E4kcKDGmIZSmD?trigger_config_identifier=VERTEX_IMPLICIT_RESYNC&ui_type=HYBRID&client_platform=36&client_version=871000000&client_product=0&shuffle_only=false","restrictions":{}},"play_origin":{"feature_identifier":"playlist/ondemand","feature_version":"8.7.10.1611","view_uri":"spotify:playlist:37i9dQZF1E4kcKDGmIZSmD","referrer_identifier":"find","device_identifier":"___REDACTED___"},"options":{"always_play_something":false,"skip_to":{},"initially_paused":false,"system_initiated":false,"player_options_override":{"shuffling_context":true},"suppressions":{},"prefetch_level":"none","audio_stream":"default","session_id":"","license":"premium"},"play_options":{"override_restrictions":false,"only_for_local_device":false,"system_initiated":false,"reason":"interactive","operation":"replace","trigger":"immediately"},"logging_params":{"command_initiated_time":1646867555338,"page_instance_ids":["851BC5E2-0B42-434A-A295-B6829EE1926D"],"interaction_ids":["77614D25-A56F-4A09-A1D1-DC068C6D0E26"],"device_identifier":"___REDACTED___"}}}
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,540 DEBUG Player:106 - Received command: Play
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,540 DEBUG Player:514 - Loading context (play), uri: null
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,541 TRACE MercuryClient:156 - Send Mercury request, seq: 1860, uri: hm://context-resolve/v1/, method: GET
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,685 TRACE MercuryClient:199 - Handling packet, cmd: MercuryReq, seq: 1860, flags: 1, parts: 1
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,685 ERROR Player:524 - Failed loading context!
Mar 09 15:12:35 HOSTNAME java[4119743]: xyz.gianlu.librespot.mercury.MercuryClient$MercuryException: status: 404
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.mercury.MercuryClient.sendSync(MercuryClient.java:106) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.PagesLoader.getPage(PagesLoader.java:111) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.PagesLoader.nextPage(PagesLoader.java:145) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.StateWrapper$TracksKeeper.initializeStart(StateWrapper.java:1096) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.StateWrapper.load(StateWrapper.java:563) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.Player.handlePlay(Player.java:517) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.Player.access$400(Player.java:62) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.Player$1.command(Player.java:110) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.state.DeviceStateHandler.notifyCommand(DeviceStateHandler.java:130) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.player.state.DeviceStateHandler.onRequest(DeviceStateHandler.java:188) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.dealer.DealerClient.lambda$handleRequest$1(DealerClient.java:124) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.common.AsyncWorker.lambda$new$0(AsyncWorker.java:36) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at xyz.gianlu.librespot.common.AsyncProcessor.lambda$submit$1(AsyncProcessor.java:56) ~[librespot-java-api-v1.6.2.jar:1.6.2]
Mar 09 15:12:35 HOSTNAME java[4119743]: at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_312]
Mar 09 15:12:35 HOSTNAME java[4119743]: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_312]
Mar 09 15:12:35 HOSTNAME java[4119743]: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_312]
Mar 09 15:12:35 HOSTNAME java[4119743]: at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
Mar 09 15:12:35 HOSTNAME java[4119743]: 2022-03-09 15:12:35,686 DEBUG DealerClient:126 - Handled request. {key: eb5cfc58-11a7-406a-a517-ada33b3aaa70, result: SUCCESS}
Mar 09 15:12:36 HOSTNAME java[4119743]: 2022-03-09 15:12:36,005 INFO DeviceStateHandler:273 - Put state. {ts: 1646867555688, connId: YTE4Z...yRTA0, reason: PLAYER_STATE_CHANGED, request: device { device_info { can_play: true volume: 25320 name: "PRAISE ZEUS" capabilities { can_be_player: true gaia_eq_connect_id: true supports_logout: true is_observable: true volume_steps: 64 supported_types: "audio/episode" supported_types: "audio/track" command_acks: true supports_playlist_v2: true is_controllable: true supports_transfer_command: true supports_command_request: true supports_gzip_pushes: true } device_software_version: "librespot-java 1.6.2" device_type: COMPUTER spirc_version: "3.2.6" device_id: "a18fa90fe3564e204118cb12b91bc933c9c9dc56" client_id: "65b708073fc0480ea92a077233ca87bd" } player_state { timestamp: 1646867271063 context_url: "wg://dynamic-sessions/context-resolve/v2/interactive-radio/37i9dQZF1E4kcKDGmIZSmD?trigger_config_identifier=VERTEX_IMPLICIT_RESYNC&ui_type=HYBRID&client_platform=36&client_version=871000000&client_product=0&shuffle_only=false" context_restrictions { } play_origin { feature_identifier: "playlist/ondemand" feature_version: "8.7.10.1611" view_uri: "spotify:playlist:37i9dQZF1E4kcKDGmIZSmD" referrer_identifier: "find" device_identifier: "__REDACTED__" } index { track: 6 } track { uri: "spotify:track:2ixA5FlRk3v1clYlQRMk59" metadata { key: "album_artist_name" value: "Cheshire" } metadata { key: "album_artist_uri" value: "spotify:artist:1OHlpIsY1bcW2ySE97PPeq" } metadata { key: "album_disc_number" value: "1" } metadata { key: "album_title" value: "Simply Lifted" } metadata { key: "album_uri" value: "spotify:album:5symKWTruOsA4FMAWWWK1U" } metadata { key: "artist_name" value: "Cheshire" } metadata { key: "artist_name:1" value: "Beat Fatigue" } metadata { key: "artist_uri" value: "spotify:artist:1OHlpIsY1bcW2ySE97PPeq" } metadata { key: "artist_uri:1" value: "spotify:artist:02m3zUZ22DsQCXQsjjSCwQ" } metadata { key: "available_file_formats" value: "[\"OGG_VORBIS_320\",\"OGG_VORBIS_160\",\"OGG_VORBIS_96\",\"AAC_24\"]" } metadata { key: "duration" value: "242440" } metadata { key: "image_large_url" value: "spotify:image:ab67616d0000b2738ffd88e965cb3383a7432f9d" } metadata { key: "image_small_url" value: "spotify:image:ab67616d000048518ffd88e965cb3383a7432f9d" } metadata { key: "image_url" value: "spotify:image:ab67616d00001e028ffd88e965cb3383a7432f9d" } metadata { key: "popularity" value: "9" } metadata { key: "title" value: "Mr Bingle" } provider: "context" } playback_id: "011f0f58352a881dec9c8ff478893522" playback_speed: 1.0 position_as_of_timestamp: 0 duration: 242440 is_system_initiated: true options { shuffling_context: true repeating_context: false repeating_track: false } restrictions { } suppressions { } prev_tracks { uri: "spotify:track:6KdEu0PTQQbaj3Kaz3tFp2" provider: "context" } prev_tracks { uri: "spotify:track:6UnQQ5rbE07Z1UslZRGDj0" provider: "context" } prev_tracks { uri: "spotify:track:6lZQZ0AqjxcuDB6cR5QBDg" provider: "context" } prev_tracks { uri: "spotify:track:4i870R55YwMOAsh3IaUI4P" provider: "context" } prev_tracks { uri: "spotify:track:63ejw6s7QhuJgfpGtfrH9z" provider: "context" } prev_tracks { uri: "spotify:track:2THspveGxiEeYOqCFmoswv" provider: "context" } next_tracks { uri: "spotify:track:0UrKhHg1gnwjyCwq1J5QQb" provider: "context" } session_id: "Jr+Ww8w8Uw4DYLB3zlBCjg" } } member_type: CONNECT_STATE is_active: true put_state_reason: PLAYER_STATE_CHANGED started_playing_at: 1646860320950 has_been_playing_for_ms: 37008 client_side_timestamp: 1646867555688}
Version/Commit 1.6.2