diff --git a/Slim/Formats/RemoteStream.pm b/Slim/Formats/RemoteStream.pm index 1c5da0ded20..31e0e386b33 100644 --- a/Slim/Formats/RemoteStream.pm +++ b/Slim/Formats/RemoteStream.pm @@ -38,7 +38,7 @@ sub isRemote { return 1; } -sub open { +sub new { my $class = shift; my $args = shift; @@ -119,8 +119,12 @@ sub open { ${*$sock}{'song'} = $args->{'song'}; - return $sock->request($args); + return $sock->open($args); + +} +sub open { + shift->request(@_); } sub request { @@ -197,7 +201,7 @@ sub request { $redir = Slim::Utils::Misc::cloneProtocol($redir, $url); main::INFOLOG && $log->info("Redirect to: $redir"); - return $class->open({ + return $class->new({ 'url' => $redir, 'song' => $args->{'song'}, 'infoUrl' => $self->infoUrl, diff --git a/Slim/Player/Protocols/HTTP.pm b/Slim/Player/Protocols/HTTP.pm index 107965a6e5f..161f416eb26 100644 --- a/Slim/Player/Protocols/HTTP.pm +++ b/Slim/Player/Protocols/HTTP.pm @@ -42,7 +42,7 @@ sub new { # return undef; } - my $self = $class->open($args); + my $self = $class->SUPER::new($args); if (defined($self)) { ${*$self}{'client'} = $args->{'client'}; diff --git a/Slim/Player/Protocols/HTTPS.pm b/Slim/Player/Protocols/HTTPS.pm index 12b910152c3..3a66c248669 100644 --- a/Slim/Player/Protocols/HTTPS.pm +++ b/Slim/Player/Protocols/HTTPS.pm @@ -10,11 +10,6 @@ my $log = logger('player.streaming.remote'); my $prefs = preferences('server'); sub new { - # make sure it's our open called, not system's one - return Slim::Player::Protocols::HTTPS::open(@_); -} - -sub open { my $class = shift; my $args = shift; my $url = $args->{'url'} || ''; diff --git a/Slim/Player/Protocols/MMS.pm b/Slim/Player/Protocols/MMS.pm index 0debcf49dba..74a6e32211a 100644 --- a/Slim/Player/Protocols/MMS.pm +++ b/Slim/Player/Protocols/MMS.pm @@ -47,7 +47,7 @@ sub new { my $url = $args->{'url'}; my $client = $args->{'client'}; - my $self = $class->open($args); + my $self = $class->SUPER::new($args); if (defined($self)) { ${*$self}{'client'} = $args->{'client'};