[GH-ISSUE #1047] librespot failing with rodio #493

Closed
opened 2026-02-27 19:30:58 +03:00 by kerem · 8 comments
Owner

Originally created by @ghost on GitHub (Aug 18, 2022).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/1047

Describe the bug
librespot fails to output audio when using the default rodio backend

To reproduce
Install librespot either via snap (librespot-dev) or by compiling.
The Spotify "sink" is detected by Spotify clients on the network. Clients can select the Spotify sink.
When trying to play music, a bunch of errors are spat out on the server side.
However if I enable the alsa backend when compiling and use that backend, things work just fine.
I have tried to run as root and the same happens.

Log

$ ./target/release/librespot -n nas --verbose                                                                    
[2022-08-18T12:30:30Z INFO  librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release)                  
[2022-08-18T12:30:30Z TRACE librespot] Command line argument(s):                                                                                
[2022-08-18T12:30:30Z TRACE librespot]          n "nas"                                                                                         
[2022-08-18T12:30:30Z TRACE librespot]          verbose                                                                                         
[2022-08-18T12:30:30Z DEBUG librespot_core::session] new Session                                                                                
[2022-08-18T12:30:30Z DEBUG librespot_discovery::server] Zeroconf server listening on 0.0.0.0:45269                                             
[2022-08-18T12:30:30Z DEBUG librespot_discovery::server] Shutting down discovery server                                                                                                                                                                                                          
[2022-08-18T12:30:39Z DEBUG librespot_discovery::server] POST "/" {}                                                                            
[2022-08-18T12:30:39Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)                             
[2022-08-18T12:30:39Z DEBUG librespot_connect::spirc] new Spirc[0]                                                                              
[2022-08-18T12:30:39Z DEBUG librespot::component] new MercuryManager    
[2022-08-18T12:30:39Z DEBUG librespot::component] new ApResolver                                                                                
[2022-08-18T12:30:39Z DEBUG librespot_core::http_client] Requesting https://apresolve.spotify.com/?type=accesspoint&type=dealer&type=spclient   
[2022-08-18T12:30:39Z DEBUG librespot_playback::player] new Player [0]                                                                          
[2022-08-18T12:30:39Z INFO  librespot_playback::convert] Converting with ditherer: tpdf                                                         
[2022-08-18T12:30:39Z INFO  librespot_playback::audio_backend::rodio] Using Rodio sink with format S16 and cpal host: ALSA                      
[2022-08-18T12:30:39Z INFO  librespot_playback::audio_backend::rodio] Using audio device: default                                               
[2022-08-18T12:30:39Z INFO  librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070"                                                
[2022-08-18T12:30:39Z INFO  librespot_core::session] Authenticated as "<sanitised>" !                                          
[2022-08-18T12:30:39Z DEBUG librespot_connect::spirc] canonical_username: <sanitised>
[2022-08-18T12:30:39Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99%                                           
[2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=hm://remote/user/                                                         
[2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:update                                            
[2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:mutated                                           
[2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=hm://pusher/v1/connections/                                               
[2022-08-18T12:30:39Z DEBUG librespot_core::session] Session strong=4 weak=3                                                                    
[2022-08-18T12:30:39Z INFO  librespot_core::session] Country: "FR"                                                                              
[2022-08-18T12:30:39Z TRACE librespot_core::session] Received product info: {   

        (.................. bunch of json stuff .....................)
        
[2022-08-18T12:30:40Z TRACE librespot_connect::spirc] Frame has 50 tracks
[2022-08-18T12:30:40Z INFO  librespot_connect::spirc] Fetching autoplay context uri
[2022-08-18T12:30:40Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause]
[2022-08-18T12:30:40Z INFO  librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:playlist:<sanitised>">
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: StreamError(BuildStreamError(BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'" } }))', playback/src/audio_backend/rodio.rs
:178:53
stack backtrace:
   0:     0x55df17b6860d - std::backtrace_rs::backtrace::libunwind::trace::h8217d0a8f3fd2f41
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x55df17b6860d - std::backtrace_rs::backtrace::trace_unsynchronized::h308103876b3af410
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55df17b6860d - std::sys_common::backtrace::_print_fmt::hc208018c6153605e
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x55df17b6860d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf89a7ed694dfb585
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x55df17b8ef1c - core::fmt::write::h21038c1382fe4264
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/fmt/mod.rs:1197:17
   5:     0x55df17b62dc1 - std::io::Write::write_fmt::h7dbb1c9a3c254aef
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/io/mod.rs:1672:15
   6:     0x55df17b69ee5 - std::sys_common::backtrace::_print::h4e8889719c9ddeb8
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x55df17b69ee5 - std::sys_common::backtrace::print::h1506fe2cb3022667
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x55df17b69ee5 - std::panicking::default_hook::{{closure}}::hd9d7ce2a8a782440
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:295:22
   9:     0x55df17b69c06 - std::panicking::default_hook::h5b16ec25444b1b5d
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:314:9
  10:     0x55df17b6a476 - std::panicking::rust_panic_with_hook::hb0138cb6e6fea3e4
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:698:17
  11:     0x55df17b6a367 - std::panicking::begin_panic_handler::{{closure}}::h4cb67095557cd1aa
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:588:13
  12:     0x55df17b68ac4 - std::sys_common::backtrace::__rust_end_short_backtrace::h2bfcac279dcdc911
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:138:18
  13:     0x55df17b6a099 - rust_begin_unwind
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:584:5
  14:     0x55df17439143 - core::panicking::panic_fmt::h1de71520faaa17d3
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/panicking.rs:142:14
  15:     0x55df17439233 - core::result::unwrap_failed::hc0baa33ef8bc7db8
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/result.rs:1805:5
  16:     0x55df1758540a - librespot_playback::audio_backend::rodio::mk_rodio::h0f831316a4fcf29a
  17:     0x55df1744aeba - std::sys_common::backtrace::__rust_begin_short_backtrace::h69cc5e72c2cdeae9
  18:     0x55df1748b7d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hbba1ba2485a3d09a
  19:     0x55df17b6f393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1680342795a2dc08
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9
  20:     0x55df17b6f393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h45204a69827b0e83
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9
  21:     0x55df17b6f393 - std::sys::unix::thread::Thread::new::thread_start::h5d4e11bbda4161c8
                               at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys/unix/thread.rs:108:17
  22:     0x7fc24e56eea7 - start_thread
  23:     0x7fc24e352def - clone
  24:                0x0 - <unknown>
[2022-08-18T12:30:40Z INFO  librespot_connect::spirc] Resolved 50 tracks from <"spotify:playlist:<sanitised>">
        

Host (what you are running librespot on):
Tried on Debian Bullseye (snap and compiled) and KDE Neon (snap only)

Thank you.

Originally created by @ghost on GitHub (Aug 18, 2022). Original GitHub issue: https://github.com/librespot-org/librespot/issues/1047 **Describe the bug** `librespot` fails to output audio when using the default `rodio` backend **To reproduce** Install `librespot` either via snap (librespot-dev) or by compiling. The Spotify "sink" is detected by Spotify clients on the network. Clients can select the Spotify sink. When trying to play music, a bunch of errors are spat out on the server side. However if I enable the `alsa` backend when compiling and use that backend, things work just fine. I have tried to run as root and the same happens. **Log** ``` $ ./target/release/librespot -n nas --verbose [2022-08-18T12:30:30Z INFO librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release) [2022-08-18T12:30:30Z TRACE librespot] Command line argument(s): [2022-08-18T12:30:30Z TRACE librespot] n "nas" [2022-08-18T12:30:30Z TRACE librespot] verbose [2022-08-18T12:30:30Z DEBUG librespot_core::session] new Session [2022-08-18T12:30:30Z DEBUG librespot_discovery::server] Zeroconf server listening on 0.0.0.0:45269 [2022-08-18T12:30:30Z DEBUG librespot_discovery::server] Shutting down discovery server [2022-08-18T12:30:39Z DEBUG librespot_discovery::server] POST "/" {} [2022-08-18T12:30:39Z INFO librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0) [2022-08-18T12:30:39Z DEBUG librespot_connect::spirc] new Spirc[0] [2022-08-18T12:30:39Z DEBUG librespot::component] new MercuryManager [2022-08-18T12:30:39Z DEBUG librespot::component] new ApResolver [2022-08-18T12:30:39Z DEBUG librespot_core::http_client] Requesting https://apresolve.spotify.com/?type=accesspoint&type=dealer&type=spclient [2022-08-18T12:30:39Z DEBUG librespot_playback::player] new Player [0] [2022-08-18T12:30:39Z INFO librespot_playback::convert] Converting with ditherer: tpdf [2022-08-18T12:30:39Z INFO librespot_playback::audio_backend::rodio] Using Rodio sink with format S16 and cpal host: ALSA [2022-08-18T12:30:39Z INFO librespot_playback::audio_backend::rodio] Using audio device: default [2022-08-18T12:30:39Z INFO librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070" [2022-08-18T12:30:39Z INFO librespot_core::session] Authenticated as "<sanitised>" ! [2022-08-18T12:30:39Z DEBUG librespot_connect::spirc] canonical_username: <sanitised> [2022-08-18T12:30:39Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99% [2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=hm://remote/user/ [2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:update [2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:mutated [2022-08-18T12:30:39Z DEBUG librespot_core::mercury] listening to uri=hm://pusher/v1/connections/ [2022-08-18T12:30:39Z DEBUG librespot_core::session] Session strong=4 weak=3 [2022-08-18T12:30:39Z INFO librespot_core::session] Country: "FR" [2022-08-18T12:30:39Z TRACE librespot_core::session] Received product info: { (.................. bunch of json stuff .....................) [2022-08-18T12:30:40Z TRACE librespot_connect::spirc] Frame has 50 tracks [2022-08-18T12:30:40Z INFO librespot_connect::spirc] Fetching autoplay context uri [2022-08-18T12:30:40Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause] [2022-08-18T12:30:40Z INFO librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:playlist:<sanitised>"> thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: StreamError(BuildStreamError(BackendSpecific { err: BackendSpecificError { description: "ALSA function 'snd_pcm_sw_params' failed with error 'EINVAL: Invalid argument'" } }))', playback/src/audio_backend/rodio.rs :178:53 stack backtrace: 0: 0x55df17b6860d - std::backtrace_rs::backtrace::libunwind::trace::h8217d0a8f3fd2f41 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 1: 0x55df17b6860d - std::backtrace_rs::backtrace::trace_unsynchronized::h308103876b3af410 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x55df17b6860d - std::sys_common::backtrace::_print_fmt::hc208018c6153605e at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:66:5 3: 0x55df17b6860d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hf89a7ed694dfb585 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:45:22 4: 0x55df17b8ef1c - core::fmt::write::h21038c1382fe4264 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/fmt/mod.rs:1197:17 5: 0x55df17b62dc1 - std::io::Write::write_fmt::h7dbb1c9a3c254aef at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/io/mod.rs:1672:15 6: 0x55df17b69ee5 - std::sys_common::backtrace::_print::h4e8889719c9ddeb8 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:48:5 7: 0x55df17b69ee5 - std::sys_common::backtrace::print::h1506fe2cb3022667 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:35:9 8: 0x55df17b69ee5 - std::panicking::default_hook::{{closure}}::hd9d7ce2a8a782440 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:295:22 9: 0x55df17b69c06 - std::panicking::default_hook::h5b16ec25444b1b5d at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:314:9 10: 0x55df17b6a476 - std::panicking::rust_panic_with_hook::hb0138cb6e6fea3e4 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:698:17 11: 0x55df17b6a367 - std::panicking::begin_panic_handler::{{closure}}::h4cb67095557cd1aa at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:588:13 12: 0x55df17b68ac4 - std::sys_common::backtrace::__rust_end_short_backtrace::h2bfcac279dcdc911 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys_common/backtrace.rs:138:18 13: 0x55df17b6a099 - rust_begin_unwind at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/panicking.rs:584:5 14: 0x55df17439143 - core::panicking::panic_fmt::h1de71520faaa17d3 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/panicking.rs:142:14 15: 0x55df17439233 - core::result::unwrap_failed::hc0baa33ef8bc7db8 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/core/src/result.rs:1805:5 16: 0x55df1758540a - librespot_playback::audio_backend::rodio::mk_rodio::h0f831316a4fcf29a 17: 0x55df1744aeba - std::sys_common::backtrace::__rust_begin_short_backtrace::h69cc5e72c2cdeae9 18: 0x55df1748b7d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hbba1ba2485a3d09a 19: 0x55df17b6f393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h1680342795a2dc08 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9 20: 0x55df17b6f393 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h45204a69827b0e83 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/alloc/src/boxed.rs:1951:9 21: 0x55df17b6f393 - std::sys::unix::thread::Thread::new::thread_start::h5d4e11bbda4161c8 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library/std/src/sys/unix/thread.rs:108:17 22: 0x7fc24e56eea7 - start_thread 23: 0x7fc24e352def - clone 24: 0x0 - <unknown> [2022-08-18T12:30:40Z INFO librespot_connect::spirc] Resolved 50 tracks from <"spotify:playlist:<sanitised>"> ``` **Host (what you are running `librespot` on):** Tried on Debian Bullseye (snap and compiled) and KDE Neon (snap only) Thank you.
kerem 2026-02-27 19:30:58 +03:00
Author
Owner

@roderickvd commented on GitHub (Aug 18, 2022):

Are you sure your playback device is OK? What happens when you open this output device with the Alsa backend?

Can’t hurt not blowing up with that unwrap though.

<!-- gh-comment-id:1219649944 --> @roderickvd commented on GitHub (Aug 18, 2022): Are you sure your playback device is OK? What happens when you open this output device with the Alsa backend? Can’t hurt not blowing up with that `unwrap` though.
Author
Owner

@ghost commented on GitHub (Aug 18, 2022):

Things work like a charm with $ ./target/release/librespot -n nas --backend alsa. Do you need a log with the alsa backend?

<!-- gh-comment-id:1219787105 --> @ghost commented on GitHub (Aug 18, 2022): Things work like a charm with `$ ./target/release/librespot -n nas --backend alsa`. Do you need a log with the alsa backend?
Author
Owner

@roderickvd commented on GitHub (Aug 18, 2022):

Yes please.

<!-- gh-comment-id:1219899409 --> @roderickvd commented on GitHub (Aug 18, 2022): Yes please.
Author
Owner

@ghost commented on GitHub (Aug 18, 2022):

Here you go, I hope this helps:

$ ./target/release/librespot -n nas --backend alsa
[2022-08-18T20:28:37Z INFO  librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release)
[2022-08-18T20:30:26Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)
[2022-08-18T20:30:26Z INFO  librespot_playback::convert] Converting with ditherer: tpdf
[2022-08-18T20:30:26Z INFO  librespot_playback::audio_backend::alsa] Using AlsaSink with format: S16
[2022-08-18T20:30:26Z INFO  librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070"
[2022-08-18T20:30:26Z INFO  librespot_core::session] Authenticated as "<sanitised>" !
[2022-08-18T20:30:26Z INFO  librespot_core::session] Country: "FR"
[2022-08-18T20:30:27Z INFO  librespot_connect::spirc] Fetching autoplay context uri
[2022-08-18T20:30:27Z INFO  librespot_core::spclient] Resolved "gew1-spclient.spotify.com:443" as spclient access point
[2022-08-18T20:30:27Z INFO  librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:playlist:<sanitised>">
[2022-08-18T20:30:27Z INFO  librespot_playback::player] Loading <Stadium Arcadium> with Spotify URI <spotify:track:4y84ILALZSa4LyP6H7NVjR>
[2022-08-18T20:30:27Z INFO  librespot_playback::player] <Stadium Arcadium> (314773 ms) loaded
[2022-08-18T20:30:27Z INFO  librespot_connect::spirc] Resolved 50 tracks from <"spotify:playlist:<sanitised>">
[2022-08-18T20:30:31Z ERROR librespot_core::session] could not dispatch command: Service unavailable { error handling Mercury response: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[<a list of numbers>]] } }
<!-- gh-comment-id:1219932793 --> @ghost commented on GitHub (Aug 18, 2022): Here you go, I hope this helps: ``` $ ./target/release/librespot -n nas --backend alsa [2022-08-18T20:28:37Z INFO librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release) [2022-08-18T20:30:26Z INFO librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0) [2022-08-18T20:30:26Z INFO librespot_playback::convert] Converting with ditherer: tpdf [2022-08-18T20:30:26Z INFO librespot_playback::audio_backend::alsa] Using AlsaSink with format: S16 [2022-08-18T20:30:26Z INFO librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070" [2022-08-18T20:30:26Z INFO librespot_core::session] Authenticated as "<sanitised>" ! [2022-08-18T20:30:26Z INFO librespot_core::session] Country: "FR" [2022-08-18T20:30:27Z INFO librespot_connect::spirc] Fetching autoplay context uri [2022-08-18T20:30:27Z INFO librespot_core::spclient] Resolved "gew1-spclient.spotify.com:443" as spclient access point [2022-08-18T20:30:27Z INFO librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:playlist:<sanitised>"> [2022-08-18T20:30:27Z INFO librespot_playback::player] Loading <Stadium Arcadium> with Spotify URI <spotify:track:4y84ILALZSa4LyP6H7NVjR> [2022-08-18T20:30:27Z INFO librespot_playback::player] <Stadium Arcadium> (314773 ms) loaded [2022-08-18T20:30:27Z INFO librespot_connect::spirc] Resolved 50 tracks from <"spotify:playlist:<sanitised>"> [2022-08-18T20:30:31Z ERROR librespot_core::session] could not dispatch command: Service unavailable { error handling Mercury response: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[<a list of numbers>]] } } ```
Author
Owner

@roderickvd commented on GitHub (Aug 18, 2022):

Could you make it a verbose log so I can see the Alsa details?

<!-- gh-comment-id:1219992096 --> @roderickvd commented on GitHub (Aug 18, 2022): Could you make it a verbose log so I can see the Alsa details?
Author
Owner

@ghost commented on GitHub (Aug 18, 2022):

Apologies. Here you go:

$ ./target/release/librespot -n nas --backend alsa --verbose
[2022-08-18T22:36:04Z INFO  librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release)
[2022-08-18T22:36:04Z TRACE librespot] Command line argument(s):
[2022-08-18T22:36:04Z TRACE librespot]          n "nas"
[2022-08-18T22:36:04Z TRACE librespot]          backend "alsa"
[2022-08-18T22:36:04Z TRACE librespot]          verbose
[2022-08-18T22:36:04Z DEBUG librespot_core::session] new Session
[2022-08-18T22:36:04Z DEBUG librespot_discovery::server] Zeroconf server listening on 0.0.0.0:41129
[2022-08-18T22:36:04Z DEBUG librespot_discovery::server] Shutting down discovery server
[2022-08-18T22:36:11Z DEBUG librespot_discovery::server] POST "/" {}
[2022-08-18T22:36:11Z INFO  librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0)
[2022-08-18T22:36:11Z DEBUG librespot_connect::spirc] new Spirc[0]
[2022-08-18T22:36:11Z DEBUG librespot::component] new MercuryManager
[2022-08-18T22:36:11Z DEBUG librespot::component] new ApResolver
[2022-08-18T22:36:11Z DEBUG librespot_core::http_client] Requesting https://apresolve.spotify.com/?type=accesspoint&type=dealer&type=spclient
[2022-08-18T22:36:11Z DEBUG librespot_playback::player] new Player [0]
[2022-08-18T22:36:11Z INFO  librespot_playback::convert] Converting with ditherer: tpdf
[2022-08-18T22:36:11Z INFO  librespot_playback::audio_backend::alsa] Using AlsaSink with format: S16
[2022-08-18T22:36:11Z INFO  librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070"
[2022-08-18T22:36:11Z INFO  librespot_core::session] Authenticated as "<sanitised>" !
[2022-08-18T22:36:11Z DEBUG librespot_connect::spirc] canonical_username: <sanitised>
[2022-08-18T22:36:11Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99%
[2022-08-18T22:36:11Z DEBUG librespot_playback::player] command=AddEventSender
[2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=hm://remote/user/
[2022-08-18T22:36:11Z DEBUG librespot_playback::player] command=VolumeSet(58958)
[2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:update
[2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:mutated
[2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=hm://pusher/v1/connections/
[2022-08-18T22:36:11Z DEBUG librespot_core::session] Session strong=4 weak=3
[2022-08-18T22:36:11Z INFO  librespot_core::session] Country: "FR"
[2022-08-18T22:36:11Z TRACE librespot_core::session] Received product info: {
        <a lot of stuff>
    }
[2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received connection ID update: "xxxxxxxxxxxxxxxxxxxxx"
[2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received update frame: version: 1
    ident: "xxxxxxxxxxxxxx"
    protocol_version: "2.0.0"
    seq_nr: 857312733
    typ: kMessageTypeNotify
    device_state {
      sw_version: "1.1.84.716.gc5f8b819"
      is_active: false
      can_play: true
      volume: 65535
      name: "xxxxxxxxxxxxxxxx"
      capabilities {
        typ: kCanBePlayer
        intValue: 1
      }
      capabilities {
        typ: kRestrictToLocal
        intValue: 0
      }
      capabilities {
        typ: kGaiaEqConnectId
        intValue: 1
      }
      capabilities {
        typ: kSupportsLogout
        intValue: 1
      }
      capabilities {
        typ: kIsObservable
        intValue: 1
      }
      capabilities {
        typ: kCommandAcks
        intValue: 1
      }
      capabilities {
        typ: kSupportsRename
        intValue: 1
      }
      capabilities {
        typ: kHidden
        intValue: 0
      }
      capabilities {
        typ: kDeviceType
        intValue: 1
      }
      capabilities {
        typ: kVolumeSteps
        intValue: 64
      }
      capabilities {
        typ: kSupportsPlaylistV2
        intValue: 1
      }
      capabilities {
        typ: kSupportsExternalEpisodes
        intValue: 1
      }
      capabilities {
        typ: kSupportedTypes
        stringValue: "audio/ad"
        stringValue: "audio/episode"
        stringValue: "audio/episode+track"
        stringValue: "audio/interruption"
        stringValue: "audio/local"
        stringValue: "audio/track"
        stringValue: "video/ad"
        stringValue: "video/episode"
      }
      metadata {
        type: "device_address_mask"
        metadata: "192.168.1.51/24"
      }
      metadata {
        type: "debug_level"
        metadata: "1"
      }
      metadata {
        type: "tier1_port"
        metadata: "0"
      }
      metadata {
        type: "client_id"
        metadata: "xxxxxxxxxxxxx"
      }
      metadata {
        type: "brand_display_name"
        metadata: "spotify"
      }
      metadata {
        type: "model_display_name"
        metadata: "PC desktop"
      }
    }
    state_update_id: 1660862171864

[2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received update frame: version: 1
    ident: "xxxxxxxxxxxxxxxxxxxx"
    protocol_version: "2.0.0"
    seq_nr: 857312733
    typ: kMessageTypeNotify
    device_state {
      sw_version: "1.1.84.716.gc5f8b819"
      is_active: false
      can_play: true
      volume: 65535
      name: "xxxxxxxxxxxxxx"
      capabilities {
        typ: kCanBePlayer
        intValue: 1
      }
      capabilities {
        typ: kRestrictToLocal
        intValue: 0
      }
      capabilities {
        typ: kGaiaEqConnectId
        intValue: 1
      }
      capabilities {
        typ: kSupportsLogout
        intValue: 1
      }
      capabilities {
        typ: kIsObservable
        intValue: 1
      }
      capabilities {
        typ: kCommandAcks
        intValue: 1
      }
      capabilities {
        typ: kSupportsRename
        intValue: 1
      }
      capabilities {
        typ: kHidden
        intValue: 0
      }
      capabilities {
        typ: kDeviceType
        intValue: 1
      }
      capabilities {
        typ: kVolumeSteps
        intValue: 64
      }
      capabilities {
        typ: kSupportsPlaylistV2
        intValue: 1
      }
      capabilities {
        typ: kSupportsExternalEpisodes
        intValue: 1
      }
      capabilities {
        typ: kSupportedTypes
        stringValue: "audio/ad"
        stringValue: "audio/episode"
        stringValue: "audio/episode+track"
        stringValue: "audio/interruption"
        stringValue: "audio/local"
        stringValue: "audio/track"
        stringValue: "video/ad"
        stringValue: "video/episode"
      }
      metadata {
        type: "tier1_port"
        metadata: "0"
      }
      metadata {
        type: "debug_level"
        metadata: "1"
      }
      metadata {
        type: "device_address_mask"
        metadata: "192.168.1.99/24"
      }
      metadata {
        type: "client_id"
        metadata: "xxxxxxxxxxxxxxxxxxxx"
      }
      metadata {
        type: "brand_display_name"
        metadata: "spotify"
      }
      metadata {
        type: "model_display_name"
        metadata: "PC desktop"
      }
    }
    state_update_id: 1660862171864

[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Received update frame: version: 1
    ident: "xxxxxxxxxxxxx"
    protocol_version: "2.0.0"
    seq_nr: 857312839
    typ: kMessageTypeLoad
    device_state {
      sw_version: "1.1.84.716.gc5f8b819"
      is_active: false
      can_play: true
      volume: 65535
      name: "xxxxxxxxxxxx"
      capabilities {
        typ: kCanBePlayer
        intValue: 1
      }
      capabilities {
        typ: kRestrictToLocal
        intValue: 0
      }
      capabilities {
        typ: kGaiaEqConnectId
        intValue: 1
      }
      capabilities {
        typ: kSupportsLogout
        intValue: 1
      }
      capabilities {
        typ: kIsObservable
        intValue: 1
      }
      capabilities {
        typ: kCommandAcks
        intValue: 1
      }
      capabilities {
        typ: kSupportsRename
        intValue: 1
      }
      capabilities {
        typ: kHidden
        intValue: 0
      }
      capabilities {
        typ: kDeviceType
        intValue: 1
      }
      capabilities {
        typ: kVolumeSteps
        intValue: 64
      }
      capabilities {
        typ: kSupportsPlaylistV2
        intValue: 1
      }
      capabilities {
        typ: kSupportsExternalEpisodes
        intValue: 1
      }
      capabilities {
        typ: kSupportedTypes
        stringValue: "audio/ad"
        stringValue: "audio/episode"
        stringValue: "audio/episode+track"
        stringValue: "audio/interruption"
        stringValue: "audio/local"
        stringValue: "audio/track"
        stringValue: "video/ad"
        stringValue: "video/episode"
      }
      metadata {
        type: "device_address_mask"
        metadata: "192.168.1.51/24"
      }
      metadata {
        type: "debug_level"
        metadata: "1"
      }
      metadata {
        type: "tier1_port"
        metadata: "0"
      }
      metadata {
        type: "client_id"
        metadata: "xxxxxxxxxxxx"
      }
      metadata {
        type: "brand_display_name"
        metadata: "spotify"
      }
      metadata {
        type: "model_display_name"
        metadata: "PC desktop"
      }
    }
    state {
      context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ"
      index: 10
      position_ms: 8
      status: kPlayStatusPause
      position_measured_at: 1660862172016
      context_description: ""
      shuffle: false
      repeat: false
      playing_from_fallback: true
      row: 0
      playing_track_index: 10
xxxxxxxxxxxxxxxxxx

[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] State: context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ"
    index: 10
    position_ms: 8
    status: kPlayStatusPause
xxxxxxxxxxxxx
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Frame has 22 tracks
[2022-08-18T22:36:12Z INFO  librespot_connect::spirc] Fetching autoplay context uri
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause]
[2022-08-18T22:36:12Z DEBUG librespot_playback::player] command=SetAutoNormaliseAsAlbum(true)
[2022-08-18T22:36:12Z DEBUG librespot_playback::player] command=Load(SpotifyId("spotify:track:4vHmY3cg7PWCPE0buO3G6t"), false, 8)
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] ==> kPlayStatusLoading
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusLoading]
[2022-08-18T22:36:12Z DEBUG librespot::component] new SpClient
[2022-08-18T22:36:12Z INFO  librespot_core::spclient] Resolved "gew1-spclient.spotify.com:443" as spclient access point
[2022-08-18T22:36:12Z DEBUG librespot::component] new TokenProvider
[2022-08-18T22:36:12Z TRACE librespot_core::token] Requested token in scopes "playlist-read" unavailable or expired, requesting new token.
[2022-08-18T22:36:12Z INFO  librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:album:7xl50xr9NDkd3i2kBbzsNZ">
[2022-08-18T22:36:12Z TRACE librespot_core::token] Got token: Token {
xxxxxxxxxxxxxxxxxxxxxxxxxxx
[2022-08-18T22:36:12Z TRACE librespot_core::spclient] Client token unavailable or expired, requesting new token.
[2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://clienttoken.spotify.com/v1/clienttoken
[2022-08-18T22:36:12Z TRACE librespot_core::spclient] Got client token: Token { access_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ tv_sec: 37094, tv_nsec: 594607343 } }
[2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://gew1-spclient.spotify.com:443/metadata/4/track/9439fffef62142158e9f85d0930eb541?product=0
[2022-08-18T22:36:12Z TRACE librespot_metadata] Received metadata: gid: "\2249\377\376\366!B\025\216\237\205\320\223\016\265A"
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
[2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <c7c775437fcdaa47b360ee5ff4c95e09df711d2b> with unspecified format
[2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <a90051faa6987a1f23a0e3b55f48ffbeb52402e6> with unspecified format
[2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <14639740364c15d0b8662554d074250feb80ffa2> with unspecified format
[2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <2333a7060eac6a6b9d5226090d8da6771db904d9> with unspecified format
[2022-08-18T22:36:12Z INFO  librespot_playback::player] Loading <21st Century> with Spotify URI <spotify:track:4vHmY3cg7PWCPE0buO3G6t>
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch] Downloading file a5700b90daf2466fe08654121fdea37bcdc72ef5
[2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://gew1-spclient.spotify.com:443/storage-resolve/files/audio/interactive/a5700b90daf2466fe08654121fdea37bcdc72ef5?product=0
[2022-08-18T22:36:12Z TRACE librespot_core::cdn_url] Resolved CDN storage: CdnUrl {
xxxxxxxxxxxxxxxxxxxxxxxxxxx
[2022-08-18T22:36:12Z TRACE librespot_audio::fetch] Streaming from https://audio-fa.scdn.co/audio/a5700b90daf2466fe08654121fdea37bcdc72ef5?1660948572_Rqf6GLqRB27a6SMgRHP_-0wlO3g8OM3sNF6pPZzMBQE=
[2022-08-18T22:36:12Z DEBUG librespot::component] new AudioKeyManager
[2022-08-18T22:36:12Z DEBUG librespot::component] new ChannelManager
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 85 ms
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 62 ms
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 39 ms
[2022-08-18T22:36:12Z INFO  librespot_connect::spirc] Resolved 50 tracks from <"spotify:album:7xl50xr9NDkd3i2kBbzsNZ">
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 26 ms
[2022-08-18T22:36:12Z INFO  librespot_playback::player] <21st Century> (262333 ms) loaded
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] ==> kPlayStatusPause
[2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause]
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 22 ms
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 18 ms
[2022-08-18T22:36:12Z DEBUG librespot_core::mercury] unknown subscription uri=social-connect/v2/session_update
[2022-08-18T22:36:12Z TRACE librespot_core::mercury] response pushed over Mercury: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[123, 34, 115, 101, 115, 115, 105, 111, 110, 34, 58, 123, 34, 116, 105, 109, 101, 115, 116, 97, 109, 112, 34, 58,
xxxxxxxxxxxxxxxxxxxxxxxxxxx
[2022-08-18T22:36:12Z ERROR librespot_core::session] could not dispatch command: Service unavailable { error handling Mercury response: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[123, 34, 115, 101, 115, 115, 105, 111, 110, 34, 58, 123, 34,
xxxxxxxxxxxxxx
[2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 22 ms
[2022-08-18T22:36:13Z DEBUG librespot_audio::fetch] Downloading file a5700b90daf2466fe08654121fdea37bcdc72ef5 complete
[2022-08-18T22:36:14Z TRACE librespot_connect::spirc] Received update frame: version: 1
    ident: "xzxxxxxxxxxxxxxxxxxx"
    protocol_version: "2.0.0"
    seq_nr: 857315801
    typ: kMessageTypePlay
    device_state {
      sw_version: "1.1.84.716.gc5f8b819"
      is_active: false
      can_play: true
      volume: 65535
      name: "xxxxxxxxxxxx"
      capabilities {
        typ: kCanBePlayer
        intValue: 1
      }
      capabilities {
        typ: kRestrictToLocal
        intValue: 0
      }
      capabilities {
        typ: kGaiaEqConnectId
        intValue: 1
      }
      capabilities {
        typ: kSupportsLogout
        intValue: 1
      }
      capabilities {
        typ: kIsObservable
        intValue: 1
      }
      capabilities {
        typ: kCommandAcks
        intValue: 1
      }
      capabilities {
        typ: kSupportsRename
        intValue: 1
      }
      capabilities {
        typ: kHidden
        intValue: 0
      }
      capabilities {
        typ: kDeviceType
        intValue: 1
      }
      capabilities {
        typ: kVolumeSteps
        intValue: 64
      }
      capabilities {
        typ: kSupportsPlaylistV2
        intValue: 1
      }
      capabilities {
        typ: kSupportsExternalEpisodes
        intValue: 1
      }
      capabilities {
        typ: kSupportedTypes
        stringValue: "audio/ad"
        stringValue: "audio/episode"
        stringValue: "audio/episode+track"
        stringValue: "audio/interruption"
        stringValue: "audio/local"
        stringValue: "audio/track"
        stringValue: "video/ad"
        stringValue: "video/episode"
      }
      metadata {
        type: "device_address_mask"
        metadata: "192.168.1.51/24"
      }
      metadata {
        type: "debug_level"
        metadata: "1"
      }
      metadata {
        type: "tier1_port"
        metadata: "0"
      }
      metadata {
        type: "client_id"
        metadata: "xxxxxxxxxxxxxxxxxxxx"
      }
      metadata {
        type: "brand_display_name"
        metadata: "spotify"
      }
      metadata {
        type: "model_display_name"
        metadata: "PC desktop"
      }
    }
    state {
      context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ"
      index: 10
      position_ms: 0
      status: kPlayStatusPause
      position_measured_at: 1660862172573
      context_description: ""
      shuffle: false
      repeat: false
      playing_from_fallback: true
      row: 0
      playing_track_index: 10
      track {
          <stuff>
[2022-08-18T22:36:14Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99%
[2022-08-18T22:36:14Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPlay]
[2022-08-18T22:36:14Z DEBUG librespot_playback::player] command=Play
[2022-08-18T22:36:14Z TRACE librespot_playback::player] == Starting sink ==
[2022-08-18T22:36:14Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Desired Frames per Buffer: 15052
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] No Desired Period size in range reported by the device.
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Buffer size: 15052
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 1505 (Buffer size / 10) - 3763 (Buffer size / 4)
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Period Frame range as reported by the device: 940 - 941
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Failed to set Buffer and/or Period size, falling back to the device's defaults.
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] You may experience higher than normal CPU usage and/or audio issues.
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Frames per Buffer: 15052
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Frames per Period: 940
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 3760
[2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 3760
[2022-08-18T22:36:14Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay
[2022-08-18T22:36:14Z DEBUG librespot_playback::player] command=VolumeSet(58958)
[2022-08-18T22:36:17Z TRACE librespot_connect::spirc] Received update frame: version: 1
    ident: "0863d1ff7374fc4e8501c593024b55991c354317"
    protocol_version: "2.0.0"
    seq_nr: 857318754
    typ: kMessageTypePause
    device_state {
      sw_version: "1.1.84.716.gc5f8b819"
      is_active: false
      can_play: true
      volume: 65535
      name: "xxxxxxxxxxxx"
      capabilities {
        typ: kCanBePlayer
        intValue: 1
      }
      capabilities {
        typ: kRestrictToLocal
        intValue: 0
      }
      capabilities {
        typ: kGaiaEqConnectId
        intValue: 1
      }
      capabilities {
        typ: kSupportsLogout
        intValue: 1
      }
      capabilities {
        typ: kIsObservable
        intValue: 1
      }
      capabilities {
        typ: kCommandAcks
        intValue: 1
      }
      capabilities {
        typ: kSupportsRename
        intValue: 1
      }
      capabilities {
        typ: kHidden
        intValue: 0
      }
      capabilities {
        typ: kDeviceType
        intValue: 1
      }
      capabilities {
        typ: kVolumeSteps
        intValue: 64
      }
      capabilities {
        typ: kSupportsPlaylistV2
        intValue: 1
      }
      capabilities {
        typ: kSupportsExternalEpisodes
        intValue: 1
      }
      capabilities {
        typ: kSupportedTypes
        stringValue: "audio/ad"
        stringValue: "audio/episode"
        stringValue: "audio/episode+track"
        stringValue: "audio/interruption"
        stringValue: "audio/local"
        stringValue: "audio/track"
        stringValue: "video/ad"
        stringValue: "video/episode"
      }
      metadata {
        type: "device_address_mask"
        metadata: "192.168.1.51/24"
      }
      metadata {
        type: "debug_level"
        metadata: "1"
      }
      metadata {
        type: "tier1_port"
        metadata: "0"
      }
      metadata {
        type: "client_id"
        metadata: "xxxxxxxxxxxxxxx"
      }
      metadata {
        type: "brand_display_name"
        metadata: "spotify"
      }
      metadata {
        type: "model_display_name"
        metadata: "PC desktop"
      }
    }
    state {
      context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ"
      index: 10
      position_ms: 8
      status: kPlayStatusPlay
      position_measured_at: 1660862174956
      context_description: ""
      shuffle: false
      repeat: false
      playing_from_fallback: true
      row: 0
      playing_track_index: 10
      track {
xxxxxxxxxxxxxxxxxxxxxxxxxxx
    state_update_id: 1660862174962
    recipient: "xxxxxxxxxxxxxxxxxxxxx"

[2022-08-18T22:36:17Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause]
[2022-08-18T22:36:17Z DEBUG librespot_playback::player] command=Pause
[2022-08-18T22:36:17Z TRACE librespot_playback::player] == Stopping sink ==
[2022-08-18T22:36:18Z TRACE librespot_connect::spirc] ==> kPlayStatusPause
[2022-08-18T22:36:18Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause]
^C[2022-08-18T22:36:21Z INFO  librespot] Gracefully shutting down
[2022-08-18T22:36:21Z DEBUG librespot_playback::player] command=Stop
[2022-08-18T22:36:21Z DEBUG librespot_connect::spirc] drop Spirc[0]
[2022-08-18T22:36:21Z DEBUG librespot_playback::player] Shutting down player thread ...
[2022-08-18T22:36:21Z DEBUG librespot_playback::player] drop PlayerInternal[0]
[2022-08-18T22:36:21Z DEBUG librespot_playback::player] PlayerInternal thread finished.
[2022-08-18T22:36:21Z DEBUG librespot_core::session] drop Session
[2022-08-18T22:36:21Z DEBUG librespot::component] drop ApResolver
[2022-08-18T22:36:21Z DEBUG librespot::component] drop AudioKeyManager
[2022-08-18T22:36:21Z DEBUG librespot::component] drop ChannelManager
[2022-08-18T22:36:21Z DEBUG librespot::component] drop MercuryManager
[2022-08-18T22:36:21Z DEBUG librespot::component] drop SpClient
[2022-08-18T22:36:21Z DEBUG librespot::component] drop TokenProvider
[2022-08-18T22:36:21Z DEBUG librespot_core::session] drop Dispatch

$

<!-- gh-comment-id:1220058847 --> @ghost commented on GitHub (Aug 18, 2022): Apologies. Here you go: ``` $ ./target/release/librespot -n nas --backend alsa --verbose [2022-08-18T22:36:04Z INFO librespot] librespot 0.5.0-dev 27e1274 (Built on 2022-08-18, Build ID: XDWmLZ6m, Profile: release) [2022-08-18T22:36:04Z TRACE librespot] Command line argument(s): [2022-08-18T22:36:04Z TRACE librespot] n "nas" [2022-08-18T22:36:04Z TRACE librespot] backend "alsa" [2022-08-18T22:36:04Z TRACE librespot] verbose [2022-08-18T22:36:04Z DEBUG librespot_core::session] new Session [2022-08-18T22:36:04Z DEBUG librespot_discovery::server] Zeroconf server listening on 0.0.0.0:41129 [2022-08-18T22:36:04Z DEBUG librespot_discovery::server] Shutting down discovery server [2022-08-18T22:36:11Z DEBUG librespot_discovery::server] POST "/" {} [2022-08-18T22:36:11Z INFO librespot_playback::mixer::softmixer] Mixing with softvol and volume control: Log(60.0) [2022-08-18T22:36:11Z DEBUG librespot_connect::spirc] new Spirc[0] [2022-08-18T22:36:11Z DEBUG librespot::component] new MercuryManager [2022-08-18T22:36:11Z DEBUG librespot::component] new ApResolver [2022-08-18T22:36:11Z DEBUG librespot_core::http_client] Requesting https://apresolve.spotify.com/?type=accesspoint&type=dealer&type=spclient [2022-08-18T22:36:11Z DEBUG librespot_playback::player] new Player [0] [2022-08-18T22:36:11Z INFO librespot_playback::convert] Converting with ditherer: tpdf [2022-08-18T22:36:11Z INFO librespot_playback::audio_backend::alsa] Using AlsaSink with format: S16 [2022-08-18T22:36:11Z INFO librespot_core::session] Connecting to AP "ap-gew1.spotify.com:4070" [2022-08-18T22:36:11Z INFO librespot_core::session] Authenticated as "<sanitised>" ! [2022-08-18T22:36:11Z DEBUG librespot_connect::spirc] canonical_username: <sanitised> [2022-08-18T22:36:11Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99% [2022-08-18T22:36:11Z DEBUG librespot_playback::player] command=AddEventSender [2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=hm://remote/user/ [2022-08-18T22:36:11Z DEBUG librespot_playback::player] command=VolumeSet(58958) [2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:update [2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=spotify:user:attributes:mutated [2022-08-18T22:36:11Z DEBUG librespot_core::mercury] listening to uri=hm://pusher/v1/connections/ [2022-08-18T22:36:11Z DEBUG librespot_core::session] Session strong=4 weak=3 [2022-08-18T22:36:11Z INFO librespot_core::session] Country: "FR" [2022-08-18T22:36:11Z TRACE librespot_core::session] Received product info: { <a lot of stuff> } [2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received connection ID update: "xxxxxxxxxxxxxxxxxxxxx" [2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received update frame: version: 1 ident: "xxxxxxxxxxxxxx" protocol_version: "2.0.0" seq_nr: 857312733 typ: kMessageTypeNotify device_state { sw_version: "1.1.84.716.gc5f8b819" is_active: false can_play: true volume: 65535 name: "xxxxxxxxxxxxxxxx" capabilities { typ: kCanBePlayer intValue: 1 } capabilities { typ: kRestrictToLocal intValue: 0 } capabilities { typ: kGaiaEqConnectId intValue: 1 } capabilities { typ: kSupportsLogout intValue: 1 } capabilities { typ: kIsObservable intValue: 1 } capabilities { typ: kCommandAcks intValue: 1 } capabilities { typ: kSupportsRename intValue: 1 } capabilities { typ: kHidden intValue: 0 } capabilities { typ: kDeviceType intValue: 1 } capabilities { typ: kVolumeSteps intValue: 64 } capabilities { typ: kSupportsPlaylistV2 intValue: 1 } capabilities { typ: kSupportsExternalEpisodes intValue: 1 } capabilities { typ: kSupportedTypes stringValue: "audio/ad" stringValue: "audio/episode" stringValue: "audio/episode+track" stringValue: "audio/interruption" stringValue: "audio/local" stringValue: "audio/track" stringValue: "video/ad" stringValue: "video/episode" } metadata { type: "device_address_mask" metadata: "192.168.1.51/24" } metadata { type: "debug_level" metadata: "1" } metadata { type: "tier1_port" metadata: "0" } metadata { type: "client_id" metadata: "xxxxxxxxxxxxx" } metadata { type: "brand_display_name" metadata: "spotify" } metadata { type: "model_display_name" metadata: "PC desktop" } } state_update_id: 1660862171864 [2022-08-18T22:36:11Z TRACE librespot_connect::spirc] Received update frame: version: 1 ident: "xxxxxxxxxxxxxxxxxxxx" protocol_version: "2.0.0" seq_nr: 857312733 typ: kMessageTypeNotify device_state { sw_version: "1.1.84.716.gc5f8b819" is_active: false can_play: true volume: 65535 name: "xxxxxxxxxxxxxx" capabilities { typ: kCanBePlayer intValue: 1 } capabilities { typ: kRestrictToLocal intValue: 0 } capabilities { typ: kGaiaEqConnectId intValue: 1 } capabilities { typ: kSupportsLogout intValue: 1 } capabilities { typ: kIsObservable intValue: 1 } capabilities { typ: kCommandAcks intValue: 1 } capabilities { typ: kSupportsRename intValue: 1 } capabilities { typ: kHidden intValue: 0 } capabilities { typ: kDeviceType intValue: 1 } capabilities { typ: kVolumeSteps intValue: 64 } capabilities { typ: kSupportsPlaylistV2 intValue: 1 } capabilities { typ: kSupportsExternalEpisodes intValue: 1 } capabilities { typ: kSupportedTypes stringValue: "audio/ad" stringValue: "audio/episode" stringValue: "audio/episode+track" stringValue: "audio/interruption" stringValue: "audio/local" stringValue: "audio/track" stringValue: "video/ad" stringValue: "video/episode" } metadata { type: "tier1_port" metadata: "0" } metadata { type: "debug_level" metadata: "1" } metadata { type: "device_address_mask" metadata: "192.168.1.99/24" } metadata { type: "client_id" metadata: "xxxxxxxxxxxxxxxxxxxx" } metadata { type: "brand_display_name" metadata: "spotify" } metadata { type: "model_display_name" metadata: "PC desktop" } } state_update_id: 1660862171864 [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Received update frame: version: 1 ident: "xxxxxxxxxxxxx" protocol_version: "2.0.0" seq_nr: 857312839 typ: kMessageTypeLoad device_state { sw_version: "1.1.84.716.gc5f8b819" is_active: false can_play: true volume: 65535 name: "xxxxxxxxxxxx" capabilities { typ: kCanBePlayer intValue: 1 } capabilities { typ: kRestrictToLocal intValue: 0 } capabilities { typ: kGaiaEqConnectId intValue: 1 } capabilities { typ: kSupportsLogout intValue: 1 } capabilities { typ: kIsObservable intValue: 1 } capabilities { typ: kCommandAcks intValue: 1 } capabilities { typ: kSupportsRename intValue: 1 } capabilities { typ: kHidden intValue: 0 } capabilities { typ: kDeviceType intValue: 1 } capabilities { typ: kVolumeSteps intValue: 64 } capabilities { typ: kSupportsPlaylistV2 intValue: 1 } capabilities { typ: kSupportsExternalEpisodes intValue: 1 } capabilities { typ: kSupportedTypes stringValue: "audio/ad" stringValue: "audio/episode" stringValue: "audio/episode+track" stringValue: "audio/interruption" stringValue: "audio/local" stringValue: "audio/track" stringValue: "video/ad" stringValue: "video/episode" } metadata { type: "device_address_mask" metadata: "192.168.1.51/24" } metadata { type: "debug_level" metadata: "1" } metadata { type: "tier1_port" metadata: "0" } metadata { type: "client_id" metadata: "xxxxxxxxxxxx" } metadata { type: "brand_display_name" metadata: "spotify" } metadata { type: "model_display_name" metadata: "PC desktop" } } state { context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ" index: 10 position_ms: 8 status: kPlayStatusPause position_measured_at: 1660862172016 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 10 xxxxxxxxxxxxxxxxxx [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] State: context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ" index: 10 position_ms: 8 status: kPlayStatusPause xxxxxxxxxxxxx [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Frame has 22 tracks [2022-08-18T22:36:12Z INFO librespot_connect::spirc] Fetching autoplay context uri [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause] [2022-08-18T22:36:12Z DEBUG librespot_playback::player] command=SetAutoNormaliseAsAlbum(true) [2022-08-18T22:36:12Z DEBUG librespot_playback::player] command=Load(SpotifyId("spotify:track:4vHmY3cg7PWCPE0buO3G6t"), false, 8) [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] ==> kPlayStatusLoading [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusLoading] [2022-08-18T22:36:12Z DEBUG librespot::component] new SpClient [2022-08-18T22:36:12Z INFO librespot_core::spclient] Resolved "gew1-spclient.spotify.com:443" as spclient access point [2022-08-18T22:36:12Z DEBUG librespot::component] new TokenProvider [2022-08-18T22:36:12Z TRACE librespot_core::token] Requested token in scopes "playlist-read" unavailable or expired, requesting new token. [2022-08-18T22:36:12Z INFO librespot_connect::spirc] Autoplay uri resolved to <"spotify:station:album:7xl50xr9NDkd3i2kBbzsNZ"> [2022-08-18T22:36:12Z TRACE librespot_core::token] Got token: Token { xxxxxxxxxxxxxxxxxxxxxxxxxxx [2022-08-18T22:36:12Z TRACE librespot_core::spclient] Client token unavailable or expired, requesting new token. [2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://clienttoken.spotify.com/v1/clienttoken [2022-08-18T22:36:12Z TRACE librespot_core::spclient] Got client token: Token { access_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxx { tv_sec: 37094, tv_nsec: 594607343 } } [2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://gew1-spclient.spotify.com:443/metadata/4/track/9439fffef62142158e9f85d0930eb541?product=0 [2022-08-18T22:36:12Z TRACE librespot_metadata] Received metadata: gid: "\2249\377\376\366!B\025\216\237\205\320\223\016\265A" xxxxxxxxxxxxxxxxxxxxxxxxxxxx [2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <c7c775437fcdaa47b360ee5ff4c95e09df711d2b> with unspecified format [2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <a90051faa6987a1f23a0e3b55f48ffbeb52402e6> with unspecified format [2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <14639740364c15d0b8662554d074250feb80ffa2> with unspecified format [2022-08-18T22:36:12Z TRACE librespot_metadata::audio::file] Ignoring file <2333a7060eac6a6b9d5226090d8da6771db904d9> with unspecified format [2022-08-18T22:36:12Z INFO librespot_playback::player] Loading <21st Century> with Spotify URI <spotify:track:4vHmY3cg7PWCPE0buO3G6t> [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch] Downloading file a5700b90daf2466fe08654121fdea37bcdc72ef5 [2022-08-18T22:36:12Z DEBUG librespot_core::http_client] Requesting https://gew1-spclient.spotify.com:443/storage-resolve/files/audio/interactive/a5700b90daf2466fe08654121fdea37bcdc72ef5?product=0 [2022-08-18T22:36:12Z TRACE librespot_core::cdn_url] Resolved CDN storage: CdnUrl { xxxxxxxxxxxxxxxxxxxxxxxxxxx [2022-08-18T22:36:12Z TRACE librespot_audio::fetch] Streaming from https://audio-fa.scdn.co/audio/a5700b90daf2466fe08654121fdea37bcdc72ef5?1660948572_Rqf6GLqRB27a6SMgRHP_-0wlO3g8OM3sNF6pPZzMBQE= [2022-08-18T22:36:12Z DEBUG librespot::component] new AudioKeyManager [2022-08-18T22:36:12Z DEBUG librespot::component] new ChannelManager [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 85 ms [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 62 ms [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 39 ms [2022-08-18T22:36:12Z INFO librespot_connect::spirc] Resolved 50 tracks from <"spotify:album:7xl50xr9NDkd3i2kBbzsNZ"> [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 26 ms [2022-08-18T22:36:12Z INFO librespot_playback::player] <21st Century> (262333 ms) loaded [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] ==> kPlayStatusPause [2022-08-18T22:36:12Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause] [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 22 ms [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 18 ms [2022-08-18T22:36:12Z DEBUG librespot_core::mercury] unknown subscription uri=social-connect/v2/session_update [2022-08-18T22:36:12Z TRACE librespot_core::mercury] response pushed over Mercury: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[123, 34, 115, 101, 115, 115, 105, 111, 110, 34, 58, 123, 34, 116, 105, 109, 101, 115, 116, 97, 109, 112, 34, 58, xxxxxxxxxxxxxxxxxxxxxxxxxxx [2022-08-18T22:36:12Z ERROR librespot_core::session] could not dispatch command: Service unavailable { error handling Mercury response: MercuryResponse { uri: "social-connect/v2/session_update", status_code: 200, payload: [[123, 34, 115, 101, 115, 115, 105, 111, 110, 34, 58, 123, 34, xxxxxxxxxxxxxx [2022-08-18T22:36:12Z DEBUG librespot_audio::fetch::receive] Ping time now estimated as: 22 ms [2022-08-18T22:36:13Z DEBUG librespot_audio::fetch] Downloading file a5700b90daf2466fe08654121fdea37bcdc72ef5 complete [2022-08-18T22:36:14Z TRACE librespot_connect::spirc] Received update frame: version: 1 ident: "xzxxxxxxxxxxxxxxxxxx" protocol_version: "2.0.0" seq_nr: 857315801 typ: kMessageTypePlay device_state { sw_version: "1.1.84.716.gc5f8b819" is_active: false can_play: true volume: 65535 name: "xxxxxxxxxxxx" capabilities { typ: kCanBePlayer intValue: 1 } capabilities { typ: kRestrictToLocal intValue: 0 } capabilities { typ: kGaiaEqConnectId intValue: 1 } capabilities { typ: kSupportsLogout intValue: 1 } capabilities { typ: kIsObservable intValue: 1 } capabilities { typ: kCommandAcks intValue: 1 } capabilities { typ: kSupportsRename intValue: 1 } capabilities { typ: kHidden intValue: 0 } capabilities { typ: kDeviceType intValue: 1 } capabilities { typ: kVolumeSteps intValue: 64 } capabilities { typ: kSupportsPlaylistV2 intValue: 1 } capabilities { typ: kSupportsExternalEpisodes intValue: 1 } capabilities { typ: kSupportedTypes stringValue: "audio/ad" stringValue: "audio/episode" stringValue: "audio/episode+track" stringValue: "audio/interruption" stringValue: "audio/local" stringValue: "audio/track" stringValue: "video/ad" stringValue: "video/episode" } metadata { type: "device_address_mask" metadata: "192.168.1.51/24" } metadata { type: "debug_level" metadata: "1" } metadata { type: "tier1_port" metadata: "0" } metadata { type: "client_id" metadata: "xxxxxxxxxxxxxxxxxxxx" } metadata { type: "brand_display_name" metadata: "spotify" } metadata { type: "model_display_name" metadata: "PC desktop" } } state { context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ" index: 10 position_ms: 0 status: kPlayStatusPause position_measured_at: 1660862172573 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 10 track { <stuff> [2022-08-18T22:36:14Z DEBUG librespot_playback::mixer::mappings] Input volume 58958 mapped to: 49.99% [2022-08-18T22:36:14Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPlay] [2022-08-18T22:36:14Z DEBUG librespot_playback::player] command=Play [2022-08-18T22:36:14Z TRACE librespot_playback::player] == Starting sink == [2022-08-18T22:36:14Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Desired Frames per Buffer: 15052 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] No Desired Period size in range reported by the device. [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Buffer size: 15052 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Desired Period Frame range: 1505 (Buffer size / 10) - 3763 (Buffer size / 4) [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Period Frame range as reported by the device: 940 - 941 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Failed to set Buffer and/or Period size, falling back to the device's defaults. [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] You may experience higher than normal CPU usage and/or audio issues. [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Frames per Buffer: 15052 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Actual Frames per Period: 940 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Period Buffer size in bytes: 3760 [2022-08-18T22:36:14Z TRACE librespot_playback::audio_backend::alsa] Period Buffer capacity: 3760 [2022-08-18T22:36:14Z TRACE librespot_connect::spirc] ==> kPlayStatusPlay [2022-08-18T22:36:14Z DEBUG librespot_playback::player] command=VolumeSet(58958) [2022-08-18T22:36:17Z TRACE librespot_connect::spirc] Received update frame: version: 1 ident: "0863d1ff7374fc4e8501c593024b55991c354317" protocol_version: "2.0.0" seq_nr: 857318754 typ: kMessageTypePause device_state { sw_version: "1.1.84.716.gc5f8b819" is_active: false can_play: true volume: 65535 name: "xxxxxxxxxxxx" capabilities { typ: kCanBePlayer intValue: 1 } capabilities { typ: kRestrictToLocal intValue: 0 } capabilities { typ: kGaiaEqConnectId intValue: 1 } capabilities { typ: kSupportsLogout intValue: 1 } capabilities { typ: kIsObservable intValue: 1 } capabilities { typ: kCommandAcks intValue: 1 } capabilities { typ: kSupportsRename intValue: 1 } capabilities { typ: kHidden intValue: 0 } capabilities { typ: kDeviceType intValue: 1 } capabilities { typ: kVolumeSteps intValue: 64 } capabilities { typ: kSupportsPlaylistV2 intValue: 1 } capabilities { typ: kSupportsExternalEpisodes intValue: 1 } capabilities { typ: kSupportedTypes stringValue: "audio/ad" stringValue: "audio/episode" stringValue: "audio/episode+track" stringValue: "audio/interruption" stringValue: "audio/local" stringValue: "audio/track" stringValue: "video/ad" stringValue: "video/episode" } metadata { type: "device_address_mask" metadata: "192.168.1.51/24" } metadata { type: "debug_level" metadata: "1" } metadata { type: "tier1_port" metadata: "0" } metadata { type: "client_id" metadata: "xxxxxxxxxxxxxxx" } metadata { type: "brand_display_name" metadata: "spotify" } metadata { type: "model_display_name" metadata: "PC desktop" } } state { context_uri: "spotify:album:7xl50xr9NDkd3i2kBbzsNZ" index: 10 position_ms: 8 status: kPlayStatusPlay position_measured_at: 1660862174956 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 10 track { xxxxxxxxxxxxxxxxxxxxxxxxxxx state_update_id: 1660862174962 recipient: "xxxxxxxxxxxxxxxxxxxxx" [2022-08-18T22:36:17Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause] [2022-08-18T22:36:17Z DEBUG librespot_playback::player] command=Pause [2022-08-18T22:36:17Z TRACE librespot_playback::player] == Stopping sink == [2022-08-18T22:36:18Z TRACE librespot_connect::spirc] ==> kPlayStatusPause [2022-08-18T22:36:18Z TRACE librespot_connect::spirc] Sending status to server: [kPlayStatusPause] ^C[2022-08-18T22:36:21Z INFO librespot] Gracefully shutting down [2022-08-18T22:36:21Z DEBUG librespot_playback::player] command=Stop [2022-08-18T22:36:21Z DEBUG librespot_connect::spirc] drop Spirc[0] [2022-08-18T22:36:21Z DEBUG librespot_playback::player] Shutting down player thread ... [2022-08-18T22:36:21Z DEBUG librespot_playback::player] drop PlayerInternal[0] [2022-08-18T22:36:21Z DEBUG librespot_playback::player] PlayerInternal thread finished. [2022-08-18T22:36:21Z DEBUG librespot_core::session] drop Session [2022-08-18T22:36:21Z DEBUG librespot::component] drop ApResolver [2022-08-18T22:36:21Z DEBUG librespot::component] drop AudioKeyManager [2022-08-18T22:36:21Z DEBUG librespot::component] drop ChannelManager [2022-08-18T22:36:21Z DEBUG librespot::component] drop MercuryManager [2022-08-18T22:36:21Z DEBUG librespot::component] drop SpClient [2022-08-18T22:36:21Z DEBUG librespot::component] drop TokenProvider [2022-08-18T22:36:21Z DEBUG librespot_core::session] drop Dispatch $ ```
Author
Owner

@roderickvd commented on GitHub (Aug 20, 2022):

I think that you should report this to Rodio. It seems that your playback device is finicky with setting buffers and Rodio bails out on that. Our own Alsa implementation works around such peculiarities, some great work by @JasonLG1979.

<!-- gh-comment-id:1221260324 --> @roderickvd commented on GitHub (Aug 20, 2022): I think that you should report this to Rodio. It seems that your playback device is finicky with setting buffers and Rodio bails out on that. Our own Alsa implementation works around such peculiarities, some great work by @JasonLG1979.
Author
Owner

@JasonLG1979 commented on GitHub (Aug 20, 2022):

great work by @JasonLG1979.

You flatter me. The code more resembles a drunken stumble than anything,lol!!!

In this particular case when configuring HwParams if you get any errors that HwParams object becomes garbage. It should not be used.

All I did was clone the HwParams before I start to configure the buffer, if at any point I get an error after that I cut and run and use the cloned HwParams and it's default buffer settings whatever they might be instead of the HwParams that's in an error state.

<!-- gh-comment-id:1221393562 --> @JasonLG1979 commented on GitHub (Aug 20, 2022): > great work by @JasonLG1979. You flatter me. The code more resembles a drunken stumble than anything,lol!!! In this particular case when configuring `HwParams` if you get any errors that `HwParams` object becomes garbage. It should not be used. All I did was clone the `HwParams` before I start to configure the buffer, if at any point I get an error after that I cut and run and use the cloned `HwParams` and it's default buffer settings whatever they might be instead of the `HwParams` that's in an error state.
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#493
No description provided.