[SlimDevices: Beta] Error in IR.pm, line 68

Phil Meyer slim at hergest.demon.co.uk
Fri Jan 12 00:51:09 PST 2007


Using 6.5.1, WinXP.  I noticed the following error report in the log:

2007-01-11 08:16:52.1553 Backtrace:

   frame 0: Slim::Utils::Misc::assert (P:\Music\SlimServer\trunk\server/Slim/Hardware/IR.pm line 68)
   frame 1: Slim::Hardware::IR::enqueue (P:\Music\SlimServer\trunk\server/Slim/Networking/Slimproto.pm line 469)
   frame 2: Slim::Networking::Slimproto::_ir_handler (P:\Music\SlimServer\trunk\server/Slim/Networking/Slimproto.pm line 387)
   frame 3: Slim::Networking::Slimproto::client_readable (P:\Music\SlimServer\trunk\server/Slim/Networking/Select.pm line 238)
   frame 4: (eval) (P:\Music\SlimServer\trunk\server/Slim/Networking/Select.pm line 238)
   frame 5: Slim::Networking::Select::select (P:\Music\SlimServer\trunk\server\slimserver.pl line 492)
   frame 6: main::idle (P:\Music\SlimServer\trunk\server\slimserver.pl line 445)
   frame 7: main::main (P:\Music\SlimServer\trunk\server\slimserver.pl line 1071)

Here's the problem. P:\Music\SlimServer\trunk\server/Slim/Hardware/IR.pm, line 68:

58	sub enqueue {
59		my $client = shift;
60		my $irCodeBytes = shift;
61		my $clientTime = shift;
62	
63		my $irTime = $clientTime / $client->ticspersec;
64		my $now = Time::HiRes::time();
65	
66		assert($client);
67		assert($irCodeBytes);
68		assert($irTime);
69	
70		# estimate time of actual key press as $irTime + $ref, $ref = min($now - $irTime) over set of key presses
71		# allows estimation of delay for IR key presses queued in slimproto tcp session while server busy/network congested
72		# assumes most IR interaction lasts < 60s, reset estimate after this to ensure recovery from clock adjustments
73		my $offset = $now - $irTime;
74		my $ref    = $client->irRefTime || 0;
75	
76		if ($offset < $ref || $offset - $ref + abs($now - ($client->irRefTimeStored || 0)) > 60) {
77			$ref = $client->irRefTime($offset);
78			$client->irRefTimeStored($now);



More information about the beta mailing list