seberoon wrote: > I have recently installed squeezelite on some raspberry pi's, running > LMS on a Windows machine. Server and clients on a wired network at home. > Working very well but with some synchronisation issues. When I sync one > player to the other I notice occasional small skips in the playback; > enough to bother me. I have taken some care with my NTP setup to ensure > that the client clocks are well synchronised (within 1ms of each other > and within 3-4 ms of the server). With debug logging enabled on the > server I see a lot of resync events in the logs (one every couple of > seconds or so). It seems as though the server flip/flops between > thinking one player is behind other (see extract below). First it > decides that A is 40ms or so behind B and tells A to skip ahead; then a > couple of seconds later it thinks B is behind A by a similar amount and > tells B to skip ahead; and so on. > > This looks to me like bad timing data or some kind of instability in the > LMS sync algorithm, rather than jitter in the clients. I don't see any > obvious problems with the sendSTAT code in squeezelite. The LMS code I > don't understand very well. I'd be grateful for any suggestions how to > get a better understanding of the underlying causes or how to improve > this behaviour. > > Seb > > [14-06-24 16:39:14.0172] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 20ms > [14-06-24 16:39:16.0194] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 19ms > [14-06-24 16:39:18.7812] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 39ms > [14-06-24 16:39:20.7860] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 39ms > [14-06-24 16:39:24.0050] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 31ms > [14-06-24 16:39:26.0082] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 70ms > [14-06-24 16:39:28.0138] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 70ms > [14-06-24 16:39:30.0156] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 49ms > [14-06-24 16:39:32.0025] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 49ms > [14-06-24 16:39:34.0056] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 70ms > [14-06-24 16:39:36.0101] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 71ms > [14-06-24 16:39:38.0062] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 10ms > [14-06-24 16:39:40.0110] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 20ms > [14-06-24 16:39:42.0126] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 20ms > [14-06-24 16:39:45.0686] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 21ms > [14-06-24 16:39:48.0041] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 70ms > [14-06-24 16:39:50.0079] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 70ms > [14-06-24 16:39:52.0033] Slim::Player::StreamingController::_CheckSync > (559) 00:13:ef:20:2d:21 resync: skipAhead 70ms > [14-06-24 16:39:54.0054] Slim::Player::StreamingController::_CheckSync > (559) b8:27:eb:83:7f:a2 resync: skipAhead 70ms
I think the squeezelite code does the right thing, but it would be interesting to see when the reports arrive at the server you should be able to see timestamps from the sync packets with some more debugging. You can adjust some of the server sync settings on the player settings page of the server when a player is synced - try increasing the minimum adjustment interval to reduce the number of adjustments. [or try setting the network latency rather than let it be measured] ------------------------------------------------------------------------ Triode's Profile: http://forums.slimdevices.com/member.php?userid=17 View this thread: http://forums.slimdevices.com/showthread.php?t=97046 _______________________________________________ unix mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/unix
