Subsonic playback skips
-
Playing back audio in Strawberry from my Subsonic server results in intermittent skipping/stuttering. Playback using the Sublime player on the same computer from the same source has no issues.
The server is hosting FLAC files, with no transcoding on the server side. Are there any configuration options available regarding buffering on the Subsonic implementation in Strawberry?My setup
Client side:
Strawberry 1.0.15
Pulseaudio 15.0Server side:
Airsonic 10.6.2 -
@martibs
I've experienced audio shuttering with HTTP/2, there is an option in the backend settings, make sure it is off (not checked).
Does other streams work, like any radio stream?
What version of GStreamer and libsoup do you have? -
@jonas
HTTP/2 was already disabled.
Radio streams seems to work, but have not tested extensively.
Package list:ii gstreamer1.0-alsa:amd64 1.18.4-2 amd64 GStreamer plugin for ALSA ii gstreamer1.0-gtk3:amd64 1.18.4-2+deb11u1 amd64 GStreamer plugin for GTK+3 ii gstreamer1.0-libav:amd64 1.18.4-3 amd64 ffmpeg plugin for GStreamer ii gstreamer1.0-plugins-bad:amd64 1.18.4-3 amd64 GStreamer plugins from the "bad" set ii gstreamer1.0-plugins-base:amd64 1.18.4-2 amd64 GStreamer plugins from the "base" set ii gstreamer1.0-plugins-good:amd64 1.18.4-2+deb11u1 amd64 GStreamer plugins from the "good" set ii gstreamer1.0-plugins-ugly:amd64 1.18.4-2 amd64 GStreamer plugins from the "ugly" set ii gstreamer1.0-pulseaudio:amd64 1.18.4-2+deb11u1 amd64 GStreamer plugin for PulseAudio (transitional package) ii libgstreamer-gl1.0-0:amd64 1.18.4-2 amd64 GStreamer GL libraries ii libgstreamer-plugins-bad1.0-0:amd64 1.18.4-3 amd64 GStreamer libraries from the "bad" set ii libgstreamer-plugins-base1.0-0:amd64 1.18.4-2 amd64 GStreamer libraries from the "base" set ii libgstreamer1.0-0:amd64 1.18.4-2.1 amd64 Core GStreamer libraries and elements ii libsoup-gnome2.4-1:amd64 2.72.0-2 amd64 HTTP library implementation in C -- GNOME support library ii libsoup2.4-1:amd64 2.72.0-2 amd64 HTTP library implementation in C -- Shared library
-
@martibs
In the backend settings, you can try to increase the buffer duration to something like 8000. Set the "low watermark" to a lower value, try for example 0,10, this is when the buffering should start, setting it to a lower value will make it buffer sooner. You need to stop/start the playback for the changes to take affect. -
Upgrading GStreamer to 1.22 could also help, there are a lots of improvements according to the Changelog (https://gstreamer.freedesktop.org/releases/1.22/), the recent versions of Strawberry take advantage the buffering improvements in playbin3.
But the most likely cause for buffering issues are issues with the network, like latency or speed.
-
Raising the buffer duration to 8 000ms didn't do a whole lot. But raising it to 30 000ms, and also lowering the low watermark to 0.10 has almost fixed the issue. There is now just the occasional skip (e.g. once every LP play).
Isn't it possible to implement Subsonic in such a way that it buffers the entire song? This is how Sublime works, it actually buffers the playing song plus the two next tracks in the play queue.