[Slim-Checkins] r10830 - /trunk/server/Slim/Player/Player.pm

andy at svn.slimdevices.com andy at svn.slimdevices.com
Fri Dec 1 19:50:07 PST 2006


Author: andy
Date: Fri Dec  1 19:50:07 2006
New Revision: 10830

URL: http://svn.slimdevices.com?rev=10830&view=rev
Log:
Show the correct buffer status display even if bitrate of stream is unknown

Modified:
    trunk/server/Slim/Player/Player.pm

Modified: trunk/server/Slim/Player/Player.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Player/Player.pm?rev=10830&r1=10829&r2=10830&view=diff
==============================================================================
--- trunk/server/Slim/Player/Player.pm (original)
+++ trunk/server/Slim/Player/Player.pm Fri Dec  1 19:50:07 2006
@@ -712,12 +712,19 @@
 		# show the number of seconds of audio in the buffer instead of a percentage
 		my $url = Slim::Player::Playlist::url($client);
 		if ( Slim::Music::Info::isRemoteURL($url) ) {
+			my $decodeBuffer;
+			
+			# Display decode buffer as seconds if we know the bitrate, otherwise show KB
 			if ( my $bitrate = Slim::Music::Info::getBitrate($url) ) {
-				my $decodeBuffer = $client->bufferFullness() / ( int($bitrate / 8) );
-				my $outputBuffer = $client->outputBufferFullness() / (44100 * 8);
-				$songtime  = ' ' . sprintf "%.1f / %.1f", $decodeBuffer, $outputBuffer;
-				$songtime .= ' ' . $client->string('SECONDS');
-			}
+				$decodeBuffer = sprintf( "%.1f", $client->bufferFullness() / ( int($bitrate / 8) ) );
+			}
+			else {
+				$decodeBuffer = sprintf( "%d KB", $client->bufferFullness() / 1024 );
+			}
+			
+			my $outputBuffer = $client->outputBufferFullness() / (44100 * 8);
+			$songtime  = ' ' . sprintf "%s / %.1f", $decodeBuffer, $outputBuffer;
+			$songtime .= ' ' . $client->string('SECONDS');
 		}
 	} elsif ($showTime) { 
 		$songtime = ' ' . $client->textSongTime($showTime < 0);



More information about the checkins mailing list