@ -1,6 +1,7 @@
using System ;
using System.Collections.Generic ;
using System.IO ;
using System.Linq ;
using System.Text.RegularExpressions ;
using System.Threading ;
using System.Threading.Tasks ;
@ -70,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
}
else if ( ! string . IsNullOrWhiteSpace ( extInf ) & & ! line . StartsWith ( "#" , StringComparison . OrdinalIgnoreCase ) )
{
var channel = GetChannelnfo ( extInf , tunerHostId );
var channel = GetChannelnfo ( extInf , tunerHostId , line );
channel . Id = channelIdPrefix + urlHash + line . GetMD5 ( ) . ToString ( "N" ) ;
channel . Path = line ;
channels . Add ( channel ) ;
@ -79,7 +80,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
}
return channels ;
}
private M3UChannel GetChannelnfo ( string extInf , string tunerHostId )
private M3UChannel GetChannelnfo ( string extInf , string tunerHostId , string mediaUrl )
{
var titleIndex = extInf . LastIndexOf ( ',' ) ;
var channel = new M3UChannel ( ) ;
@ -87,8 +88,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
channel . Number = extInf . Trim ( ) . Split ( ' ' ) [ 0 ] ? ? "0" ;
channel . Name = extInf . Substring ( titleIndex + 1 ) ;
if ( channel . Number = = "-1" ) { channel . Number = "0" ; }
//Check for channel number with the format from SatIp
int number ;
@ -101,6 +100,17 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
channel . Name = channel . Name . Substring ( numberIndex + 1 ) ;
}
}
if ( string . Equals ( channel . Number , "-1" , StringComparison . OrdinalIgnoreCase ) & & ! string . IsNullOrWhiteSpace ( mediaUrl ) )
{
channel . Number = Path . GetFileNameWithoutExtension ( mediaUrl . Split ( '/' ) . Last ( ) ) ;
}
if ( string . Equals ( channel . Number , "-1" , StringComparison . OrdinalIgnoreCase ) )
{
channel . Number = "0" ;
}
channel . ImageUrl = FindProperty ( "tvg-logo" , extInf , null ) ;
channel . Number = FindProperty ( "tvg-id" , extInf , channel . Number ) ;
channel . Number = FindProperty ( "channel-id" , extInf , channel . Number ) ;