The interface to LMS is a squezelite modified to be multi-instanciated,
but other than that, it's super close to squeezelite in term of LMS
protocol. There are 3 levels of buffering, as in squeezelite:

- streaming buffer that receives HTTP stream either from LMS or directly
from the internet stream. By default 2MB ==> make the calculation
according to the bitrate, but that' a lot
- decoder buffer : where the raw decoded data are stored once they are
converted to 16/44.1 ==> 2MB again (I think but it's parametric) ==
2048/(44.1*2*2) = 12s
- output buffer: where the data with replay gain, fading etc is store
==> 2MB again 

Then raw audio is sent to AirPlay devices by chunkc of 352 samples
(=1408 bytes), every 8ms, with 1 to 2 seconds buffering made on the
AirPlay device (UDP streaming).  

I don't think the communication with LMS can be the culprit, there is a
lot of buffering. Unless you network is really bad, the AirPlay part is
rarely the issue for such long blackout (it's RTP, so lost packets are
lost packets, realtime continues no matter what, a blank of 2-3s is a
big blackout - thing would be very different with TCP of course), but
still it's more sensitive that the LMS part. Note that even if there are
lost UDP packets, it does not suspend the LMS connection part, they are
independant threads. 

You could have a "thread starved" for a few seconds, but I don't believe
that has any chance to happen - never seen that

For me, it's likely the connection between with the internet radio
server. As AirPlay bridge (as a squeezelite derivative) can directly
stream from the internet radio, it that connection stalls for too long,
then you'll have blackouts, no matter what. The 2MB streaming buffer
does not change anything here as LMS (at best) tells its's players "get
that amount of raw data and then start playing". I have to look at the
logs, but it's usually not a lot. I can't remember if that threashold
can be changed from the UI. If you can't find any solution, I could
build a squeeze2raop that forces that buffer level (before it starts
playing) - not very easy to do currently as I'm away from my dev
machine, but I can try



LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos
PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000,
ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi
B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010,
AppleTV 4, Airport Express, GGMM E5
------------------------------------------------------------------------
philippe_44's Profile: http://forums.slimdevices.com/member.php?userid=17261
View this thread: http://forums.slimdevices.com/showthread.php?t=108282

_______________________________________________
Squeezecenter mailing list
Squeezecenter@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/squeezecenter

Reply via email to