owntone / owntone-server

Linux/FreeBSD DAAP (iTunes) and MPD audio server with support for AirPlay 1 and 2 speakers (multiroom), Apple Remote (and compatibles), Chromecast, Spotify and internet radio.
https://owntone.github.io/owntone-server
GNU General Public License v2.0
2.09k stars 235 forks source link

Internet radio playback problems #402

Closed john-a-harris closed 7 years ago

john-a-harris commented 7 years ago

Hi there, I am experiencing some issues when listening to certain internet radio stations. The audible problem is break up / gaps in the playback. When this occurs I see warnings like this in the log:

2017-07-09 14:42:27] [ WARN] player: Behind the playback timer with 944 ticks [2017-07-09 14:42:27] [ WARN] player: Will skip reading for a total of 2832 ticks to catch up [2017-07-09 14:42:30] [ WARN] player: Behind the playback timer with 343 ticks [2017-07-09 14:42:30] [ WARN] player: Will skip reading for a total of 1029 ticks to catch up [2017-07-09 14:42:31] [ WARN] player: Behind the playback timer with 135 ticks [2017-07-09 14:42:31] [ WARN] player: Will skip reading for a total of 405 ticks to catch up [2017-07-09 14:42:33] [ WARN] player: Behind the playback timer with 223 ticks [2017-07-09 14:42:33] [ WARN] player: Will skip reading for a total of 669 ticks to catch up [2017-07-09 14:42:34] [ WARN] player: Behind the playback timer with 136 ticks [2017-07-09 14:42:34] [ WARN] player: Will skip reading for a total of 408 ticks to catch up [2017-07-09 14:42:35] [ WARN] player: Behind the playback timer with 118 ticks [2017-07-09 14:42:35] [ WARN] player: Will skip reading for a total of 354 ticks to catch up [2017-07-09 14:42:35] [ WARN] player: Behind the playback timer with 32 ticks [2017-07-09 14:42:35] [ WARN] player: Will skip reading for a total of 96 ticks to catch up [2017-07-09 14:42:36] [ WARN] player: Behind the playback timer with 82 ticks [2017-07-09 14:42:36] [ WARN] player: Will skip reading for a total of 246 ticks to catch up [2017-07-09 14:42:37] [ WARN] player: Behind the playback timer with 33 ticks [2017-07-09 14:42:37] [ WARN] player: Will skip reading for a total of 99 ticks to catch up [2017-07-09 14:42:38] [ WARN] player: Behind the playback timer with 14 ticks [2017-07-09 14:42:38] [ WARN] player: Will skip reading for a total of 42 ticks to catch up

I am using the following version of forked-daapd: forked-daapd -v Forked Media Server: Version 24.2 Copyright (C) 2009-2015 Julien BLACHE <jb@jblache.org> Based on mt-daapd, Copyright (C) 2003-2007 Ron Pedde <ron@pedde.com> Released under the GNU General Public License version 2 or later

I am running the server on a ubuntu box and the playback is on raspberry pi 3 running shairport-sync.

Examples of the streams that seem to suffer from this issue are: http://listen.radionomy.com/smoothjazz247.m3u http://www.listenlive.eu/bbcradio4.m3u

Is there any other information that I could give you? Is there anything else I should check?

Thanks

john

ejurgensen commented 7 years ago

Not so much else to check, but if you are up to it, you could try building a newer version of forked-daapd here from Github. I changed this a while ago, so you won't get these small gaps any more. Otherwise you will have to wait for the next release on Ubuntu, but that could take some time.

The reason for the gaps is probably that the clock on your Ubuntu box runs at a slightly different speed than those radio stations. That can mean that the audio buffer runs out samples after some time. This can still happen in the current version, but it no longer inserts many small gaps to compensate, instead it will take a longer break (~2 seconds) to get back to sync. That shouldn't happen too often.