From 3d5e576c274de9ae27ad53f3489c9d1ce7cb02a0 Mon Sep 17 00:00:00 2001 From: Philippe G Date: Sat, 5 Sep 2020 11:49:01 -0700 Subject: [PATCH] bitrate (right this time) --- Slim/Player/Protocols/HTTP.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Slim/Player/Protocols/HTTP.pm b/Slim/Player/Protocols/HTTP.pm index 336338b14e0..79e5434d93b 100644 --- a/Slim/Player/Protocols/HTTP.pm +++ b/Slim/Player/Protocols/HTTP.pm @@ -549,6 +549,12 @@ sub parseDirectHeaders { ($oggType) = $url->content_type =~ /(ogf|ogg|ops)/; $url = $url->url; } + + my $song = ${*$self}{'song'} if blessed $self; + + if (!$song && $client->controller()->songStreamController()) { + $song = $client->controller()->songStreamController()->song(); + } my ($title, $bitrate, $metaint, $redir, $contentType, $length, $body); my ($rangeLength, $startOffset); @@ -568,8 +574,10 @@ sub parseDirectHeaders { } elsif ($header =~ /^(?:icy-br|x-audiocast-bitrate):\s*(.+)/i) { - $bitrate = $1; - $bitrate *= 1000 if $bitrate < 1000; + if ($song && !$song->bitrate) { + $bitrate = $1; + $bitrate *= 1000 if $bitrate < 8000; + } } elsif ($header =~ /^icy-metaint:\s*(.+)/i) { @@ -606,12 +614,6 @@ sub parseDirectHeaders { $length = $rangeLength; } - my $song = ${*self}{'song'} if blessed $self; - - if (!$song && $client->controller()->songStreamController()) { - $song = $client->controller()->songStreamController()->song(); - } - if ($song && $length) { my $seekdata = $song->seekdata();