Spotifyd - An open source Spotify client running as a UNIX daemon.

Overview

Spotifyd

All Contributors

Cargo Downloads Dependabot Status Github Actions - CD Github Actions - CI

An open source Spotify client running as a UNIX daemon.

Spotifyd streams music just like the official client, but is more lightweight and supports more platforms. Spotifyd also supports the Spotify Connect protocol, which makes it show up as a device that can be controlled from the official clients.

Note: Spotifyd requires a Spotify Premium account.

To read about how to install and configure Spotifyd, take a look at our wiki!

Common issues

  • Spotifyd will not work without Spotify Premium
  • The device name cannot contain spaces

Contributing

We always appreciate help during the development of spotifyd! If you are new to programming, open source or Rust in general, take a look at issues tagged with good first issue. These normally are easy to resolve and don't take much time to implement.

Credits

This project would not have been possible without the amazing reverse engineering work done in librespot, mostly by plietar.

Comments
  • Web API related MPRIS commands stop working after one hour

    Web API related MPRIS commands stop working after one hour

    Still using the old 0.2.10 version with MPRIS. There is a process polling information on several MPRIS services (not just spotifyd) that polls every few second. Changing the polling interval doesn't seem to have an effect on the time that the MPRIS interface stops working. It seems that spotifyd MPRIS is responsive only for about 1 hours. Changing the polling interval doesn't change anything, it seems that the problem always happens after one hour.

    bug help wanted wontfix 
    opened by hifiberry 62
  • Panic: zero-initalisation of ov_callbacks

    Panic: zero-initalisation of ov_callbacks

    Description

    I had successfully compiled and used Spotifyd for several days prior to this issue. I then decided I wanted to enable additional feature flags, so uninstalled the original instance and built again.

    However, after installing this new instance, I receive the following log messages when trying to play music from a Connect-capable client:

    
    No proxy specified
    
    Using software volume controller.
    
    Connecting to AP "gew1-accesspoint-b-qzv4.ap.spotify.com:443"
    
    Authenticated as "USERNAME" !
    
    Country: "GB"
    
    Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
    
    Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
    
    Loading <Broken> with Spotify URI <spotify:track:6qF9QltwbDeujrVrzpCoLj>
    
    Caught panic with message: attempted to zero-initialize type `librespot_tremor::tremor_sys::ov_callbacks`, which is invalid
    
    Caught panic with message: called `Result::unwrap()` on an `Err` value: "SendError(..)"
    
    Player thread panicked!
    

    The application then exits.

    Upon realising this, I attempted to rebuild the source with the original options and reinstall that, however the same error displays as above. I tried a variety of build options and appropriate configuration tweaking to no end, including using the crates.io release to no avail.

    To Reproduce Not something I can describe to reproduce, as it occurred suddenly and is persistent among rebuilds.

    Logs

    Click to show logs Loading config from "/home/pi/.config/spotifyd/spotifyd.conf"

    CliConfig { config_path: None, no_daemon: true, verbose: true, pid: None, shared_config: SharedConfigValues { username: Some("taken out for privacy"), password: Some("taken out for privacy"), password_cmd: None, use_keyring: false, on_song_change_hook: None, cache_path: None, no-audio-cache: false, backend: Some(PulseAudio), volume_controller: None, device: None, control: None, mixer: None, device_name: Some("RaspberryPiTV"), bitrate: Some(Bitrate320), volume_normalisation: false, normalisation_pregain: None, zeroconf_port: None, proxy: None } }

    Found shell "/bin/bash" using SHELL environment variable.

    No proxy specified

    registering with poller

    registering with poller

    registering with poller

    registering with poller

    build; num-workers=4

    registering with poller

    Using software volume controller.

    starting background reactor

    adding I/O source: 0

    registering with poller

    Zeroconf server listening on 0.0.0.0:37183

    adding I/O source: 4194305

    registering with poller

    event Writable Token(4194305)

    adding I/O source: 8388610

    registering with poller

    loop process - 1 events, 0.000s

    event Writable Token(8388610)

    loop process - 1 events, 0.000s

    adding I/O source: 12582915

    registering with poller

    event Writable Token(12582915)

    loop process - 1 events, 0.000s

    park; waiting for idle connection: "http://apresolve.spotify.com"

    Http::connect("http://apresolve.spotify.com/")

    consuming notification queue

    resolving host="apresolve.spotify.com", port=80

    scheduling Read for: 0

    scheduling Read for: 1

    sending packet to 224.0.0.251:5353

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    scheduling Read for: 2

    sending packet to [ff02::fb]:5353

    scheduling Read for: 3

    loop poll - 1.90442ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 505571470 }

    loop process, 41.351µs

    event Readable | Writable Token(8388610)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.182:5353

    received packet from 192.168.1.182:5353 with no query

    scheduling Read for: 1

    scheduling Read for: 1

    received packet from [fe80::6c2e:d9c1:337:5394]:5353

    received packet from [fe80::6c2e:d9c1:337:5394]:5353 with no query

    scheduling Read for: 2

    scheduling Read for: 2

    loop poll - 326.755µs

    loop time - Instant { tv_sec: 5973, tv_nsec: 505963465 }

    loop process, 36.055µs

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 45.666µs

    loop time - Instant { tv_sec: 5973, tv_nsec: 506065445 }

    loop process, 34µs

    loop poll - 128.534738ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 634651312 }

    loop process, 56.574µs

    connecting to 34.98.74.57:80

    adding I/O source: 16777220

    registering with poller

    scheduling Write for: 4

    event Writable Token(16777220)

    loop process - 1 events, 0.000s

    loop poll - 18.134288ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 653032245 }

    loop process, 22.926µs

    read_keep_alive; is_mid_message=false

    scheduling Read for: 4

    should_keep_alive(version=Http11, header=None) = true

    Client::encode has_body=false, method=None

    reclaiming write buf Vec

    flushed 47 bytes

    flushed State { reading: Init, writing: KeepAlive, keep_alive: Busy, error: None }

    wants_read_again? false

    loop poll - 199.664µs

    loop time - Instant { tv_sec: 5973, tv_nsec: 653334649 }

    loop process, 16.074µs

    event Readable | Writable Token(16777220)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 594 bytes

    Response.parse([Header; 100], [u8; 594])

    Response.parse Complete(176)

    maybe_literal not found, copying "Via"

    parsed 5 headers (176 bytes)

    incoming body is content-length (418 bytes)

    expecting_continue(version=Http11, header=None) = false

    should_keep_alive(version=Http11, header=None) = true

    Conn::read_body

    decode; state=Length(418)

    flushed State { reading: Body(Length(0)), writing: KeepAlive, keep_alive: Busy, error: None }

    wants_read_again? false

    loop poll - 27.867997ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 681227461 }

    loop process, 18.445µs

    Conn::read_body

    decode; state=Length(0)

    incoming body completed

    scheduling Read for: 4

    maybe_notify; read_from_io blocked

    read_keep_alive; is_mid_message=false

    scheduling Read for: 4

    signal: Want

    flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None }

    wants_read_again? false

    poll_want: taker wants!

    pool dropped, dropping pooled ("http://apresolve.spotify.com")

    loop poll - 169.128µs

    loop time - Instant { tv_sec: 5973, tv_nsec: 681475440 }

    loop process, 17.796µs

    Connecting to AP "gew1-accesspoint-b-n2lk.ap.spotify.com:443"

    adding I/O source: 20971525

    registering with poller

    scheduling Write for: 5

    read_keep_alive; is_mid_message=false

    scheduling Read for: 4

    client tx closed

    State::close_read()

    State::close_write()

    flushed State { reading: Closed, writing: Closed, keep_alive: Disabled, error: None }

    wants_read_again? false

    shut down IO

    deregistering handle with poller

    dropping I/O source: 4

    signal: Closed

    loop poll - 152.628µs

    loop time - Instant { tv_sec: 5973, tv_nsec: 814064256 }

    loop process, 18.722µs

    event Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop poll - 24.842684ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 838934625 }

    loop process, 22.519µs

    scheduling Read for: 5

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop poll - 22.965875ms

    loop time - Instant { tv_sec: 5973, tv_nsec: 884802432 }

    loop process, 22.981µs

    flushing framed transport

    writing; remaining=133

    framed transport flushed

    scheduling Read for: 5

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 179.811013ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 87816409 }

    loop process, 22.759µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop poll - 619.45243ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 707304894 }

    loop process, 119.943µs

    attempting to decode a frame

    frame decoded from buffer

    Authenticated as "REDACTED" !

    new Session[0]

    new Spirc[0]

    new MercuryManager

    input volume:65535 to mixer: 65535

    attempting to decode a frame

    frame decoded from buffer

    Session[0] strong=4 weak=2

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    Country: "GB"

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    writing; remaining=876

    framed transport flushed

    loop poll - 562.548µs

    loop time - Instant { tv_sec: 5974, tv_nsec: 708687302 }

    loop process, 40.351µs

    new Player[0]

    Using PulseAudio sink

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 17.572444ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 726319912 }

    loop process, 39.629µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 16.785861ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 743167309 }

    loop process, 39.944µs

    subscribed uri=hm://remote/user/REDACTED/ count=0

    loop poll - 8.352µs

    loop time - Instant { tv_sec: 5974, tv_nsec: 743305474 }

    loop process, 38.499µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 2.744613ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 746107697 }

    loop process, 37.463µs

    Modify_watch: Watch { fd: 23, read: true, write: false }, poll_now: false

    adding I/O source: 25165828

    registering with poller

    Dropping AConnection

    scheduling Read for: 4

    scheduling Read for: 4

    D-Bus i/o poll ready: 23 is NotReady

    handle_msgs: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))

    handle_msgs: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))

    loop poll - 216.682µs

    loop time - Instant { tv_sec: 5974, tv_nsec: 751050023 }

    loop process, 45.592µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 49.369448ms

    loop time - Instant { tv_sec: 5974, tv_nsec: 800487322 }

    loop process, 44.703µs

    Polling message stream

    msgstream found Ok(Ready(Some((Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")))))

    Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))

    Polling message stream

    msgstream found Ok(Ready(Some((Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")))))

    Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeNotify "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698217680 1605868501989

    loop poll - 12.981µs

    loop time - Instant { tv_sec: 5974, tv_nsec: 800946334 }

    loop process, 48.759µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 295.089105ms

    loop time - Instant { tv_sec: 5975, tv_nsec: 96105753 }

    loop process, 48.814µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 4.213226017s

    loop time - Instant { tv_sec: 5979, tv_nsec: 309408065 }

    loop process, 21.741µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    sending packet to 224.0.0.251:5353

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    scheduling Read for: 2

    loop poll - 196.614689ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 506057828 }

    loop process, 22.703µs

    received packet from 192.168.1.182:5353

    received packet from 192.168.1.182:5353 with no query

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 74.851µs

    loop time - Instant { tv_sec: 5979, tv_nsec: 506169549 }

    loop process, 17.518µs

    event Readable Token(0)

    loop process - 1 events, 0.000s

    scheduling Read for: 0

    loop poll - 66.485193ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 572681649 }

    loop process, 20.259µs

    Conn::read_head

    adding I/O source: 29360134

    registering with poller

    scheduling Read for: 6

    event Writable Token(29360134)

    loop process - 1 events, 0.000s

    flushed State { reading: Init, writing: Init, keep_alive: Busy, error: None }

    wants_read_again? false

    loop poll - 107.906µs

    loop time - Instant { tv_sec: 5979, tv_nsec: 572822221 }

    loop process, 16.407µs

    event Readable | Writable Token(29360134)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 222 bytes

    Request.parse([Header; 100], [u8; 222])

    Request.parse Complete(222)

    maybe_literal not found, copying "Keep-Alive"

    parsed 6 headers (222 bytes)

    incoming body is content-length (0 bytes)

    expecting_continue(version=Http11, header=None) = false

    should_keep_alive(version=Http11, header=Some(Connection([KeepAlive]))) = true

    read_keep_alive; is_mid_message=true

    should_keep_alive(version=Http11, header=None) = true

    Server::encode has_body=true, method=Some(Get)

    encoding chunked 450B

    flushed 546 bytes

    scheduling Read for: 6

    maybe_notify; read_from_io blocked

    flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None }

    wants_read_again? false

    loop poll - 1.541295ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 574388849 }

    loop process, 18.092µs

    event Readable | Writable Token(29360134)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 0 bytes

    parse eof

    State::close_read()

    read eof

    read_keep_alive; is_mid_message=true

    flushed State { reading: Closed, writing: Init, keep_alive: Disabled, error: None }

    wants_read_again? false

    shut down IO

    deregistering handle with poller

    dropping I/O source: 6

    loop poll - 3.530881ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 577948026 }

    loop process, 17.259µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 294.498761ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 872473657 }

    loop process, 47.518µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeHello "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698222811 1605868507120

    scheduling Read for: 5

    flushing framed transport

    writing; remaining=393

    framed transport flushed

    loop poll - 212.275µs

    loop time - Instant { tv_sec: 5979, tv_nsec: 873014465 }

    loop process, 43.981µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 27.351412ms

    loop time - Instant { tv_sec: 5979, tv_nsec: 900432468 }

    loop process, 46.426µs

    Polling message stream

    msgstream found Ok(NotReady)

    loop poll - 12.148µs

    loop time - Instant { tv_sec: 5979, tv_nsec: 900612003 }

    loop process, 49.203µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 407.842414ms

    loop time - Instant { tv_sec: 5980, tv_nsec: 308527657 }

    loop process, 47.777µs

    event Readable Token(0)

    loop process - 1 events, 0.000s

    scheduling Read for: 0

    loop poll - 220.500978ms

    loop time - Instant { tv_sec: 5980, tv_nsec: 529104893 }

    loop process, 47.907µs

    Conn::read_head

    adding I/O source: 33554438

    registering with poller

    scheduling Read for: 6

    event Writable Token(33554438)

    loop process - 1 events, 0.000s

    flushed State { reading: Init, writing: Init, keep_alive: Busy, error: None }

    wants_read_again? false

    loop poll - 268.849µs

    loop time - Instant { tv_sec: 5980, tv_nsec: 529448093 }

    loop process, 58.462µs

    event Readable | Writable Token(33554438)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 222 bytes

    Request.parse([Header; 100], [u8; 222])

    Request.parse Complete(222)

    maybe_literal not found, copying "Keep-Alive"

    parsed 6 headers (222 bytes)

    incoming body is content-length (0 bytes)

    expecting_continue(version=Http11, header=None) = false

    should_keep_alive(version=Http11, header=Some(Connection([KeepAlive]))) = true

    read_keep_alive; is_mid_message=true

    should_keep_alive(version=Http11, header=None) = true

    Server::encode has_body=true, method=Some(Get)

    encoding chunked 450B

    flushed 546 bytes

    scheduling Read for: 6

    maybe_notify; read_from_io blocked

    flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None }

    wants_read_again? false

    loop poll - 847.934µs

    loop time - Instant { tv_sec: 5980, tv_nsec: 530378970 }

    loop process, 43.407µs

    event Readable | Writable Token(33554438)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 0 bytes

    parse eof

    State::close_read()

    read eof

    read_keep_alive; is_mid_message=true

    flushed State { reading: Closed, writing: Init, keep_alive: Disabled, error: None }

    wants_read_again? false

    shut down IO

    deregistering handle with poller

    dropping I/O source: 6

    loop poll - 7.834475ms

    loop time - Instant { tv_sec: 5980, tv_nsec: 538281777 }

    loop process, 47.296µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    sending packet to 224.0.0.251:5353

    scheduling Read for: 2

    loop poll - 77.209149ms

    loop time - Instant { tv_sec: 5980, tv_nsec: 615564184 }

    loop process, 45.148µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.182:5353

    received packet from 192.168.1.182:5353 with no query

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 318.811µs

    loop time - Instant { tv_sec: 5980, tv_nsec: 615953865 }

    loop process, 39.129µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 227.069635ms

    loop time - Instant { tv_sec: 5980, tv_nsec: 843083388 }

    loop process, 46.537µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeNotify "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698223783 1605868508092

    loop poll - 10.407µs

    loop time - Instant { tv_sec: 5980, tv_nsec: 843346959 }

    loop process, 44.536µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 478.45311ms

    loop time - Instant { tv_sec: 5981, tv_nsec: 321866568 }

    loop process, 41.704µs

    event Readable Token(0)

    loop process - 1 events, 0.000s

    scheduling Read for: 0

    loop poll - 938.291809ms

    loop time - Instant { tv_sec: 5982, tv_nsec: 260224080 }

    loop process, 48.315µs

    Conn::read_head

    adding I/O source: 37748742

    registering with poller

    event Readable | Writable Token(37748742)

    loop process - 1 events, 0.000s

    read 222 bytes

    Request.parse([Header; 100], [u8; 222])

    Request.parse Complete(222)

    maybe_literal not found, copying "Keep-Alive"

    parsed 6 headers (222 bytes)

    incoming body is content-length (0 bytes)

    expecting_continue(version=Http11, header=None) = false

    should_keep_alive(version=Http11, header=Some(Connection([KeepAlive]))) = true

    read_keep_alive; is_mid_message=true

    should_keep_alive(version=Http11, header=None) = true

    Server::encode has_body=true, method=Some(Get)

    encoding chunked 450B

    flushed 546 bytes

    scheduling Read for: 6

    maybe_notify; read_from_io blocked

    flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None }

    wants_read_again? false

    loop poll - 843.86µs

    loop time - Instant { tv_sec: 5982, tv_nsec: 261142976 }

    loop process, 42.648µs

    event Readable | Writable Token(37748742)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 0 bytes

    parse eof

    State::close_read()

    read eof

    read_keep_alive; is_mid_message=true

    flushed State { reading: Closed, writing: Init, keep_alive: Disabled, error: None }

    wants_read_again? false

    shut down IO

    deregistering handle with poller

    dropping I/O source: 6

    loop poll - 2.008289ms

    loop time - Instant { tv_sec: 5982, tv_nsec: 263217857 }

    loop process, 43.518µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    sending packet to 224.0.0.251:5353

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    scheduling Read for: 2

    loop poll - 93.033412ms

    loop time - Instant { tv_sec: 5982, tv_nsec: 356318842 }

    loop process, 49.073µs

    received packet from 192.168.1.182:5353

    received packet from 192.168.1.182:5353 with no query

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 221.33µs

    loop time - Instant { tv_sec: 5982, tv_nsec: 356617671 }

    loop process, 44.907µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 259.871256ms

    loop time - Instant { tv_sec: 5982, tv_nsec: 616556834 }

    loop process, 49.444µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeNotify "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698225544 1605868509853

    loop poll - 12.573µs

    loop time - Instant { tv_sec: 5982, tv_nsec: 616906329 }

    loop process, 53.907µs

    event Readable Token(0)

    loop process - 1 events, 0.000s

    scheduling Read for: 0

    loop poll - 543.555099ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 160539298 }

    loop process, 43.388µs

    Conn::read_head

    adding I/O source: 41943046

    registering with poller

    event Readable | Writable Token(41943046)

    loop process - 1 events, 0.000s

    read 222 bytes

    Request.parse([Header; 100], [u8; 222])

    Request.parse Complete(222)

    maybe_literal not found, copying "Keep-Alive"

    parsed 6 headers (222 bytes)

    incoming body is content-length (0 bytes)

    expecting_continue(version=Http11, header=None) = false

    should_keep_alive(version=Http11, header=Some(Connection([KeepAlive]))) = true

    read_keep_alive; is_mid_message=true

    should_keep_alive(version=Http11, header=None) = true

    Server::encode has_body=true, method=Some(Get)

    encoding chunked 450B

    flushed 546 bytes

    scheduling Read for: 6

    maybe_notify; read_from_io blocked

    flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None }

    wants_read_again? false

    loop poll - 787.379µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 161394954 }

    loop process, 38.092µs

    event Readable | Writable Token(41943046)

    loop process - 1 events, 0.000s

    Conn::read_head

    read 0 bytes

    parse eof

    State::close_read()

    read eof

    read_keep_alive; is_mid_message=true

    flushed State { reading: Closed, writing: Init, keep_alive: Disabled, error: None }

    wants_read_again? false

    shut down IO

    deregistering handle with poller

    dropping I/O source: 6

    loop poll - 4.593349ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 166047450 }

    loop process, 43.944µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 41.998152ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 208114046 }

    loop process, 41.425µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeLoad "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698226110 1605868509853

    State: context_uri: "spotify:album:69fOwmdCZIaWPE4OLLnuQi" index: 2 position_ms: 7039 status: kPlayStatusPause position_measured_at: 1605868510465 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 2 track {gid: "\031\327?\022\[email protected]\305\246*\272\372\235\n\334%"} track {gid: "#(\261\262\022\310G\235\267.O\203\333v8\366"} track {gid: "\323E\211\022\224\232NA\257o\303\371X\236-\025"} track {gid: "2|8p\322^Kl\203\321Loz\351\363e"} track {gid: "oUlG\312\005HF\210\266s!\3548\210m"} track {gid: "\350\312\377(\233|E.\252x\302k*\256\326A"} track {gid: "%\002\306[\262\023D\313\253\302V\213-Y\000\265"} track {gid: "_\372\34678\377MR\254\034\321\333\3013\036e"} track {gid: "?\357\312\321\336NK\022\242\343\226c\301~#\203"} track {gid: "\200\022\345\251\2455C[\246\245\271\352\206\031\2504"} track {gid: "\211\320!W/\H\221\203hN\376<6\361\220"} track {gid: "\275\261\002\316\377DI\231\221\252l\032Q\267l\205"} track {gid: "\201\345-\2178BG\213\255\306\231\211\322&"} track {gid: "\344<7!t\036C\005\227:y\242G\037\302\373"} track {gid: "\310\252\t\254\343AM\336\253\230\206JRa\310~"} track {gid: "$\327*\310\237cK\340\256\231\353\215\215\365\200\"} track {gid: "\252\365\n\227r\023O\272\251\023\234\352H\251\335\345"} track {gid: "\306\017\265\0252<EA\270\300\254#\316\306\[email protected]"} track {gid: "@ty\372\201\251G\377\220\213\r\221\302\333\202\331"}

    Frame has 19 tracks

    Loading context: spotify:album:69fOwmdCZIaWPE4OLLnuQi index: [2] of 19

    command=Load(SpotifyId { id: 280828155756069103410723341265459358997, audio_type: Track }, false, 7039)

    scheduling Read for: 5

    flushing framed transport

    writing; remaining=899

    framed transport flushed

    loop poll - 198.812µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 209566175 }

    loop process, 40.203µs

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    received packet from 192.168.1.237:5353

    scheduling Read for: 1

    scheduling Read for: 1

    sending packet to 224.0.0.251:5353

    event Readable | Writable Token(4194305)

    loop process - 1 events, 0.000s

    scheduling Read for: 2

    loop poll - 9.944059ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 219570696 }

    loop process, 44.148µs

    received packet from 192.168.1.182:5353

    received packet from 192.168.1.182:5353 with no query

    scheduling Read for: 1

    scheduling Read for: 1

    scheduling Read for: 2

    loop poll - 167.257µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 219807786 }

    loop process, 40.777µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 13.378034ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 233247819 }

    loop process, 46.814µs

    Polling message stream

    msgstream found Ok(NotReady)

    Loading with Spotify URI spotify:track:6qF9QltwbDeujrVrzpCoLj

    new AudioKeyManager

    loop poll - 12µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 233424817 }

    loop process, 141.387µs

    Downloading file 18e55e1787e41646e9d2725de2f0c9648c046ee0

    requesting chunk 0

    new ChannelManager

    scheduling Read for: 5

    flushing framed transport

    writing; remaining=102

    framed transport flushed

    loop poll - 345.07µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 233940218 }

    loop process, 47.036µs

    consuming notification queue

    loop poll - 105.147µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 234118882 }

    loop process, 52.203µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 24.65365ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 258847753 }

    loop process, 44.685µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 13.338442ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 272257268 }

    loop process, 47.703µs

    consuming notification queue

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop poll - 384.828µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 272715392 }

    loop process, 45.499µs

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 115.499µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 272900223 }

    loop process, 41.037µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 5.391635ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 278354765 }

    loop process, 41.777µs

    loop poll - 46.869µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 278465763 }

    loop process, 42.815µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 12.544063ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 291074196 }

    loop process, 49.166µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop poll - 322.348µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 291470821 }

    loop process, 78.906µs

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 1.434075ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 293007468 }

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    loop process, 318.922µs

    attempting to decode a frame

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 921.878µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 294275989 }

    loop process, 43.758µs

    loop poll - 80.61µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 294424172 }

    loop process, 43.222µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 829.805µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 295319124 }

    loop process, 41.61µs

    loop poll - 44.759µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 295427863 }

    loop process, 42.129µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 3.165756ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 298657118 }

    loop process, 41.277µs

    loop poll - 46.221µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 298766783 }

    loop process, 42.204µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 16.197906ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 315028244 }

    loop process, 44.962µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 5.874888ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 321299090 }

    loop process, 48.573µs

    loop poll - 537.234µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 321912767 }

    loop process, 44.129µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 15.654931ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 337634031 }

    loop process, 39.814µs

    chunk 0 / 26 complete

    requesting chunk 1

    loop poll - 146.72µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 337842824 }

    loop process, 39.426µs

    scheduling Read for: 5

    Normalisation Data: NormalisationData { track_gain_db: -6.9300003, track_peak: 0.9973827, album_gain_db: -10.010002, album_peak: 1.0153364 }

    Applied normalisation factor: 0.45029798

    flushing framed transport

    writing; remaining=53

    Caught panic with message: attempted to zero-initialize type librespot_tremor::tremor_sys::ov_callbacks, which is invalid

    framed transport flushed

    loop poll - 289.238µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 338198487 }

    loop process, 50.258µs

    loop poll - 16.778µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 338295245 }

    loop process, 49.036µs

    drop Player[0]

    loop poll - 474.254µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 338848775 }

    loop process, 44.647µs

    Polling message stream

    msgstream found Ok(NotReady)

    loop poll - 14.74µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 339007976 }

    loop process, 38.537µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 33.415502ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 372480922 }

    loop process, 41.962µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 18.377471ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 390924947 }

    loop process, 41.703µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 17.24143ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 408231820 }

    loop process, 39.666µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 57.642046ms

    loop time - Instant { tv_sec: 5983, tv_nsec: 465937365 }

    loop process, 46.647µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypeNotify "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698226403 1605868510712

    loop poll - 12.5µs

    loop time - Instant { tv_sec: 5983, tv_nsec: 466218380 }

    loop process, 45.999µs

    event Readable | Writable Token(20971525)

    loop process - 1 events, 0.000s

    attempting to decode a frame

    frame decoded from buffer

    attempting to decode a frame

    scheduling Read for: 5

    flushing framed transport

    framed transport flushed

    loop poll - 1.208130976s

    loop time - Instant { tv_sec: 5984, tv_nsec: 674418207 }

    loop process, 41.963µs

    Polling message stream

    msgstream found Ok(NotReady)

    kMessageTypePlay "Nokia 5.3" a0f1362bbbc96bff82ba9a7ebcfc56ffcacfdeda 1698227616 1605868510712

    Caught panic with message: called Result::unwrap() on an Err value: "SendError(..)"

    drop Spirc[0]

    Shutting down player thread ...

    Player thread panicked!

    drop Session[0]

    drop AudioKeyManager

    drop ChannelManager

    drop MercuryManager

    Dropping AMessageStream

    AMessageStream telling ADriver to quit

    shutdown; state=pool::State { lifecycle: Running, num_futures: 0 }

    -> transitioned to shutdown

    -> shutting down workers

    dropping I/O source: 3

    dropping I/O source: 4

    deregistering handle with poller

    dropping I/O source: 0

    deregistering handle with poller

    dropping I/O source: 1

    deregistering handle with poller

    dropping I/O source: 2

    drop Dispatch

    deregistering handle with poller

    dropping I/O source: 5

    Compilation flags

    • [x] dbus_mpris
    • [x] dbus_keyring
    • [ ] alsa_backend
    • [ ] portaudio_backend
    • [x] pulseaudio_backend
    • [ ] rodio_backend

    Note that this occurs regardless of features enabled; the working version originally only had alsa_backend enabled, and this no longer works.

    Versions (please complete the following information):

    • OS: Raspian Buster (armhf) on Kernel 5.4.75-v7l+
    • Spotifyd: v0.2.24, both crates.io release and 39106ed8ed270247b1203cc2eed5b05121c90cf7
    • cargo: cargo 1.48.0 (65cbdd2dc 2020-10-14)
    bug blocked by: librespot reproducibility: easy 
    opened by ChildOfDreams 48
  • Spotifyd login problem

    Spotifyd login problem

    Sorry I normally fill out a bug report properly but it's late at night for me and I'm really tired plus I don't think this problem warrants a report. If it's not easily fixable the I'll document every detail.

    spotifyd 0.2.24 from community repo in Arch spotify-tui from AUR

    I've tried to get spotifyd to actually output information using the --verbose flag but that does nothing for me (literally outputs nothing at all).

    Now I'm not 100% sure this is the issue but I believe that the config file isn't using the username and password I've given it. I've tried wrapping the UN and PS in quotations and also tried substituting my UN for my email.

    I feel like whatever syntax it's looking for, I'm probably not using it. Please clear up this in the readme or at least the config file.

    Do you use the email for the UN field or the UN on the profile, do you need to wrap the UN and PS in quotations?

    Anyways back to my problem. I don't believe spotifyd is running properly because spotify-tui doesn't show my device in the list of devices even though I specifically set it in the spotifyd config.

    bug wontfix 
    opened by TechieAndroid 45
  • Spotifyd crashes without specifying a volume_controller

    Spotifyd crashes without specifying a volume_controller

    After building on macos 10.4.6. with portaudio as backend, launching spotifyd results next panic:

    thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/libcore/option.rs:347:21
    

    Running with RUST_BACKTRACE=1 shows next stack backtrace:

       0: std::panicking::default_hook::{{closure}}
       1: std::panicking::default_hook
       2: std::panicking::rust_panic_with_hook
       3: std::panicking::continue_panic_fmt
       4: rust_begin_unwind
       5: core::panicking::panic_fmt
       6: core::panicking::panic
       7: spotifyd::config::get_internal_config
       8: spotifyd::main
       9: std::rt::lang_start::{{closure}}
      10: std::panicking::try::do_call
      11: __rust_maybe_catch_panic
      12: std::rt::lang_start_internal
      13: main
    

    I was able to build working version from source on August and after that I've only changed my rust installation from Homebrew version to rustup (guess that's not the problem here?). Any suggestions?

    bug reproducibility: easy 
    opened by otahontas 28
  • [ERROR] Caught panic with message: Authentication failed with reason: BadCredentials

    [ERROR] Caught panic with message: Authentication failed with reason: BadCredentials

    Spotifyd worked for 3 days well until one day (2018.04.01) it stopped with error "BadCredentials".

    Credentials were not changed neither in spotifyd or spotify.com.

    I don't know how to look up the version, but my source was Arch linux aur spotifyd-git 0.1.1.2.g7451cd6-1

    log:

    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:523] build; num-workers=8
    00:05:54 [DEBUG] tokio_reactor::background: starting background reactor
    00:05:54 [INFO] Using software volume controller.
    00:05:54 [DEBUG] librespot_connect::discovery: Zeroconf server listening on 0.0.0.0:0
    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(2)
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(3)
    00:05:54 [DEBUG] tokio_reactor: loop process - 2 events, 0.000s
    00:05:54 [DEBUG] tokio_core::reactor: added a timeout: 0
    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(4)
    00:05:54 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:54 [TRACE] hyper::client::pool: [<unknown>:178] park; waiting for idle connection: "http://apresolve.spotify.com"
    00:05:54 [TRACE] hyper::client::connect: [<unknown>:118] Http::connect("http://apresolve.spotify.com/")
    00:05:54 [DEBUG] hyper::client::dns: resolving host="apresolve.spotify.com", port=80
    00:05:54 [DEBUG] tokio_core::reactor: consuming notification queue
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:275] sending packet to V4(224.0.0.251:5353)
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(2)
    00:05:54 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:275] sending packet to V6([ff02::fb]:5353)
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(2)
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(3)
    00:05:54 [DEBUG] tokio_reactor: loop process - 2 events, 0.000s
    00:05:54 [DEBUG] tokio_core::reactor: updating a timeout: 0
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 298198 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 633948051 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 7023 }
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:76] received packet from V4(192.168.1.100:5353)
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:87] received packet from V4(192.168.1.100:5353) with no query
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:76] received packet from V6([fe80::59cc:f6e9:af23:975e]:5353)
    00:05:54 [TRACE] mdns::fsm: [/home/user/.cargo/git/checkouts/rust-mdns-881ed19b93df0e9d/733b2b6/src/fsm.rs:87] received packet from V6([fe80::59cc:f6e9:af23:975e]:5353) with no query
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 29906 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 633988276 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 5821 }
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 340 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 633997373 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 15680 }
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(3)
    00:05:54 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 87637707 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 721655288 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 42811 }
    00:05:54 [DEBUG] hyper::client::connect: connecting to 104.199.64.136:80
    00:05:54 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:54 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(5)
    00:05:54 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 40125343 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 761954086 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 13345 }
    00:05:54 [TRACE] hyper::proto::h1::dispatch: [<unknown>:274] Dispatcher::poll
    00:05:54 [TRACE] hyper::proto::h1::conn: [<unknown>:284] read_keep_alive; is_mid_message=false
    00:05:54 [TRACE] hyper::proto: [<unknown>:122] should_keep_alive(version=Http11, header=None) = true
    00:05:54 [TRACE] hyper::proto::h1::role: [<unknown>:327] ClientTransaction::encode has_body=false, method=None
    00:05:54 [TRACE] hyper::proto::h1::io: [<unknown>:542] reclaiming write buf Vec
    00:05:54 [DEBUG] hyper::proto::h1::io: flushed 47 bytes
    00:05:54 [TRACE] hyper::proto::h1::conn: [<unknown>:580] flushed State { reading: Init, writing: KeepAlive, keep_alive: Busy, error: None, read_task: None }
    00:05:54 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 73367 }
    00:05:54 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 762090221 }
    00:05:54 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 7153 }
    00:05:55 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(5)
    00:05:55 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:55 [TRACE] hyper::proto::h1::dispatch: [<unknown>:274] Dispatcher::poll
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:172] Conn::read_head
    00:05:55 [DEBUG] hyper::proto::h1::io: read 686 bytes
    00:05:55 [TRACE] hyper::proto::h1::role: [<unknown>:231] Response.parse([Header; 100], [u8; 686])
    00:05:55 [TRACE] hyper::proto::h1::role: [<unknown>:236] Response.parse Complete(268)
    00:05:55 [TRACE] hyper::header: [<unknown>:355] maybe_literal not found, copying "Keep-Alive"
    00:05:55 [TRACE] hyper::header: [<unknown>:355] maybe_literal not found, copying "Vary"
    00:05:55 [DEBUG] hyper::proto::h1::io: parsed 9 headers (268 bytes)
    00:05:55 [DEBUG] hyper::proto::h1::conn: incoming body is content-length (418 bytes)
    00:05:55 [TRACE] hyper::proto: [<unknown>:133] expecting_continue(version=Http11, header=None) = false
    00:05:55 [TRACE] hyper::proto: [<unknown>:122] should_keep_alive(version=Http11, header=Some(Connection([KeepAlive]))) = true
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:246] Conn::read_body
    00:05:55 [TRACE] hyper::proto::h1::decode: [<unknown>:88] decode; state=Length(418)
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:580] flushed State { reading: Body(Length(0)), writing: KeepAlive, keep_alive: Busy, error: None, read_task: None }
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 41689020 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 803790242 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 7605 }
    00:05:55 [TRACE] hyper::proto::h1::dispatch: [<unknown>:274] Dispatcher::poll
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:246] Conn::read_body
    00:05:55 [TRACE] hyper::proto::h1::decode: [<unknown>:88] decode; state=Length(0)
    00:05:55 [DEBUG] hyper::proto::h1::conn: incoming body completed
    00:05:55 [TRACE] hyper::client::pool: [<unknown>:332] pool dropped, dropping pooled ("http://apresolve.spotify.com")
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:829] State::close()
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:426] maybe_notify; no task to notify
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:284] read_keep_alive; is_mid_message=true
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:311] parking current task
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:423] maybe_notify; notifying task
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:580] flushed State { reading: Closed, writing: Closed, keep_alive: Disabled, error: None, read_task: Some(Task) }
    00:05:55 [TRACE] hyper::proto::h1::conn: [<unknown>:588] shut down IO
    00:05:55 [TRACE] hyper::proto::h1::dispatch: [<unknown>:74] Dispatch::poll done
    00:05:55 [TRACE] mio::poll: [<unknown>:905] deregistering handle with poller
    00:05:55 [DEBUG] tokio_reactor: dropping I/O source: 4
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 99727 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 803922570 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 7494 }
    00:05:55 [INFO] Connecting to AP "gew1-accesspoint-b-ksm3.ap.spotify.com:4070"
    00:05:55 [TRACE] mio::poll: [<unknown>:785] registering with poller
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 1442 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 856588695 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 10310 }
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 451 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 856603463 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 6833 }
    00:05:55 [TRACE] tokio_reactor: [<unknown>:330] event Writable Token(5)
    00:05:55 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 40060141 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 896673953 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 11552 }
    00:05:55 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(5)
    00:05:55 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:55 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 38608403 }
    00:05:55 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 274, tv_nsec: 941009139 }
    00:05:55 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 12343 }
    00:05:55 [TRACE] tokio_io::framed_write: [<unknown>:182] flushing framed transport
    00:05:55 [TRACE] tokio_io::framed_write: [<unknown>:185] writing; remaining=128
    00:05:55 [TRACE] tokio_io::framed_write: [<unknown>:202] framed transport flushed
    00:05:56 [TRACE] tokio_reactor: [<unknown>:330] event Readable | Writable Token(5)
    00:05:56 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:56 [DEBUG] tokio_core::reactor: loop poll - Duration { secs: 0, nanos: 969123604 }
    00:05:56 [DEBUG] tokio_core::reactor: loop time - Instant { tv_sec: 275, tv_nsec: 915854447 }
    00:05:56 [DEBUG] tokio_core::reactor: loop process, Duration { secs: 0, nanos: 23234 }
    00:05:56 [TRACE] tokio_io::framed_read: [<unknown>:189] attempting to decode a frame
    00:05:56 [TRACE] tokio_io::framed_read: [<unknown>:192] frame decoded from buffer
    00:05:56 [TRACE] mio::poll: [<unknown>:905] deregistering handle with poller
    00:05:56 [DEBUG] tokio_reactor: dropping I/O source: 4
    00:05:56 [TRACE] tokio_reactor: [<unknown>:330] event Readable Token(0)
    00:05:56 [DEBUG] tokio_reactor: loop process - 1 events, 0.000s
    00:05:56 [DEBUG] tokio_reactor::background: shutting background reactor down NOW
    00:05:56 [DEBUG] tokio_reactor::background: background reactor has shutdown
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:871] shutdown; state=State { lifecycle: 0, num_futures: 0 }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:917]   -> transitioned to shutdown
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:929]   -> shutting down workers
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=7; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=7
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=7
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=6; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=6
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=6
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=5; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=5
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=5
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=4; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=4
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=4
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=3; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=3
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=3
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=2; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=2
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=2
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=1; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=1
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=1
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:933]   -> shutdown worker; idx=0; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:948] signal_stop -- WORKER_SHUTDOWN; idx=0
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:983] worker_terminated; num_workers=0
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:986] notifying shutdown task
    00:05:56 [TRACE] tokio_threadpool: [/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-threadpool-0.1.0/src/lib.rs:851] Shutdown::poll
    00:05:56 [DEBUG] tokio_core::reactor::timeout_token: cancel timeout 0
    
    bug wontfix 
    opened by Deluxo 28
  • called `Result::unwrap()` on an `Err` value: WireError(InvalidEnumValue(14))

    called `Result::unwrap()` on an `Err` value: WireError(InvalidEnumValue(14))

    hello

    Spotifyd started crashing. I updated to the latest git commit 2c13ff926931ff9d341b3918d2c244cf4fbf65d5 but it still crashes immediately. I have spotify playing on my tablet when I start Spotifyd. I also have a message on the ap on my tablet saying that my credit card has expired and that I need to update my payment options ASAP.

    May 17 22:28:55 kooka Spotifyd[24049]: event Readable | Writable Token(20971525)
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: new Session[0]
    May 17 22:28:55 kooka Spotifyd[24049]: new Spirc[0]
    May 17 22:28:55 kooka Spotifyd[24049]: new MercuryManager
    May 17 22:28:55 kooka Spotifyd[24049]: new Player[0]
    May 17 22:28:55 kooka Spotifyd[24049]: input volume:65535 to mixer: 65535
    May 17 22:28:55 kooka Spotifyd[24049]: Using alsa sink
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: Session[0] strong=3 weak=2
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: Country: "FR"
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: flushing framed transport
    May 17 22:28:55 kooka Spotifyd[24049]: writing; remaining=368
    May 17 22:28:55 kooka Spotifyd[24049]: framed transport flushed
    May 17 22:28:55 kooka Spotifyd[24049]: loop poll - Duration { secs: 0, nanos: 198506 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop time - Instant { tv_sec: 255865, tv_nsec: 655725030 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop process, Duration { secs: 0, nanos: 10240 }
    May 17 22:28:55 kooka Spotifyd[24049]: event Readable | Writable Token(20971525)
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: flushing framed transport
    May 17 22:28:55 kooka Spotifyd[24049]: framed transport flushed
    May 17 22:28:55 kooka Spotifyd[24049]: loop poll - Duration { secs: 0, nanos: 5885066 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop time - Instant { tv_sec: 255865, tv_nsec: 661625876 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop process, Duration { secs: 0, nanos: 10093 }
    May 17 22:28:55 kooka Spotifyd[24049]: event Readable | Writable Token(20971525)
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: flushing framed transport
    May 17 22:28:55 kooka Spotifyd[24049]: event Writable Token(20971525)
    May 17 22:28:55 kooka Spotifyd[24049]: framed transport flushed
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: loop poll - Duration { secs: 0, nanos: 33968326 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop time - Instant { tv_sec: 255865, tv_nsec: 695610976 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop process, Duration { secs: 0, nanos: 11760 }
    May 17 22:28:55 kooka Spotifyd[24049]: subscribed uri=hm://remote/3/user/xxxx/ count=0
    May 17 22:28:55 kooka Spotifyd[24049]: loop poll - Duration { secs: 0, nanos: 2045 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop time - Instant { tv_sec: 255865, tv_nsec: 695655399 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop process, Duration { secs: 0, nanos: 8495 }
    May 17 22:28:55 kooka Spotifyd[24049]: event Readable | Writable Token(20971525)
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: frame decoded from buffer
    May 17 22:28:55 kooka Spotifyd[24049]: attempting to decode a frame
    May 17 22:28:55 kooka Spotifyd[24049]: flushing framed transport
    May 17 22:28:55 kooka Spotifyd[24049]: framed transport flushed
    May 17 22:28:55 kooka Spotifyd[24049]: loop poll - Duration { secs: 0, nanos: 5974544 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop time - Instant { tv_sec: 255865, tv_nsec: 701642640 }
    May 17 22:28:55 kooka Spotifyd[24049]: loop process, Duration { secs: 0, nanos: 17056 }
    May 17 22:28:55 kooka Spotifyd[24049]: Caught panic with message: called `Result::unwrap()` on an `Err` value: WireError(InvalidEnumValue(14))
    May 17 22:28:55 kooka Spotifyd[24049]: drop Spirc[0]
    May 17 22:28:55 kooka Spotifyd[24049]: Shutting down player thread ...
    May 17 22:28:55 kooka Spotifyd[24049]: drop Player[0]
    May 17 22:28:55 kooka Spotifyd[24049]: drop Session[0]
    May 17 22:28:55 kooka Spotifyd[24049]: drop MercuryManager
    May 17 22:28:55 kooka Spotifyd[24049]: shutdown; state=State { lifecycle: 0, num_futures: 0 }
    May 17 22:28:55 kooka Spotifyd[24049]:   -> transitioned to shutdown
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutting down workers
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=7; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=7
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=7
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=6; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka systemd[1]: [email protected]: Main process exited, code=exited, status=101/n/a
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=6
    May 17 22:28:55 kooka systemd[1]: [email protected]: Failed with result 'exit-code'.
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=6
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=5; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=5
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=5
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=4; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=4
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=4
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=3; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=3
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=3
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=2; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=2
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=2
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=1; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=1
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=1
    May 17 22:28:55 kooka Spotifyd[24049]:   -> shutdown worker; idx=0; state=WorkerState { lifecycle: "WORKER_SHUTDOWN", is_pushed: true }
    May 17 22:28:55 kooka Spotifyd[24049]: signal_stop -- WORKER_SHUTDOWN; idx=0
    May 17 22:28:55 kooka Spotifyd[24049]: worker_terminated; num_workers=0
    May 17 22:28:55 kooka Spotifyd[24049]: notifying shutdown task
    May 17 22:28:55 kooka Spotifyd[24049]: Shutdown::poll
    May 17 22:28:55 kooka Spotifyd[24049]: event Readable Token(4194303)
    May 17 22:28:55 kooka Spotifyd[24049]: loop process - 1 events, 0.000s
    May 17 22:28:55 kooka Spotifyd[24049]: shutting background reactor down NOW
    May 17 22:28:55 kooka Spotifyd[24049]: background reactor has shutdown
    May 17 22:28:55 kooka Spotifyd[24049]: drop Dispatch
    
    opened by stuart12 27
  • Fetching metadata through mpris sometimes returns an empty array.

    Fetching metadata through mpris sometimes returns an empty array.


    EDIT: If you encounter rate limit errors, please use your own Spotify client ID by setting an environment variable named SPOTIFYD_CLIENT_ID. You can create a client ID here.

    ~ Sven (SirWindfield)


    Hi, first of all thanks for the great work.

    My status bar refreshes every 5 seconds and I'm showing the currently playing music on it. So that means in every 5 seconds I'm fetching metadata data from spotifyd with this command:

    dbus-send --print-reply --type=method_call
    --dest=org.mpris.MediaPlayer2.spotifyd
    /org/mpris/MediaPlayer2
    org.freedesktop.DBus.Properties.GetAll
    string:org.mpris.MediaPlayer2.Player

    But sometimes that returns either an empty array or partial data like just the title or just the artist. Example return value: . . dict entry( string "Metadata" variant array [ ] ) . .

    When I run spotifyd with --no-daemon option, it prints this for every failed fetching attempt:

    Couldn't fetch metadata from spotify: Err(RateLimited(Some(8)))

    And seems like the number inside Some() decreases every second and when it is 0, I can fetch the data. As I'm guessing from its name it is some kind of a limitation. Why is this happening? Is this something that set intentionally? I don't get this kind of error with the official spotify client. If is there a way to set this limitation to 5 seconds so that it can sync to my bar, I would really appreciate it.

    I'm on kernel version 5.5.2 and using the lastest pre-compiled binary.

    bug advice 
    opened by TriaSirax 26
  • Spotifyd.service not launching

    Spotifyd.service not launching

    Hi,

    I´m having troubles to get the spotifyd.service to work, to be able to launch the application on boot.

    systemctl --user start spotifyd.service <- Nothing happens systemctl --user enable spotifyd.service <- same story

    spotifyd.service file copied as instructed here: .config/systemd/user$ ls default.target.wants spotifyd.service

    sudo nano spotifyd.service

    [Unit] Description=A spotify playing daemon Documentation=https://github.com/Spotifyd/spotifyd Wants=sound.target After=sound.target Wants=network-online.target After=network-online.target

    [Service] ExecStart=/usr/bin/spotifyd --no-daemon Restart=always RestartSec=12

    [Install] WantedBy=default.target

    I have MOST LIKELY done something wrong when i built it from source with this guide, i didn´t find a deb package :( https://github.com/Spotifyd/spotifyd/wiki/Installing-on-Ubuntu-%28from-source%29 I need to manually launch it from here ./spotifyd/target/release/spotifyd

    waiting for feedback 
    opened by Ru1ah 26
  • dbus mpris PlayPause command does not work

    dbus mpris PlayPause command does not work

    Description When trying to play-pause via dbus mpris, spotifyd resumes, but seems unavailable to pause.

    To Reproduce

    1. Compile with the features pulseaudio_backend,dbus_mpris
    2. Use dbus to send a mpris command (e.g. playerctl play-pause)
    3. Music starts, but does not stop.

    Expected behavior

    Should pause and resume.

    Logs First one, when using the PlayPause command

    Click to show logs
    <!-- PLEASE PASTE YOUR LOGS BELOW THIS LINE WHEN REPORTING BUGS. Make sure to run spotifyd using the `--verbose` flag -->
    handle_msgs: (MethodCall, Some("/org/mpris/MediaPlayer2"), Some("org.mpris.MediaPlayer2.Player"), Some("PlayPause"))
    loop poll - 3.209350078s
    loop time - Instant { tv_sec: 1665, tv_nsec: 985905862 }
    loop process, 7.944µs
    Polling message stream
    msgstream found Ok(Ready(Some((MethodCall, Some("/org/mpris/MediaPlayer2"), Some("org.mpris.MediaPlayer2.Player"), Some("PlayPause")))))
    Polling message stream
    msgstream found Ok(NotReady)
    D-Bus i/o poll ready: 47 is Ready(Readable)
    D-Bus i/o unix ready: 47 is Readable | Aio
    scheduling Read for: 4
    scheduling Read for: 5
    flushing framed transport
    writing; remaining=342
    framed transport flushed
    loop poll - 49.473µs
    loop time - Instant { tv_sec: 1665, tv_nsec: 986038801 }
    loop process, 4.428µs
    Polling message stream
    msgstream found Ok(NotReady)
    event Readable | Writable Token(20971525)
    loop process - 1 events, 0.000s
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    scheduling Read for: 5
    flushing framed transport
    framed transport flushed
    loop poll - 54.747185ms
    loop time - Instant { tv_sec: 1666, tv_nsec: 40800483 }
    loop process, 5.33µs
    Polling message stream
    msgstream found Ok(NotReady)
    loop poll - 1.252µs
    loop time - Instant { tv_sec: 1666, tv_nsec: 40822233 }
    loop process, 4.769µs
    <!-- They have to be betwenn the `/summary` and the `/details` HTML tags, and inside the backticks '`' -->  
    

    Second one, when using the Pause command

    Click to show logs
    <!-- PLEASE PASTE YOUR LOGS BELOW THIS LINE WHEN REPORTING BUGS. Make sure to run spotifyd using the `--verbose` flag -->
    handle_msgs: (MethodCall, Some("/org/mpris/MediaPlayer2"), Some("org.mpris.MediaPlayer2.Player"), Some("Pause"))
    loop poll - 11.221291429s
    loop time - Instant { tv_sec: 1786, tv_nsec: 380255459 }
    loop process, 4.609µs
    Polling message stream
    msgstream found Ok(Ready(Some((MethodCall, Some("/org/mpris/MediaPlayer2"), Some("org.mpris.MediaPlayer2.Player"), Some("Pause")))))
    Polling message stream
    msgstream found Ok(NotReady)
    Sending status to server: [kPlayStatusPause]
    D-Bus i/o poll ready: 47 is Ready(Readable)
    D-Bus i/o unix ready: 47 is Readable | Aio
    scheduling Read for: 4
    scheduling Read for: 5
    flushing framed transport
    writing; remaining=2114
    framed transport flushed
    loop poll - 55.935µs
    loop time - Instant { tv_sec: 1786, tv_nsec: 380387346 }
    loop process, 5.791µs
    Polling message stream
    msgstream found Ok(NotReady)
    command=Pause
    == Stopping sink ==
    loop poll - 5.149706ms
    loop time - Instant { tv_sec: 1786, tv_nsec: 385554375 }
    loop process, 9.938µs
    Polling message stream
    msgstream found Ok(NotReady)
    Sending status to server: [kPlayStatusPause]
    ==> kPlayStatusPause
    scheduling Read for: 5
    flushing framed transport
    writing; remaining=2114
    framed transport flushed
    loop poll - 48.411µs
    loop time - Instant { tv_sec: 1786, tv_nsec: 385672105 }
    loop process, 4.699µs
    event Readable | Writable Token(20971525)
    loop process - 1 events, 0.000s
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    scheduling Read for: 5
    flushing framed transport
    framed transport flushed
    loop poll - 46.990391ms
    loop time - Instant { tv_sec: 1786, tv_nsec: 432669760 }
    loop process, 7.935µs
    Polling message stream
    msgstream found Ok(NotReady)
    loop poll - 1.032µs
    loop time - Instant { tv_sec: 1786, tv_nsec: 432697492 }
    loop process, 4.548µs
    event Readable | Writable Token(20971525)
    loop process - 1 events, 0.000s
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    scheduling Read for: 5
    flushing framed transport
    framed transport flushed
    loop poll - 57.11597ms
    loop time - Instant { tv_sec: 1786, tv_nsec: 489819743 }
    loop process, 6.492µs
    Polling message stream
    msgstream found Ok(NotReady)
    loop poll - 902ns
    loop time - Instant { tv_sec: 1786, tv_nsec: 489841083 }
    loop process, 3.035µs
    <!-- They have to be betwenn the `/summary` and the `/details` HTML tags, and inside the backticks '`' -->  
    

    Compilation flags

    • [ ] dbus_keyring
    • [x] dbus_mpris
    • [x] alsa_backend
    • [ ] portaudio_backend
    • [x] pulseaudio_backend
    • [ ] rodio_backend

    Versions (please complete the following information):

    • OS: Arch Linux, kernel 5.10.12-arch1-1
    • Spotifyd: 001fcbdc0fe8ba607f10ca7fa119a85a68f6af45
    • cargo: 1.47.0
    bug wontfix 
    opened by Icelk 25
  • Spotifyd prints error, disconnects, but does not exit

    Spotifyd prints error, disconnects, but does not exit

    My spotifyd repeatedly prints an error message after a few minutes: "[ERROR] Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }"

    After this message, either (a) spotifyd exists, or (b) playing stops, and the daemon becomes invisible to Spotify apps. Also, spotifyd cannot be killed with Ctrl+C any more. So it does not even react to signals any more. #127 could be related.

    Could it help to just handle this connection reset error more gracefully?

    wontfix blocked by: librespot pinned 
    opened by nalt 25
  • WIP: support PropertiesChanged event

    WIP: support PropertiesChanged event

    Here's maybe a way #457 could be done.

    The code is pretty ugly right now but maybe the devs can help improve it or base the real work on this.

    I think I shouldn't use continue since the commented code wouldn't run otherwise.

    Right now I only tested getting the metadata when I skip to the next track.

    And right now I'm more interested to know if it's the right way or not before trying to make it better.

    wontfix 
    opened by bbigras 23
  • only use cache if username matches

    only use cache if username matches

    This is a follow-up to #1019 and reorders the credential cache logic.

    Previously:

    • username and password are specified: use that
    • cached credentials exist: use that
    • else: start discovery

    Now:

    • cached credentials exist for given username: use that
    • username and password are specified: use that
    • else: start discovery

    Also, a cache initialization failure is properly reported to the user.

    opened by eladyn 1
  • Segmentation fault when selecting spoifyd as playback device and starting playback

    Segmentation fault when selecting spoifyd as playback device and starting playback

    Description Spotifyd segfault's when music should start playing.

    To Reproduce

    1. Start spotifyd
    2. Play music selecting a different device on Spotfy
    3. Segfault

    Expected behavior Should play music

    Logs

    Click to show logs
    Loading config from "/home/thomas/.config/spotifyd/spotifyd.conf"
    CliConfig { config_path: None, no_daemon: true, verbose: true, pid: None, shared_config: SharedConfigValues { username: Some("taken out for privacy"), username_cmd: None, password: None, password_cmd: Some("taken out for privacy"), use_keyring: false, use_mpris: None, on_song_change_hook: None, cache_path: None, no-audio-cache: false, backend: Some(Alsa), volume_controller: None, device: None, control: None, mixer: None, device_name: None, bitrate: None, initial_volume: None, volume_normalisation: false, normalisation_pregain: None, zeroconf_port: None, proxy: None, device_type: None, autoplay: false, max_cache_size: None } }
    Found user shell: Some("/bin/zsh")
    No password specified. Checking password_cmd
    Running "wait-for-creds.sh spotify password" using "/bin/zsh"
    No proxy specified
    registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
    Using software volume controller.
    Connecting to AP "ap.spotify.com:443"
    registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
    flushing framed transport
    writing; remaining=192
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    Authenticated as "TODO for devs: take this out" !
    new Session[0]
    flushing framed transport
    framed transport flushed
    new Spirc[0]
    attempting to decode a frame
    canonical_username: TODO for devs: take this out
    new Player[0]
    Using Alsa sink with format: S16
    new MercuryManager
    frame decoded from buffer
    Session[0] strong=4 weak=2
    attempting to decode a frame
    input volume:65535 to mixer: 65535
    frame decoded from buffer
    attempting to decode a frame
    command=AddEventSender
    command=VolumeSet(65535)
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    Country: "DE"
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    writing; remaining=436
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    subscribed uri=hm://remote/user/TODO for devs: take this out/ count=0
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeGoodbye "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213738990 1663366081768 kPlayStatusStop
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    kMessageTypeHello "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213743534 1663366086312 kPlayStatusStop
    Sending status to server: [kPlayStatusStop]
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeNotify "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213743534 1663366086312 kPlayStatusStop
    flushing framed transport
    writing; remaining=410
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeLoad "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213745243 1663366086312 kPlayStatusPause
    State: context_uri: "spotify:album:4edWR14ULxaPjBWlGGMIK1" index: 1 position_ms: 10758 status: kPlayStatusPause position_measured_at: 1663366088067 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 1 track {gid: "\362\367\317m\236\277O\275\207X\017)\312\204\021\307"} track {gid: "\217\025\341\334\031zA\317\201\016aY\245\266\2445"} track {gid: "\321\203\332d\034*IN\244\265\300j\2473\233H"} track {gid: "N`\371\016\2332CY\207MI\026JQ\"\215"} track {gid: "[email protected]\320\317\303O[\243d{!\205\341\272\215"} track {gid: "M\037^\262\336\222G\324\227\2218k\247\250v_"} track {gid: "\355\2359\234\360\212D\275\245\001*\322!1\240\241"} track {gid: "\326\203\354z\200\010Ls\274\037\205\243\303\032\245e"} track {gid: "\230\267\002\201\017]I\345\247\307D9\211\003\340\352"} track {gid: "\0359b\240\301!J\372\226!\035\276\333,>\270"} track {gid: "vd\3066SlJ\221\276\315\017\336i+\256:"} track {gid: "\032\002\0277\230VJ%\271\271\354\024\010\205\010!"}
    Frame has 12 tracks
    Sending status to server: [kPlayStatusPause]
    command=Load(SpotifyId { id: 190193222611513700946566707334687925301, audio_type: Track }, false, 10758)
    Sending status to server: [kPlayStatusPause]
    flushing framed transport
    writing; remaining=686
    framed transport flushed
    flushing framed transport
    writing; remaining=769
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Loading <Translate the Night> with Spotify URI <spotify:track:4lZTZ3TCBZQYALStWndHHn>
    Downloading file 995f48cfda22e871fc320f75ceea1483903d1fc3
    new ChannelManager
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    kMessageTypeNotify "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213745548 1663366088326 kPlayStatusPlay
    new AudioKeyManager
    command=Stop
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 63 ms.
    flushing framed transport
    writing; remaining=49
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Normalisation Data: NormalisationData { track_gain_db: -10.392186, track_peak: 1.0392327, album_gain_db: -11.16839, album_peak: 1.0392327 }
    Normalisation Type: Album
    Normalisation Threshold: 0.0
    Normalisation Method: Dynamic
    Normalisation Factor: 0.276427
    Normalisation Attack: 0.005
    Normalisation Release: 0.1
    Normalisation Knee: 1.0
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 57 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 39 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 43 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 58 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 70 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 57 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 57 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 59 ms.
    <Translate the Night> (180026 ms) loaded
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeNotify "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213747179 1663366089957 kPlayStatusPlay
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeLoad "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213748012 1663366089957 kPlayStatusPlay
    State: context_uri: "spotify:album:4edWR14ULxaPjBWlGGMIK1" index: 1 position_ms: 13326 status: kPlayStatusPlay position_measured_at: 1663366090838 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 1 track {gid: "\362\367\317m\236\277O\275\207X\017)\312\204\021\307"} track {gid: "\217\025\341\334\031zA\317\201\016aY\245\266\2445"} track {gid: "\321\203\332d\034*IN\244\265\300j\2473\233H"} track {gid: "N`\371\016\2332CY\207MI\026JQ\"\215"} track {gid: "[email protected]\320\317\303O[\243d{!\205\341\272\215"} track {gid: "M\037^\262\336\222G\324\227\2218k\247\250v_"} track {gid: "\355\2359\234\360\212D\275\245\001*\322!1\240\241"} track {gid: "\326\203\354z\200\010Ls\274\037\205\243\303\032\245e"} track {gid: "\230\267\002\201\017]I\345\247\307D9\211\003\340\352"} track {gid: "\0359b\240\301!J\372\226!\035\276\333,>\270"} track {gid: "vd\3066SlJ\221\276\315\017\336i+\256:"} track {gid: "\032\002\0277\230VJ%\271\271\354\024\010\205\010!"}
    Frame has 12 tracks
    Sending status to server: [kPlayStatusPlay]
    command=Load(SpotifyId { id: 190193222611513700946566707334687925301, audio_type: Track }, true, 13326)
    Sending status to server: [kPlayStatusPlay]
    flushing framed transport
    writing; remaining=1455
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Loading <Translate the Night> with Spotify URI <spotify:track:4lZTZ3TCBZQYALStWndHHn>
    Downloading file 995f48cfda22e871fc320f75ceea1483903d1fc3
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 57 ms.
    flushing framed transport
    writing; remaining=49
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    unknown subscription uri=social-connect/v2/session_update
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    unknown subscription uri=social-connect/v2/session_update
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Normalisation Data: NormalisationData { track_gain_db: -10.392186, track_peak: 1.0392327, album_gain_db: -11.16839, album_peak: 1.0392327 }
    Normalisation Type: Album
    Normalisation Threshold: 0.0
    Normalisation Method: Dynamic
    Normalisation Factor: 0.276427
    Normalisation Attack: 0.005
    Normalisation Release: 0.1
    Normalisation Knee: 1.0
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 37 ms.
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 63 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 61 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 59 ms.
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    kMessageTypeNotify "Thomas’ iPhone" fad2a5d4b7d363443d2b91defe2e17ae4959a165 1213748546 1663366091324 kPlayStatusStop
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 57 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 62 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 68 ms.
    flushing framed transport
    writing; remaining=53
    framed transport flushed
    flushing framed transport
    framed transport flushed
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    frame decoded from buffer
    attempting to decode a frame
    Ping time estimated as: 58 ms.
    <Translate the Night> (180026 ms) loaded
    == Starting sink ==
    zsh: segmentation fault  ./target/debug/spotifyd --no-daemon --verbose
    

    Compilation flags (features were not changed, using alsa)

    • [ ] dbus_mpris
    • [ ] dbus_keyring
    • [x] alsa_backend
    • [ ] portaudio_backend
    • [ ] pulseaudio_backend
    • [ ] rodio_backend

    Versions (please complete the following information):

    • OS: Alpine Linux (Edge)
    • Spotifyd: 7146f64a819590a16de9991de74f8bc2fea9c2ac
    • cargo: cargo 1.63.0 (fd9c4297c 2022-07-01)

    Additional context

    • Alsa is used for playback
    • Alpine Linux is a musl-based distro (glibc is not available)
    bug 
    opened by Witcher01 3
  • Unable to loop single track

    Unable to loop single track

    Description Attempting to set loop to "Track" in multiple UIs fails.

    To Reproduce 1: Start spotifyd 2: Switch to spotifyd in spotify-tui or the official Spotify client 3: Attempt to enable loop single track (ctrl-r in spt) 4: If the icon doesn't appear to have switched back, wait for current track to end, and it will not loop Expected behavior Track will loop continuously Logs

    <!-- PLEASE PASTE YOUR LOGS BELOW THIS LINE WHEN REPORTING BUGS. Make sure to run spotifyd using the `--verbose` flag -->
    Loading config from "/home/helix/.config/spotifyd/spotifyd.conf"
    CliConfig { config_path: None, no_daemon: true, verbose: true, pid: None, shared_config: SharedConfigValues { username: Some("taken out for privacy"), username_cmd: None, password: None, password_cmd: Some("taken out for privacy"), use_keyring: false, use_mpris: None, on_song_change_hook: None, cache_path: None, no-audio-cache: false, backend: Some(PulseAudio), volume_controller: None, device: None, control: None, mixer: None, device_name: Some("vega-spotifyd"), bitrate: Some(Bitrate320), initial_volume: None, volume_normalisation: false, normalisation_pregain: None, zeroconf_port: None, proxy: None, device_type: Some(Computer) } }
    Found user shell: Some("/bin/fish")
    No password specified. Checking password_cmd
    Running "pass spotify.com" using "/bin/fish"
    No proxy specified
    registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
    Using software volume controller.
    registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
    Zeroconf server listening on 0.0.0.0:33737
    registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
    registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
    Connecting to AP "ap.spotify.com:443"
    found interface Interface { name: "enp3s0", addr: V4(Ifv4Addr { ip: 192.168.0.14, netmask: 255.255.255.0, broadcast: Some(192.168.0.255) }) }
    found interface Interface { name: "enp3s0", addr: V6(Ifv6Addr { ip: 2603:8080:2801:1400::d, netmask: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff, broadcast: None }) }
    found interface Interface { name: "enp3s0", addr: V6(Ifv6Addr { ip: 2603:8080:2801:1400:53aa:b0d0:90d5:a318, netmask: ffff:ffff:ffff:ffff::, broadcast: None }) }
    sending packet to 224.0.0.251:5353
    found interface Interface { name: "enp3s0", addr: V4(Ifv4Addr { ip: 192.168.0.14, netmask: 255.255.255.0, broadcast: Some(192.168.0.255) }) }
    found interface Interface { name: "enp3s0", addr: V6(Ifv6Addr { ip: 2603:8080:2801:1400::d, netmask: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff, broadcast: None }) }
    found interface Interface { name: "enp3s0", addr: V6(Ifv6Addr { ip: 2603:8080:2801:1400:53aa:b0d0:90d5:a318, netmask: ffff:ffff:ffff:ffff::, broadcast: None }) }
    sending packet to [ff02::fb]:5353
    received packet from 192.168.0.14:5353
    received packet from 192.168.0.14:5353 with no query
    received packet from [fe80::b598:fa62:4195:df79%2]:5353
    received packet from [fe80::b598:fa62:4195:df79%2]:5353 with no query
    registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
    writing; remaining=152
    Authenticated as "redacted" !
    new Session[0]
    Session[0] strong=3 weak=1
    Country: "US"
    new Spirc[0]
    canonical_username: redacted
    new Player[0]
    Using PulseAudio sink with format: S16
    new MercuryManager
    writing; remaining=11
    input volume:65535 to mixer: 65535
    command=AddEventSender
    command=VolumeSet(65535)
    subscribed uri=hm://remote/user/redacted/ count=0
    registering event source with poller: token=Token(5), interests=READABLE
    received packet from 192.168.0.12:5353
    received question: IN _googlezone._tcp.local
    received packet from 192.168.0.12:5353
    received question: IN _googlezone._tcp.local
    kMessageTypeLoad "" webapi-700f3144924b47f9a1f677e729d880bb 678569815 1662830907471 kPlayStatusPlay
    State: index: 2 position_ms: 59 status: kPlayStatusPlay position_measured_at: 1662830912674 context_description: "" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 2 track {gid: "9\272\255\311WLEj\275\331\233\210\363{To"} track {gid: "\377\377t\316\036\[email protected]*\265k\t\203q`\254\321"} track {gid: "\356\212VYp,J\\\277&\316\373$\0011\252"} track {gid: "\001\301\014\0309fGL\231y\t\255\205\205\025\237"} track {gid: "\375z\263\314FRO\030\231\332\340\353\266\367\n="} track {gid: "\366\217\370\311\322`Fj\275\\\204G:S6\376"} track {gid: "YJ\023\315\244\257I\352\234 c\033\032s\374\240"} track {gid: "\301q\2201\323\036O\r\216\362Gp\001A\222~"} track {gid: "ec1\312\3330AC\232\013v\257LDZ\203"} track {gid: "U\232\333u\240\331D\312\235\207\036\021'\017\341\030"} track {gid: "H\314\306\212\240\301C\364\200\345g\353La\301}"} track {gid: "\343|}c\225\346F\301\244\374\030o\207\213\361B"} track {gid: "hx\305\322\274?OZ\216\247\330\267\203\346N\004"} track {gid: "M\231z+R\320A\265\264\025\364\035\355\217 \233"} track {gid: "\331WD\362\226\360LS\202,5\354uZ \244"} track {gid: "\355j\034kn$C\252\273!/\232q\247\306T"} track {gid: "?\007\312\323\254.DL\242\335|\352\214\311\0109"}
    Frame has 17 tracks
    Sending status to server: [kPlayStatusPlay]
    command=Load(SpotifyId { id: 317074551336536026779073596733459083690, audio_type: Track }, true, 59)
    Sending status to server: [kPlayStatusPlay]
    writing; remaining=1518
    writing; remaining=83
    Loading <INBETWEEN> with Spotify URI <spotify:track:7g7or6ba1mBgq5Ydj2ixjs>
    Downloading file 8a663088ddfd8435cc0985169c66ecc937980c4e
    new ChannelManager
    new AudioKeyManager
    writing; remaining=49
    Ping time estimated as: 70 ms.
    Normalisation Data: NormalisationData { track_gain_db: -8.157713, track_peak: 1.072335, album_gain_db: -10.078444, album_peak: 1.1562074 }
    Normalisation Type: Album
    Normalisation Threshold: 0.0
    Normalisation Method: Dynamic
    Normalisation Factor: 0.31338474
    Normalisation Attack: 0.005
    Normalisation Release: 0.1
    Normalisation Knee: 1.0
    Ping time estimated as: 54 ms.
    Ping time estimated as: 53 ms.
    <INBETWEEN> (114845 ms) loaded
    == Starting sink ==
    Sending status to server: [kPlayStatusPlay]
    ==> kPlayStatusPlay
    writing; remaining=759
    writing; remaining=106
    Ping time estimated as: 56 ms.
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received question: IN _%9E5E7C8F47989526C9BCD95D24084F6F0B27C5ED._sub._googlecast._tcp.local
    received question: IN _233637DE._sub._googlecast._tcp.local
    received question: IN _googlecast._tcp.local
    received packet from 192.168.0.12:5353
    received packet from 192.168.0.12:5353 with no query
    received packet from 192.168.0.12:5353
    received packet from 192.168.0.12:5353 with no query
    received packet from 192.168.0.30:5353
    received packet from 192.168.0.30:5353 with no query
    received packet from 192.168.0.30:5353
    received packet from 192.168.0.30:5353 with no query
    received packet from 192.168.0.29:5353
    received packet from 192.168.0.29:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received question: IN Bitdefender for Android._bitdefender-app._tcp.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received question: IN Android-29.local
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    kMessageTypeRepeat "" webapi-700f3144924b47f9a1f677e729d880bb 678576065 1662830913541 kPlayStatusPlay
    Sending status to server: [kPlayStatusPlay]
    writing; remaining=759
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    kMessageTypeRepeat "" webapi-700f3144924b47f9a1f677e729d880bb 678577766 1662830918914 kPlayStatusPlay
    Sending status to server: [kPlayStatusPlay]
    writing; remaining=759
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    File 8a663088ddfd8435cc0985169c66ecc937980c4e complete
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    received packet from 192.168.0.18:5353
    received packet from 192.168.0.18:5353 with no query
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353
    received packet from [fe80::80f5:f558:3510:e1b%2]:5353 with no query
    kMessageTypeRepeat "" webapi-700f3144924b47f9a1f677e729d880bb 678594160 1662830920665 kPlayStatusPlay
    Sending status to server: [kPlayStatusPlay]
    writing; remaining=759
    received packet from 192.168.0.18:5353
    received question: IN _%9E5E7C8F47989526C9BCD95D24084F6F0B27C5ED._sub._googlecast._tcp.local
    received question: IN _233637DE._sub._googlecast._tcp.local
    received question: IN _googlecast._tcp.local
    received packet from 192.168.0.12:5353
    received packet from 192.168.0.12:5353 with no query
    received packet from 192.168.0.12:5353
    received packet from 192.168.0.12:5353 with no query
    received packet from 192.168.0.30:5353
    received packet from 192.168.0.30:5353 with no query
    received packet from 192.168.0.29:5353
    received packet from 192.168.0.29:5353 with no query
    received packet from 192.168.0.30:5353
    received packet from 192.168.0.30:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    received packet from 192.168.0.31:5353
    received packet from 192.168.0.31:5353 with no query
    drop Spirc[0]
    Shutting down player thread ...
    drop PlayerInternal[0]
    PlayerInternal thread finished.
    drop Session[0]
    drop AudioKeyManager
    drop ChannelManager
    deregistering event source from poller
    deregistering event source from poller
    Shutting down discovery server
    drop MercuryManager
    deregistering event source from poller
    drop Dispatch
    deregistering event source from poller
    deregistering event source from poller
    
    <!-- They have to be betwenn the `/summary` and the `/details` HTML tags, and inside the backticks '`' -->  
    

    Compilation flags

    • [ ] dbus_mpris
    • [ ] dbus_keyring
    • [x] alsa_backend
    • [ ] portaudio_backend
    • [ ] pulseaudio_backend
    • [ ] rodio_backend

    Versions (please complete the following information):

    • OS: Arch Linux 5.19.4-arch1-1
    • Spotifyd: spotifyd 0.3.3
    • cargo: cargo 1.62.0 (a748cf5a3 2022-06-08)

    Notes: had to remove tens of thousands of lines of "frame decoded from buffer" and "attempting to decode a frame" and "flushing framed transport" and "framed transport flushed" because with them it was too long for an issue and exceeded GitHubs character limit of 65536.

    bug 
    opened by xero-lib 1
  • aarch64 package for Alpine Linux

    aarch64 package for Alpine Linux

    I haven't really looked into this much so I'm mainly creating this as a to-do list item for the future.

    I recently picked up a pinephone and have it running postmarketOS. There's some functional spotify clients for the pinephone in general, but it would be cool if we could have aarch64 alpine as a package out of the box. There's already an x86 package so this shouldn't take an insane amount of work.

    packaging 
    opened by slondr 0
  • make `Seek` and `SetPosition` functions spec compliant

    make `Seek` and `SetPosition` functions spec compliant

    This makes some MPRIS methods more spec compliant. @wasamasa does this resolve all your issues?

    I'm not sure, if the integer type casting is overly cautious the way it is currently.

    Fixes #1112.

    opened by eladyn 5
  • MPRIS Seek and SetPosition implementations are incompatible with what playerctl expects

    MPRIS Seek and SetPosition implementations are incompatible with what playerctl expects

    Description

    Basic playback control with playerctl is possible, but triggers an error or segfault when attempting to seek to an absolute/relative position. When inspecting the D-Bus interfaces with d-feet, it becomes obvious that spotifyd offers a different interface from all other software implementing the MPRIS specification.

    20220907_132647

    The Seek method expects a signed int64 to be able to seek backwards and forwards. Additionally, it is currently interpreted in milliseconds, but should be interpreted in microseconds.

    The SetPosition method expects a string trackid (the rationale being "to avoid race conditions where a client tries to seek to a position when the track has already changed") and a signed int64 in microseconds. Given that the implementation looks very similar to the Seek one, it's likely it's interpreted in milliseconds instead.

    To Reproduce

    • playerctl -p spotifyd position 10 to set absolute position to 10s
    • playerctl -p spotifyd position 10+ to seek forward by 10s
    • playerctl -p spotifyd position 10- to seek backward by 10s

    To use d-feet:

    • d-feet
    • Click on "Session Bus"
    • Narrow down search results by entering "mpris"
    • Select the spotifyd one
    • Click on the /org/mpris/MediaPlayer2 path
    • Click on the org.mpris.MediaPlayer2.Player interface
    • Click on the methods

    Expected behavior

    • spotifyd playback continues at 10s or 10s later or 10s earlier

    Actual behavior

    The first playerctl call segfaults:

    (playerctl:251381): GLib-CRITICAL **: 13:52:57.116: g_variant_new_object_path: assertion 'g_variant_is_object_path (object_path)' failed
    

    The second and third fail with a D-Bus error:

    Could not execute command: GDBus.Error:org.freedesktop.DBus.Error.Failed: D-Bus argument type mismatch at position 0: expected u32, found i64
    

    Logs

    Click to show logs

    No logs, duh

    Compilation flags

    • [ ] dbus_mpris
    • [ ] dbus_keyring
    • [x] alsa_backend
    • [ ] portaudio_backend
    • [ ] pulseaudio_backend
    • [ ] rodio_backend

    Versions (please complete the following information):

    • OS: Arch Linux
    • Spotifyd: 0.3.3 (7146f64a819590a16de9991de74f8bc2fea9c2ac) https://aur.archlinux.org/packages/spotifyd-full-git
    • cargo: 1.63.0
    bug 
    opened by wasamasa 3
Releases(v0.3.3)
Owner
null
TwitterMusicBot - A Twitter bot with Spotify integration.

A Twitter Music Bot ?? ?? ?? I created this project to learn more about APIs, so it only works for student purposes. Initially, delving into the Spoti

Gustavo Oliveira 2 Jan 2, 2022
DeepMusic is an easy to use Spotify like app to manage and listen to your favorites musics.

DeepMusic is an easy to use Spotify like app to manage and listen to your favorites musics. Technically, this project is an Android Client and its ent

Labrak Yanis 1 Jul 12, 2021
Just-Music - Spotify API Driven Music Web app, that allows to listen and control and share songs

Just Music... Just Music Is A Web APP That Allows Users To Play Song Using Spoti

Ayush Mishra 3 May 1, 2022
A voice control utility for Spotify

Spotify Voice Control A voice control utility for Spotify · Report Bug · Request

Shoubhit Dash 22 Sep 13, 2022
?️ Open Source Audio Matching and Mastering

Matching + Mastering = ❤️ Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a si

Sergey Grishakov 671 Sep 18, 2022
DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.

Project DeepSpeech DeepSpeech is an open-source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Spee

Mozilla 20.3k Sep 28, 2022
SU Music Player — The first open-source PyTgCalls based Pyrogram bot to play music in voice chats

SU Music Player — The first open-source PyTgCalls based Pyrogram bot to play music in voice chats Note Neither this, or PyTgCalls are fully

SU Projects 55 Jul 20, 2022
Stevan KZ 1 Oct 27, 2021
Open-Source bot to play songs in your Telegram's Group Voice Chat. Powered by @Akki_ThePro

VcPlayer Telegram Voice-Chat Bot [PyTGCalls] ⇝ Requirements ⇜ Account requirements A Telegram account to use as the music bot, You cannot use regular

Akki ThePro 2 Dec 25, 2021
Synthesia but open source, made in python and free

PyPiano Synthesia but open source, made in python and free Requirements are in requirements.txt If you struggle with installation of pyaudio, run : pi

DaCapo 12 Sep 20, 2022
An Amazon Music client for Linux (unpretentious)

Amusiz An Amazon Music client for Linux (unpretentious) ↗️ Install You can install Amusiz in multiple ways, choose your favorite. ?? AppImage Here you

Mirko Brombin 21 Sep 10, 2022
GNU Radio – the Free and Open Software Radio Ecosystem

GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used wit

GNU Radio 4k Sep 22, 2022
Open Sound Strip, Sequence or Record in Audacity

Audacity Tools For Blender Sound editing in Blender Video Sequence Editor with Audacity integrated. Send/receive the full edited sequence or single st

null 63 Aug 11, 2022
BART aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times

BART (Beyond Audio Replay Technology) aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times (with possible overlap between segments).

null 2 Feb 4, 2022
A really easy way to display your spotify listening status on spotify.

Spotify playing README A really easy way to display your spotify listening status on READMEs and Websites too! Demo Here's the embed from the site. Cu

Sunrit Jana 20 Jul 13, 2022
LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

Jannis Zahn 7 Jun 21, 2022
Spotify Offline is a command line tool that allows one to download Spotify playlists in MP3 format.

Spotify Offline v0.0.2 listen to your favorite spotify songs, offline Overview Spotify Offline (spotifyoffline) is a command line tool that allows one

Aarush Gupta 1 Nov 28, 2021
An interactive App to play with Spotify data, both from the Spotify Web API and from CSV datasets.

An interactive App to play with Spotify data, both from the Spotify Web API and from CSV datasets.

Caio Lang 3 Jan 24, 2022
Spotify Top Lists - get the current top lists of a user from the Spotify API and display them in a Flask app

Spotify Top Lists This is a simple script that will get the current top lists of a user from the Spotify API and display them in a Flask app. Requirem

Yasin 1 Jan 30, 2022