@ -33,14 +33,14 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
_appHost = appHost ;
}
public async Task < List < M3UChannel > > Parse ( string url , string channelIdPrefix , string tunerHostId , CancellationToken cancellationToken )
public async Task < List < M3UChannel > > Parse ( string url , string channelIdPrefix , string tunerHostId , bool enableStreamUrlAsIdentifier , CancellationToken cancellationToken )
{
var urlHash = url . GetMD5 ( ) . ToString ( "N" ) ;
// Read the file and display it line by line.
using ( var reader = new StreamReader ( await GetListingsStream ( url , cancellationToken ) . ConfigureAwait ( false ) ) )
{
return GetChannels ( reader , urlHash , channelIdPrefix , tunerHostId );
return GetChannels ( reader , urlHash , channelIdPrefix , tunerHostId , enableStreamUrlAsIdentifier );
}
}
@ -51,7 +51,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
// Read the file and display it line by line.
using ( var reader = new StringReader ( text ) )
{
return GetChannels ( reader , urlHash , channelIdPrefix , tunerHostId );
return GetChannels ( reader , urlHash , channelIdPrefix , tunerHostId , false );
}
}
@ -71,7 +71,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
}
const string ExtInfPrefix = "#EXTINF:" ;
private List < M3UChannel > GetChannels ( TextReader reader , string urlHash , string channelIdPrefix , string tunerHostId )
private List < M3UChannel > GetChannels ( TextReader reader , string urlHash , string channelIdPrefix , string tunerHostId , bool enableStreamUrlAsIdentifier )
{
var channels = new List < M3UChannel > ( ) ;
string line ;
@ -97,7 +97,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
else if ( ! string . IsNullOrWhiteSpace ( extInf ) & & ! line . StartsWith ( "#" , StringComparison . OrdinalIgnoreCase ) )
{
var channel = GetChannelnfo ( extInf , tunerHostId , line ) ;
if ( string . IsNullOrWhiteSpace ( channel . Id ) )
if ( string . IsNullOrWhiteSpace ( channel . Id ) | | enableStreamUrlAsIdentifier )
{
channel . Id = channelIdPrefix + urlHash + line . GetMD5 ( ) . ToString ( "N" ) ;
}