Gapless playback intermittently skipping songs with Sonos

App version

Production

Issue description

I would like to start this thanking you for the Symfonium app. It is second to none and honestly the only reason I’m sticking with Android!

The issue surfaces intermittently but when in a longer running session while casting to my Sonos Play:1 speaker Symfonium will skip a track. It plays maybe the first 0.1-0.5 seconds of the track and then skip to the next one. In the logs I have uploaded the playing track was “Skimming Stones”, the skipped track was “Singing Sands” and went straight to “Duvet Days”.

I noticed in the logs that every track that played back correctly had Adding <title> to sync queue whereas “Singing Sands” had this missing. I’m not sure if this is relevant.

I saw this issue Certain song in queue are skipped when streamed to Sonos - #7 by Tolriq, however, this talked about 400 errors in Plex so wasn’t sure if its related.

Please let me know if you need anything else, I’m happy to help as much as I can!

Setup info:
Symfonium 14.0.0 (127708)
LMS v3.76.0 (via OpenSonic)
Sonos Play:1 speaker

Device type

Phone

Media provider

Subsonic (Open)

Steps to reproduce

  1. Start casting to Sonos speaker with gapless enabled.
  2. Play an album from the start.
  3. After several songs, one song will play for a brief moment and skip to the next.

I searched existing issues first

on

I understand that logs are mandatory

on

Log upload name / description

bulmanator-sonos

Unfortunately with gapless enabled Symfonium have even less control on what happens, it just gives url to be played next, the fact that it start to plays means the proper one was set by Symfonium, the skip is done by the Sonos for unknown reason, there’s no action made by Symfonium.

Triple check https://dontkillmyapp.com/, the router and server logs.

Thanks for replying!

I have done some more testing in the mean time and have found some interesting things. I 100% agree that Sonos is doing something out of spec here, but I’ll dump what I’ve found in case it is useful to find a workaround. I understand this isn’t really something that should be prioritised or even fixed if Sonos are doing something weird.

Samsung are bad for killing due to battery use, I have set Symfonium to be “Unrestricted”. With the way Android is these days you can never rule this out I guess.

I managed to reproduce the error on both the latest version of Navidrome and by caching the original files in Symfonium and taking both my music servers offline while enabling the “Prefer offline cached version” option. This largely rules out the server being the problem.

What is interesting, across the different environments consistently two tracks would skip.
07. Singing Sands
10. Port Charlotte
The only time both didn’t skip was using offline cache when capturing logs, in this case only “Port Charlotte” skipped. I did have both skip in another offline cache attempt, however, I was not logging at the time. I have been using my CD rip of “Human Pyramids - Planet Shhh!”. All tracks are 44100/16 Level 8 FLAC.

A complete offline cache play through of the album including connecting to the Sonos speaker and disconnecting at the end has been logged and uploaded under bulmanator-offline in case they are useful. As above, the only track that skipped was “Port Charlotte”.

Looking at the logs there were a few Connection reset errors when playing and the first one happened around the time Port Charlotte was supposed to play. Another thing that caught my eye is the response for GetPositionInforeturned Track=1 in all cases except around the tracks leading up to and including the two tracks that were consistently skipping. In these cases Track=2 was returned instead. I don’t have a real understanding of DLNA/UPnP so I doubt this is relevant.

While not really a like for like due to it not supporting Subsonic I tried BubbleUPnP with the files exported from Symfonium’s offline cache and it did not exhibit the same problem. I had FFmpeg audio decoding set to “Never use” and Gapless control enabled.

Let me know if you want me to test anything else, I’m happy to help! For now I will just disable the gapless option.

Bubble is specialized in upnp and have acquired a ton of hacks over time :slight_smile:

You can try to upload that album to https://upload.symfonium.app so I can try to repro.

have acquired a ton of hacks over time

You can say that again! They probably have hacks for their hacks :laughing:
I have uploaded the album as is. I appreciate you taking the time to test!