After say 12+ hour of idle time, sendspin in daemon mode does not appear to actually play any audio until a restart of the service is done.
The only logs I've got are (the session on Mar 31 at 11:57 is what we are interested in), I'm showing some other logs so you can see it "does" work after a reboot:
Mar 30 18:36:50 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.86 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 346.2 µs
Mar 30 18:36:51 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.95 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 363.3 µs
Mar 30 18:36:52 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.95 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 394.8 µs
Mar 30 18:36:53 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.86 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 349.4 µs
Mar 30 18:36:54 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.86 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 356.9 µs
Mar 30 18:36:56 DietPi sendspin[1663584]: DEBUG:sendspin.audio:Sync error: -0.7 ms, buffer: 29.86 s, speed: 100.00%, played: 48000, inserted: 0, dropped: 0, callback: 362.4 µs
Mar 30 18:36:56 DietPi sendspin[1663584]: DEBUG:aiosendspin.client.client:Stream ended for roles: all
Mar 31 10:50:23 DietPi sendspin[1663584]: INFO:aiosendspin.client.client:Stream started with codec flac
Mar 31 10:50:23 DietPi sendspin[1663584]: INFO:sendspin.audio:Stream STARTED: 1 chunks, 0.10 seconds buffered
Mar 31 10:50:33 DietPi sendspin[1663584]: DEBUG:aiosendspin.client.client:Stream ended for roles: all
Mar 31 10:57:02 DietPi sendspin[1663584]: INFO:aiosendspin.client.client:Stream started with codec flac
Mar 31 10:57:03 DietPi sendspin[1663584]: INFO:sendspin.audio:Stream STARTED: 1 chunks, 0.10 seconds buffered
Mar 31 10:57:13 DietPi sendspin[1663584]: DEBUG:aiosendspin.client.client:Stream ended for roles: all
Mar 31 11:00:51 DietPi sendspin[1663584]: INFO:aiosendspin.client.client:Stream started with codec flac
Mar 31 11:00:51 DietPi sendspin[1663584]: INFO:sendspin.audio:Stream STARTED: 1 chunks, 0.10 seconds buffered
Mar 31 11:01:01 DietPi sendspin[1663584]: DEBUG:aiosendspin.client.client:Stream ended for roles: all
Mar 31 11:57:09 DietPi sendspin[1663584]: INFO:aiosendspin.client.client:Stream started with codec flac
Mar 31 11:57:09 DietPi sendspin[1663584]: INFO:sendspin.audio:Stream STARTED: 1 chunks, 0.10 seconds buffered
Mar 31 11:57:24 DietPi sendspin[1663584]: DEBUG:aiosendspin.client.client:Stream ended for roles: all
root@DietPi:~#
I don't know if this is an issue with MA or not, but no other players have this problem and I can go back to a pretty old version of sendspin-cli and the issue goes away (1.x)
MA logs:
2026-03-31 11:57:17.389 INFO (MainThread) [music_assistant.player_queues] Fetching tracks to play for playlist Daily Mix 2
2026-03-31 11:57:18.130 DEBUG (MainThread) [music_assistant.players] Handling command play_media for player Office Amp (by user blend9316)
2026-03-31 11:57:18.131 DEBUG (MainThread) [music_assistant.players] Redirecting power command to PlayerControl Office Amp (media_player.office_amp)
2026-03-31 11:57:27.239 DEBUG (MainThread) [music_assistant.players] Starting playback on Office Amp via protocol Sendspin (target=Office Amp), group_members=[]
2026-03-31 11:57:27.241 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Enqueueing message: GroupUpdateServerMessage
2026-03-31 11:57:27.242 INFO (MainThread) [music_assistant.streams] Start Queue Flow stream for Queue Office Amp - crossfade: smart_crossfade
2026-03-31 11:57:28.393 DEBUG (MainThread) [aiosendspin.server.client.sendspin-cli-DietPi] Sending stream/start: StreamStartPayload(player=StreamStartPlayer(codec=<AudioCodec.FLAC: 'flac'>, sample_rate=48000, channels=2, bit_depth=24, codec_header='ZkxhQ4AAACISABIAAAAAAG5aC7gDcAAAAAAAAAAAAAAAAAAAAAAAAAAA'), artwork=None, visualizer=None)
2026-03-31 11:57:28.393 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Enqueueing role message: StreamStartMessage
2026-03-31 11:57:28.594 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Send summary role=player samples=104 send_gap_ms(avg=32499.3 min=0.0 max=3379907.3) ts_gap_ms(avg=32499.2 min=96.0 max=3370032.7) buf_ms(avg=5045.4 min=101.2 max=9975.8)
2026-03-31 11:57:33.633 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Send summary role=player samples=363 send_gap_ms(avg=13.9 min=0.0 max=815.3) ts_gap_ms(avg=96.0 min=96.0 max=96.0) buf_ms(avg=15896.4 min=196.9 max=29947.9)
2026-03-31 11:57:38.713 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Send summary role=player samples=53 send_gap_ms(avg=95.8 min=48.4 max=142.2) ts_gap_ms(avg=96.0 min=96.0 max=96.0) buf_ms(avg=29928.5 min=29899.2 max=29951.7)
2026-03-31 11:57:43.474 DEBUG (MainThread) [music_assistant.players] Handling command cmd_pause for player Office Amp (by user blend9316)
2026-03-31 11:57:43.474 DEBUG (MainThread) [music_assistant.players] Handling command cmd_pause for player Office Amp (by user blend9316)
2026-03-31 11:57:43.525 DEBUG (MainThread) [music_assistant.players] Player/protocol Office Amp does not support pause, using STOP instead
2026-03-31 11:57:43.527 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Enqueueing role message: StreamEndMessage
2026-03-31 11:57:43.551 DEBUG (MainThread) [aiosendspin.server.group] Stopping playback for group with clients: ['sendspin-cli-DietPi']
2026-03-31 11:57:43.552 DEBUG (MainThread) [aiosendspin.server.connection.sendspin-cli-DietPi] Enqueueing message: GroupUpdateServerMessage
2026-03-31 11:57:48.554 INFO (MainThread) [music_assistant.Universal Player] Clearing active output protocol on Office Amp
2026-03-31 12:02:57.960 INFO (MainThread) [music_assistant.webserver] WebSocket client authenticated as blend9316
Running DietPi 9.9.0, using the built in headphone output.
After say 12+ hour of idle time, sendspin in daemon mode does not appear to actually play any audio until a restart of the service is done.
The only logs I've got are (the session on Mar 31 at 11:57 is what we are interested in), I'm showing some other logs so you can see it "does" work after a reboot:
I don't know if this is an issue with MA or not, but no other players have this problem and I can go back to a pretty old version of sendspin-cli and the issue goes away (1.x)
MA logs:
Running DietPi 9.9.0, using the built in headphone output.