Don’t really know where to ask for this one so I’ll start here. I’m using Mopidy to feed a Snapcast server. This involved setting Mopidy’s audio output to a fifo like so:
output = audioresample ! audio/x-raw,rate=44100,channels=2,format=S16LE,quality=10 ! audioconvert ! wavenc ! filesink location=/tmp/snapfifo
(That’s not the way the snapcast docs say to do it. That didn’t work either. This is the correct order as suggested by the gstreamer docs)
The issue is when Mopidy comes to the end of the last track in the tracklist. Instead of stopping it just gets stuck - playback progress repeatedly reports somewhere between 0 and 0.125 seconds.
A bit of debugging revealed that mopidy/core/playback.py is never getting an ‘end of stream’ message from Gstreamer. A little more debugging revealed it’s getting a Gstreamer error instead:
ERROR [MainThread] mopidy.audio.gst GStreamer error: Error while seeking in file "/tmp/snapfifo".
And the same, simultaneously, from snapserver
snapserver: 2019-12-31 10-46-40 [Err] (PipeStream) Exception: end of file
It works fine with mpd so I suspect it’s a Gstreamer thing but I’ve no idea how to debug this any further.