[Slim-Checkins] r33909 - /7.8/trunk/server/Slim/Player/SqueezePlay.pm

[email protected] Tue, 27 Mar 2012 19:09:55 -0000
Newsgroups gmane.music.equipment.slimdevices.cvs
Message-ID <[email protected]>
Author: adrian
Date: Tue Mar 27 12:09:55 2012
New Revision: 33909

URL: http://svn.slimdevices.com/slim?rev=33909&view=rev
Log:
Bug: N/A
Description: add additional sampling rates to allow support for these with 3rd party usb kernels

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

Modified: 7.8/trunk/server/Slim/Player/SqueezePlay.pm
URL: http://svn.slimdevices.com/slim/7.8/trunk/server/Slim/Player/SqueezePlay.pm?rev=33909&r1=33908&r2=33909&view=diff
==============================================================================
--- 7.8/trunk/server/Slim/Player/SqueezePlay.pm (original)
+++ 7.8/trunk/server/Slim/Player/SqueezePlay.pm Tue Mar 27 12:09:55 2012
@@ -203,6 +203,33 @@
 	return @{shift->myFormats};
 }
 
+sub pcm_sample_rates {
+	my $client = shift;
+	my $track = shift;
+
+	# extend rate lookup table to allow for up to 192k playback with 3rd party kernels and squeezeplay desktop
+	# note: higher rates only used if supported by MaxSampleRate returned by player
+	my %pcm_sample_rates = (
+		  8000 => '5',
+	 	 11025 => '0',
+		 12000 => '6',
+		 22050 => '1',
+		 24000 => '8',
+		 32000 => '2',
+		 44100 => '3',
+		 48000 => '4',
+		 16000 => '7',
+		 88200 => ':',
+		 96000 => '9',
+		176400 => ';',
+		192000 => '<',
+	);
+	
+	my $rate = $pcm_sample_rates{$track->samplerate()};
+	
+	return defined $rate ? $rate : '3';
+}
+
 sub fade_volume {
 	my ($client, $fade, $callback, $callbackargs) = @_;