--- Song.pm 2011-10-02 22:48:13.000000000 +0100 +++ Song.pm.new 2011-10-02 20:48:32.000000000 +0100 @@ -474,6 +474,13 @@ } my $contentType = Slim::Music::Info::mimeToType($sock->contentType) || $sock->contentType; + + if ( $url =~ /aac$/i && ($contentType eq 'mp3' || $contentType eq 'txt') ) { + $contentType = 'aac'; + } + elsif ( $url =~ /(?:m4a|mp4)$/i && ($contentType eq 'mp3' || $contentType eq 'txt') ) { + $contentType = 'mp4'; + } # if it's an audio stream, try to stream, # either directly, or via transcoding. @@ -828,8 +835,16 @@ if ($handler->can('canSeek')) { if ($handler->canSeek( $self->master(), $self )) { - return $self->_canSeek(1) if $handler->isRemote(); - + if ($handler->isRemote()) { + if (Slim::Player::TranscodingHelper::getConvertCommand2( + $self, + Slim::Music::Info::contentType($self->currentTrack), + ['R'], ['T'], [])) + { + return $self->_canSeek(2); + } + return $self->_canSeek(1); + } # If dealing with local file and transcoding then best let transcoder seek if it can # First see how we would stream without seeking question