|
@@ -13,6 +13,7 @@ using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
|
using CommonIO;
|
|
|
using MediaBrowser.Common.Net;
|
|
|
+using MediaBrowser.Controller;
|
|
|
using MediaBrowser.Controller.Configuration;
|
|
|
using MediaBrowser.Controller.MediaEncoding;
|
|
|
using MediaBrowser.Model.Serialization;
|
|
@@ -24,12 +25,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
|
|
{
|
|
|
private readonly IFileSystem _fileSystem;
|
|
|
private readonly IHttpClient _httpClient;
|
|
|
+ private readonly IServerApplicationHost _appHost;
|
|
|
|
|
|
- public M3UTunerHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient)
|
|
|
+ public M3UTunerHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost)
|
|
|
: base(config, logger, jsonSerializer, mediaEncoder)
|
|
|
{
|
|
|
_fileSystem = fileSystem;
|
|
|
_httpClient = httpClient;
|
|
|
+ _appHost = appHost;
|
|
|
}
|
|
|
|
|
|
public override string Type
|
|
@@ -46,7 +49,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
|
|
|
|
|
protected override async Task<IEnumerable<ChannelInfo>> GetChannelsInternal(TunerHostInfo info, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- return await new M3uParser(Logger, _fileSystem, _httpClient).Parse(info.Url, ChannelIdPrefix, info.Id, cancellationToken).ConfigureAwait(false);
|
|
|
+ return await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).Parse(info.Url, ChannelIdPrefix, info.Id, cancellationToken).ConfigureAwait(false);
|
|
|
}
|
|
|
|
|
|
public Task<List<LiveTvTunerInfo>> GetTunerInfos(CancellationToken cancellationToken)
|
|
@@ -75,7 +78,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
|
|
|
|
|
public async Task Validate(TunerHostInfo info)
|
|
|
{
|
|
|
- using (var stream = await new M3uParser(Logger, _fileSystem, _httpClient).GetListingsStream(info.Url, CancellationToken.None).ConfigureAwait(false))
|
|
|
+ using (var stream = await new M3uParser(Logger, _fileSystem, _httpClient, _appHost).GetListingsStream(info.Url, CancellationToken.None).ConfigureAwait(false))
|
|
|
{
|
|
|
|
|
|
}
|