Casting to external renderer sometimes skips in middle of track

Issue description:

Hello,

I often encounter skipping issues when casting to a Yamaha WXC-50 through musicCast.
When it occurs, the current tracks stops playing, and the next one to two next tracks are skipped. It automatically plays the following track in queue without issue until it happens again.

When a track skips, it will always skips until I kill Symfonium and relaunch it:

  • if a track skips while playing, it will reskip at this exact same point if I play it again
  • if a track was completely skipped, trying to play it from 0 will fails and it will skips to the next track in queue
  • disconnecting the renderer and reconnecting doesn’t change a thing
  • I can play the tracks on local renderer. If I do that, reconnecting the renderer makes the skipped tracks playable. I haven’t tried with tracks that skips midway though.

This can happen immediately when starting casting, or after a random amount of time (between a few minutes and about one hour).

Killing Symfonium “reset” the states of the tracks. A track that didn’t played at all will be able to be played, and a track that skips before reaching its end will be playable in its integrality. The issue will occurs again but on another tracks.

Logs:

Upload description: whinette

Additional information:

 
Environment:
Server is an opensubsonic implementation (LMS: GitHub - epoupon/lms: Lightweight Music Server. Access your self-hosted music using a web interface.).
Files are cached locally to symfonium (but may be irrelevant due to settings).
Latest version of Symfonium: 12.3.0 (127402).

Symfonium settings of musicCast device (WXC-50):
Proxy via Symfonium: :white_check_mark:
Prefer offline cached version: :red_square:
UPnP gapless support: :white_check_mark:
UPnP alternative flags: :white_check_mark:

Symfonium has all authorisations granted.
Battery is set to “Unrestricted”. This issue occurs on battery and while plugged in.

Samsung S25U on Android 15

Renderer Settings: Player (direct passthrough, no volume control from app / device)

 

Reproduction steps:

 
Select external renderer
Play queue
After an arbitrary amount of time, the issue occurs
 

Media provider:

Subsonic

Screenshots:

     

Why do you proxy?

Why do you talk about musicCast?

I do not see anything special in the logs, usually when the renderer have issues during playback it’s between the renderer and the server.

Skipping at the same position suggest caching on the renderer and killing the app change the port for the proxy and ‘fix’ this.

Try to enable the prefer offline version to see if everything works and better identify the source cause.

Proxy, because lms doesn’t supports dlna / upnp, the music doesn’t starts.

I can’t enable “prefer offline version” due to the codec used (ogg to support gapless and due to huge amount of files I locally cache) which isn’t supported by the renderer. :confused:

I talk about musicCast because it is the Yamaha implementation of dlna, but you can s/musicCast/upnp :
2025-04-21 18:50:03.428 Verbose/UPnPRenderer: Starting UPnP play on Salon [9ab0c000-f668-11de-9976-00a0de869f45] MusicCast} (Yamaha Corporation/WXC-50/50): http://192.168.1.230:36799/71f891fe7605d28fb84d05cb997a4721/

By the way, you’re redacting the API key inside the logs but not everywhere, my key is in the log on line 664, 759, 761 and so on, you should fix this.

The log is very verbose. The track that skiped was trackNumber 7. Track number 8 wasn’t playable.Track number 9 was played.

From lines 22843, we can see playing track 7, then track 8 and immediately after track 9 (if I understand the output correctly).

I will dig into the log later on this week.

This is unrelated, this is most probably due to the https cert of the server not recognized by the renderer, if you can try without https it will work.

musicCast is actually another solution from Yamaha barely related to upnp.

For the logs, since there’s gapless and Yamaha is well know to badly implement them, you probably first want to disable gapless.

From the logs the playback stops during playback so the renderer stops by itself despite the gapless, since I do not see an error in the proxy logs there’s no real way to know why the renderer does that, but it’s usually a network issue because it can’t read fast enough or something else.

Sorry for the delay, I wasn’t able to test anything this week.

Deactivating gapless playback, deactivating https, doesn’t change a thing, I still can’t play without proxying.

I will try for a local server next as the livebox is known to not well behave with external dns records, this might be it. I’ll follow up next week. :slight_smile:

I experienced the same problem playing some music from Plex to Yamaha RX-V685.

Then open your own proper issue.