I’ve searched around for others having this issue, but I’m come up short – but please feel free to slap me if it’s a known issue or a stupid mistake on my side!
I’m having a bit of an issue with Mopidy: while it’s correctly streaming audio files via Snapcast (correct speed/etc.), the web-interface and journal log don’t seem to know whats happening.
In my set-up Mopidy is running on an Rpi4B and is reading files from an external USB HDD. Mopidy Local has been used to build a library of my files (~17K files), and that’s worked great. I can happily queue them into a playlist, but when I play that playlist Mopidy seems to lose track of where it’s up to, skipping through the playlist at lightning speed. At first I thought it may be the web-interface at fault as the music is actually streaming completely normally, but the Mopidy journal (below) shows EOF/EOS events in line with the playlist progression.
To help, I’ve recorded the web-interface (Iris) running, showing it ‘skipping’ and jumping around each track, the Mopidy configuration file and its journal:
The journal is quite full, even after snipping some TAG events – but the important bits:
Line 167: Start of first track. I’ve kept a few of its TAG events in case they are important.
Line 219: Start of second track (+3 seconds).
Line 235: Start of third track (+8 seconds).
Again, those three tracks play and progress through that playlist completely normally over Snapcast, and are actually still playing as I write this as the playlist appears to be on repeat even though that option isn’t enabled in Mopidy.
This is my second install of Mopidy as I ran into the same issue with the first installation. I tried to keep this install as generic as possible – only changing configuration options for data directories, etc. – in order to try and narrow it down, but to no avail.
I’m a bit confused why this is happening; from what I gather, Mopidy is ‘playing’ the music into an audio buffer that Snapcast is then streaming over the network…but if Mopidy believes the tracks are finished within three seconds how is this audio buffer still being filled correctly?
I’m a long-time Windows developer and the Linux ecosystem is still a bit new, but if there’s anything anyone could suggest to help narrow it down that’d be really appreciated! And to the devs that have poured many hours into this (and related) projects, thanks