mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-31 20:24:21 -04:00
move classes to portable
This commit is contained in:
parent
d0babf322d
commit
d5ea8ca3ad
@ -110,8 +110,34 @@
|
|||||||
<Compile Include="Library\Validators\StudiosValidator.cs" />
|
<Compile Include="Library\Validators\StudiosValidator.cs" />
|
||||||
<Compile Include="Library\Validators\YearsPostScanTask.cs" />
|
<Compile Include="Library\Validators\YearsPostScanTask.cs" />
|
||||||
<Compile Include="LiveTv\ChannelImageProvider.cs" />
|
<Compile Include="LiveTv\ChannelImageProvider.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\DirectRecorder.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\EmbyTV.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\EmbyTVRegistration.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\EncodedRecorder.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\EntryPoint.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\IRecorder.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\ItemDataProvider.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\RecordingHelper.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\SeriesTimerManager.cs" />
|
||||||
|
<Compile Include="LiveTv\EmbyTV\TimerManager.cs" />
|
||||||
|
<Compile Include="LiveTv\Listings\SchedulesDirect.cs" />
|
||||||
|
<Compile Include="LiveTv\Listings\XmlTvListingsProvider.cs" />
|
||||||
|
<Compile Include="LiveTv\LiveStreamHelper.cs" />
|
||||||
|
<Compile Include="LiveTv\LiveTvConfigurationFactory.cs" />
|
||||||
|
<Compile Include="LiveTv\LiveTvDtoService.cs" />
|
||||||
|
<Compile Include="LiveTv\LiveTvManager.cs" />
|
||||||
|
<Compile Include="LiveTv\LiveTvMediaSourceProvider.cs" />
|
||||||
<Compile Include="LiveTv\ProgramImageProvider.cs" />
|
<Compile Include="LiveTv\ProgramImageProvider.cs" />
|
||||||
<Compile Include="LiveTv\RecordingImageProvider.cs" />
|
<Compile Include="LiveTv\RecordingImageProvider.cs" />
|
||||||
|
<Compile Include="LiveTv\RefreshChannelsScheduledTask.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\BaseTunerHost.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunDiscovery.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunHost.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunLiveStream.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\M3uParser.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\M3UTunerHost.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\MulticastStream.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\QueueStream.cs" />
|
||||||
<Compile Include="Logging\PatternsLogger.cs" />
|
<Compile Include="Logging\PatternsLogger.cs" />
|
||||||
<Compile Include="MediaEncoder\EncodingManager.cs" />
|
<Compile Include="MediaEncoder\EncodingManager.cs" />
|
||||||
<Compile Include="News\NewsEntryPoint.cs" />
|
<Compile Include="News\NewsEntryPoint.cs" />
|
||||||
@ -136,6 +162,10 @@
|
|||||||
<Compile Include="ScheduledTasks\SystemUpdateTask.cs" />
|
<Compile Include="ScheduledTasks\SystemUpdateTask.cs" />
|
||||||
<Compile Include="ServerManager\ServerManager.cs" />
|
<Compile Include="ServerManager\ServerManager.cs" />
|
||||||
<Compile Include="ServerManager\WebSocketConnection.cs" />
|
<Compile Include="ServerManager\WebSocketConnection.cs" />
|
||||||
|
<Compile Include="Session\HttpSessionController.cs" />
|
||||||
|
<Compile Include="Session\SessionManager.cs" />
|
||||||
|
<Compile Include="Session\SessionWebSocketListener.cs" />
|
||||||
|
<Compile Include="Session\WebSocketController.cs" />
|
||||||
<Compile Include="Sorting\AiredEpisodeOrderComparer.cs" />
|
<Compile Include="Sorting\AiredEpisodeOrderComparer.cs" />
|
||||||
<Compile Include="Sorting\AirTimeComparer.cs" />
|
<Compile Include="Sorting\AirTimeComparer.cs" />
|
||||||
<Compile Include="Sorting\AlbumArtistComparer.cs" />
|
<Compile Include="Sorting\AlbumArtistComparer.cs" />
|
||||||
|
@ -9,7 +9,7 @@ using MediaBrowser.Controller.IO;
|
|||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class DirectRecorder : IRecorder
|
public class DirectRecorder : IRecorder
|
||||||
{
|
{
|
@ -34,10 +34,12 @@ using MediaBrowser.Controller.Entities;
|
|||||||
using MediaBrowser.Controller.Entities.TV;
|
using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Model.Configuration;
|
using MediaBrowser.Model.Configuration;
|
||||||
|
using MediaBrowser.Model.Diagnostics;
|
||||||
using MediaBrowser.Model.FileOrganization;
|
using MediaBrowser.Model.FileOrganization;
|
||||||
using Microsoft.Win32;
|
using MediaBrowser.Model.System;
|
||||||
|
using MediaBrowser.Model.Threading;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class EmbyTV : ILiveTvService, ISupportsDirectStreamProvider, ISupportsNewTimerIds, IDisposable
|
public class EmbyTV : ILiveTvService, ISupportsDirectStreamProvider, ISupportsNewTimerIds, IDisposable
|
||||||
{
|
{
|
||||||
@ -58,6 +60,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
private readonly IProviderManager _providerManager;
|
private readonly IProviderManager _providerManager;
|
||||||
private readonly IFileOrganizationService _organizationService;
|
private readonly IFileOrganizationService _organizationService;
|
||||||
private readonly IMediaEncoder _mediaEncoder;
|
private readonly IMediaEncoder _mediaEncoder;
|
||||||
|
private readonly IProcessFactory _processFactory;
|
||||||
|
private readonly ISystemEvents _systemEvents;
|
||||||
|
|
||||||
public static EmbyTV Current;
|
public static EmbyTV Current;
|
||||||
|
|
||||||
@ -67,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
private readonly ConcurrentDictionary<string, ActiveRecordingInfo> _activeRecordings =
|
private readonly ConcurrentDictionary<string, ActiveRecordingInfo> _activeRecordings =
|
||||||
new ConcurrentDictionary<string, ActiveRecordingInfo>(StringComparer.OrdinalIgnoreCase);
|
new ConcurrentDictionary<string, ActiveRecordingInfo>(StringComparer.OrdinalIgnoreCase);
|
||||||
|
|
||||||
public EmbyTV(IServerApplicationHost appHost, ILogger logger, IJsonSerializer jsonSerializer, IHttpClient httpClient, IServerConfigurationManager config, ILiveTvManager liveTvManager, IFileSystem fileSystem, ILibraryManager libraryManager, ILibraryMonitor libraryMonitor, IProviderManager providerManager, IFileOrganizationService organizationService, IMediaEncoder mediaEncoder)
|
public EmbyTV(IServerApplicationHost appHost, ILogger logger, IJsonSerializer jsonSerializer, IHttpClient httpClient, IServerConfigurationManager config, ILiveTvManager liveTvManager, IFileSystem fileSystem, ILibraryManager libraryManager, ILibraryMonitor libraryMonitor, IProviderManager providerManager, IFileOrganizationService organizationService, IMediaEncoder mediaEncoder, ITimerFactory timerFactory, IProcessFactory processFactory, ISystemEvents systemEvents)
|
||||||
{
|
{
|
||||||
Current = this;
|
Current = this;
|
||||||
|
|
||||||
@ -81,11 +85,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
_providerManager = providerManager;
|
_providerManager = providerManager;
|
||||||
_organizationService = organizationService;
|
_organizationService = organizationService;
|
||||||
_mediaEncoder = mediaEncoder;
|
_mediaEncoder = mediaEncoder;
|
||||||
|
_processFactory = processFactory;
|
||||||
|
_systemEvents = systemEvents;
|
||||||
_liveTvManager = (LiveTvManager)liveTvManager;
|
_liveTvManager = (LiveTvManager)liveTvManager;
|
||||||
_jsonSerializer = jsonSerializer;
|
_jsonSerializer = jsonSerializer;
|
||||||
|
|
||||||
_seriesTimerProvider = new SeriesTimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "seriestimers"));
|
_seriesTimerProvider = new SeriesTimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "seriestimers"));
|
||||||
_timerProvider = new TimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "timers"), _logger);
|
_timerProvider = new TimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "timers"), _logger, timerFactory);
|
||||||
_timerProvider.TimerFired += _timerProvider_TimerFired;
|
_timerProvider.TimerFired += _timerProvider_TimerFired;
|
||||||
|
|
||||||
_config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
|
_config.NamedConfigurationUpdated += _config_NamedConfigurationUpdated;
|
||||||
@ -103,10 +109,15 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
{
|
{
|
||||||
_timerProvider.RestartTimers();
|
_timerProvider.RestartTimers();
|
||||||
|
|
||||||
SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;
|
_systemEvents.Resume += _systemEvents_Resume;
|
||||||
CreateRecordingFolders();
|
CreateRecordingFolders();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void _systemEvents_Resume(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_timerProvider.RestartTimers();
|
||||||
|
}
|
||||||
|
|
||||||
private void OnRecordingFoldersChanged()
|
private void OnRecordingFoldersChanged()
|
||||||
{
|
{
|
||||||
CreateRecordingFolders();
|
CreateRecordingFolders();
|
||||||
@ -230,16 +241,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e)
|
|
||||||
{
|
|
||||||
_logger.Info("Power mode changed to {0}", e.Mode);
|
|
||||||
|
|
||||||
if (e.Mode == PowerModes.Resume)
|
|
||||||
{
|
|
||||||
_timerProvider.RestartTimers();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public string Name
|
public string Name
|
||||||
{
|
{
|
||||||
get { return "Emby"; }
|
get { return "Emby"; }
|
||||||
@ -987,7 +988,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
_liveStreamsSemaphore.Release();
|
_liveStreamsSemaphore.Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new ApplicationException("Tuner not found.");
|
throw new Exception("Tuner not found.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<MediaSourceInfo>> GetChannelStreamMediaSources(string channelId, CancellationToken cancellationToken)
|
public async Task<List<MediaSourceInfo>> GetChannelStreamMediaSources(string channelId, CancellationToken cancellationToken)
|
||||||
@ -1030,7 +1031,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
IsInfiniteStream = true,
|
IsInfiniteStream = true,
|
||||||
RequiresOpening = false,
|
RequiresOpening = false,
|
||||||
RequiresClosing = false,
|
RequiresClosing = false,
|
||||||
Protocol = Model.MediaInfo.MediaProtocol.Http,
|
Protocol = MediaBrowser.Model.MediaInfo.MediaProtocol.Http,
|
||||||
BufferMs = 0
|
BufferMs = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1352,7 +1353,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
timer.StartDate = DateTime.UtcNow.AddSeconds(retryIntervalSeconds);
|
timer.StartDate = DateTime.UtcNow.AddSeconds(retryIntervalSeconds);
|
||||||
_timerProvider.AddOrUpdate(timer);
|
_timerProvider.AddOrUpdate(timer);
|
||||||
}
|
}
|
||||||
else if (File.Exists(recordPath))
|
else if (_fileSystem.FileExists(recordPath))
|
||||||
{
|
{
|
||||||
timer.RecordingPath = recordPath;
|
timer.RecordingPath = recordPath;
|
||||||
timer.Status = RecordingStatus.Completed;
|
timer.Status = RecordingStatus.Completed;
|
||||||
@ -1408,7 +1409,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
.Where(i => i.Status == RecordingStatus.Completed && !string.IsNullOrWhiteSpace(i.RecordingPath))
|
.Where(i => i.Status == RecordingStatus.Completed && !string.IsNullOrWhiteSpace(i.RecordingPath))
|
||||||
.Where(i => string.Equals(i.SeriesTimerId, seriesTimerId, StringComparison.OrdinalIgnoreCase))
|
.Where(i => string.Equals(i.SeriesTimerId, seriesTimerId, StringComparison.OrdinalIgnoreCase))
|
||||||
.OrderByDescending(i => i.EndDate)
|
.OrderByDescending(i => i.EndDate)
|
||||||
.Where(i => File.Exists(i.RecordingPath))
|
.Where(i => _fileSystem.FileExists(i.RecordingPath))
|
||||||
.Skip(seriesTimer.KeepUpTo - 1)
|
.Skip(seriesTimer.KeepUpTo - 1)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -1456,13 +1457,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File.Delete(timer.RecordingPath);
|
_fileSystem.DeleteFile(timer.RecordingPath);
|
||||||
}
|
}
|
||||||
catch (DirectoryNotFoundException)
|
catch (IOException)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (FileNotFoundException)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1518,7 +1515,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
|
|
||||||
if (regInfo.IsValid)
|
if (regInfo.IsValid)
|
||||||
{
|
{
|
||||||
return new EncodedRecorder(_logger, _fileSystem, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, config, _httpClient);
|
return new EncodedRecorder(_logger, _fileSystem, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, config, _httpClient, _processFactory);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1574,7 +1571,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
{
|
{
|
||||||
var nfoPath = Path.Combine(seriesPath, "tvshow.nfo");
|
var nfoPath = Path.Combine(seriesPath, "tvshow.nfo");
|
||||||
|
|
||||||
if (File.Exists(nfoPath))
|
if (_fileSystem.FileExists(nfoPath))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1609,7 +1606,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
{
|
{
|
||||||
var nfoPath = Path.ChangeExtension(recordingPath, ".nfo");
|
var nfoPath = Path.ChangeExtension(recordingPath, ".nfo");
|
||||||
|
|
||||||
if (File.Exists(nfoPath))
|
if (_fileSystem.FileExists(nfoPath))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -1930,7 +1927,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
var defaultFolder = RecordingPath;
|
var defaultFolder = RecordingPath;
|
||||||
var defaultName = "Recordings";
|
var defaultName = "Recordings";
|
||||||
|
|
||||||
if (Directory.Exists(defaultFolder))
|
if (_fileSystem.DirectoryExists(defaultFolder))
|
||||||
{
|
{
|
||||||
list.Add(new VirtualFolderInfo
|
list.Add(new VirtualFolderInfo
|
||||||
{
|
{
|
||||||
@ -1940,7 +1937,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
}
|
}
|
||||||
|
|
||||||
var customPath = GetConfiguration().MovieRecordingPath;
|
var customPath = GetConfiguration().MovieRecordingPath;
|
||||||
if ((!string.IsNullOrWhiteSpace(customPath) && !string.Equals(customPath, defaultFolder, StringComparison.OrdinalIgnoreCase)) && Directory.Exists(customPath))
|
if ((!string.IsNullOrWhiteSpace(customPath) && !string.Equals(customPath, defaultFolder, StringComparison.OrdinalIgnoreCase)) && _fileSystem.DirectoryExists(customPath))
|
||||||
{
|
{
|
||||||
list.Add(new VirtualFolderInfo
|
list.Add(new VirtualFolderInfo
|
||||||
{
|
{
|
||||||
@ -1951,7 +1948,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
}
|
}
|
||||||
|
|
||||||
customPath = GetConfiguration().SeriesRecordingPath;
|
customPath = GetConfiguration().SeriesRecordingPath;
|
||||||
if ((!string.IsNullOrWhiteSpace(customPath) && !string.Equals(customPath, defaultFolder, StringComparison.OrdinalIgnoreCase)) && Directory.Exists(customPath))
|
if ((!string.IsNullOrWhiteSpace(customPath) && !string.Equals(customPath, defaultFolder, StringComparison.OrdinalIgnoreCase)) && _fileSystem.DirectoryExists(customPath))
|
||||||
{
|
{
|
||||||
list.Add(new VirtualFolderInfo
|
list.Add(new VirtualFolderInfo
|
||||||
{
|
{
|
@ -1,7 +1,7 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Common.Security;
|
using MediaBrowser.Common.Security;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class EmbyTVRegistration : IRequiresRegistration
|
public class EmbyTVRegistration : IRequiresRegistration
|
||||||
{
|
{
|
@ -13,13 +13,14 @@ using MediaBrowser.Common.Net;
|
|||||||
using MediaBrowser.Controller;
|
using MediaBrowser.Controller;
|
||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Controller.MediaEncoding;
|
using MediaBrowser.Controller.MediaEncoding;
|
||||||
|
using MediaBrowser.Model.Diagnostics;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class EncodedRecorder : IRecorder
|
public class EncodedRecorder : IRecorder
|
||||||
{
|
{
|
||||||
@ -32,11 +33,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
private bool _hasExited;
|
private bool _hasExited;
|
||||||
private Stream _logFileStream;
|
private Stream _logFileStream;
|
||||||
private string _targetPath;
|
private string _targetPath;
|
||||||
private Process _process;
|
private IProcess _process;
|
||||||
|
private readonly IProcessFactory _processFactory;
|
||||||
private readonly IJsonSerializer _json;
|
private readonly IJsonSerializer _json;
|
||||||
private readonly TaskCompletionSource<bool> _taskCompletionSource = new TaskCompletionSource<bool>();
|
private readonly TaskCompletionSource<bool> _taskCompletionSource = new TaskCompletionSource<bool>();
|
||||||
|
|
||||||
public EncodedRecorder(ILogger logger, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IServerApplicationPaths appPaths, IJsonSerializer json, LiveTvOptions liveTvOptions, IHttpClient httpClient)
|
public EncodedRecorder(ILogger logger, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IServerApplicationPaths appPaths, IJsonSerializer json, LiveTvOptions liveTvOptions, IHttpClient httpClient, IProcessFactory processFactory)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
@ -45,6 +47,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
_json = json;
|
_json = json;
|
||||||
_liveTvOptions = liveTvOptions;
|
_liveTvOptions = liveTvOptions;
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
|
_processFactory = processFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string OutputFormat
|
private string OutputFormat
|
||||||
@ -82,27 +85,23 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
_targetPath = targetFile;
|
_targetPath = targetFile;
|
||||||
_fileSystem.CreateDirectory(Path.GetDirectoryName(targetFile));
|
_fileSystem.CreateDirectory(Path.GetDirectoryName(targetFile));
|
||||||
|
|
||||||
var process = new Process
|
var process = _processFactory.Create(new ProcessOptions
|
||||||
{
|
{
|
||||||
StartInfo = new ProcessStartInfo
|
CreateNoWindow = true,
|
||||||
{
|
UseShellExecute = false,
|
||||||
CreateNoWindow = true,
|
|
||||||
UseShellExecute = false,
|
|
||||||
|
|
||||||
// Must consume both stdout and stderr or deadlocks may occur
|
// Must consume both stdout and stderr or deadlocks may occur
|
||||||
//RedirectStandardOutput = true,
|
//RedirectStandardOutput = true,
|
||||||
RedirectStandardError = true,
|
RedirectStandardError = true,
|
||||||
RedirectStandardInput = true,
|
RedirectStandardInput = true,
|
||||||
|
|
||||||
FileName = _mediaEncoder.EncoderPath,
|
FileName = _mediaEncoder.EncoderPath,
|
||||||
Arguments = GetCommandLineArgs(mediaSource, inputFile, targetFile, duration),
|
Arguments = GetCommandLineArgs(mediaSource, inputFile, targetFile, duration),
|
||||||
|
|
||||||
WindowStyle = ProcessWindowStyle.Hidden,
|
|
||||||
ErrorDialog = false
|
|
||||||
},
|
|
||||||
|
|
||||||
|
IsHidden = true,
|
||||||
|
ErrorDialog = false,
|
||||||
EnableRaisingEvents = true
|
EnableRaisingEvents = true
|
||||||
};
|
});
|
||||||
|
|
||||||
_process = process;
|
_process = process;
|
||||||
|
|
||||||
@ -251,7 +250,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Processes the exited.
|
/// Processes the exited.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void OnFfMpegProcessExited(Process process, string inputFile)
|
private void OnFfMpegProcessExited(IProcess process, string inputFile)
|
||||||
{
|
{
|
||||||
_hasExited = true;
|
_hasExited = true;
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
using MediaBrowser.Controller.Plugins;
|
using MediaBrowser.Controller.Plugins;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class EntryPoint : IServerEntryPoint
|
public class EntryPoint : IServerEntryPoint
|
||||||
{
|
{
|
@ -3,7 +3,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public interface IRecorder
|
public interface IRecorder
|
||||||
{
|
{
|
@ -8,7 +8,7 @@ using MediaBrowser.Common.IO;
|
|||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class ItemDataProvider<T>
|
public class ItemDataProvider<T>
|
||||||
where T : class
|
where T : class
|
||||||
@ -54,9 +54,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
catch (FileNotFoundException)
|
catch (FileNotFoundException)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
catch (DirectoryNotFoundException)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
catch (IOException ex)
|
catch (IOException ex)
|
||||||
{
|
{
|
||||||
Logger.ErrorException("Error deserializing {0}", ex, jsonFile);
|
Logger.ErrorException("Error deserializing {0}", ex, jsonFile);
|
@ -4,7 +4,7 @@ using System;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
internal class RecordingHelper
|
internal class RecordingHelper
|
||||||
{
|
{
|
@ -6,7 +6,7 @@ using MediaBrowser.Common.IO;
|
|||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class SeriesTimerManager : ItemDataProvider<SeriesTimerInfo>
|
public class SeriesTimerManager : ItemDataProvider<SeriesTimerInfo>
|
||||||
{
|
{
|
@ -12,20 +12,23 @@ using MediaBrowser.Common.IO;
|
|||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
|
using MediaBrowser.Model.Threading;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
namespace Emby.Server.Implementations.LiveTv.EmbyTV
|
||||||
{
|
{
|
||||||
public class TimerManager : ItemDataProvider<TimerInfo>
|
public class TimerManager : ItemDataProvider<TimerInfo>
|
||||||
{
|
{
|
||||||
private readonly ConcurrentDictionary<string, Timer> _timers = new ConcurrentDictionary<string, Timer>(StringComparer.OrdinalIgnoreCase);
|
private readonly ConcurrentDictionary<string, ITimer> _timers = new ConcurrentDictionary<string, ITimer>(StringComparer.OrdinalIgnoreCase);
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
|
|
||||||
public event EventHandler<GenericEventArgs<TimerInfo>> TimerFired;
|
public event EventHandler<GenericEventArgs<TimerInfo>> TimerFired;
|
||||||
|
private readonly ITimerFactory _timerFactory;
|
||||||
|
|
||||||
public TimerManager(IFileSystem fileSystem, IJsonSerializer jsonSerializer, ILogger logger, string dataPath, ILogger logger1)
|
public TimerManager(IFileSystem fileSystem, IJsonSerializer jsonSerializer, ILogger logger, string dataPath, ILogger logger1, ITimerFactory timerFactory)
|
||||||
: base(fileSystem, jsonSerializer, logger, dataPath, (r1, r2) => string.Equals(r1.Id, r2.Id, StringComparison.OrdinalIgnoreCase))
|
: base(fileSystem, jsonSerializer, logger, dataPath, (r1, r2) => string.Equals(r1.Id, r2.Id, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
_logger = logger1;
|
_logger = logger1;
|
||||||
|
_timerFactory = timerFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RestartTimers()
|
public void RestartTimers()
|
||||||
@ -126,7 +129,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
|
|
||||||
private void StartTimer(TimerInfo item, TimeSpan dueTime)
|
private void StartTimer(TimerInfo item, TimeSpan dueTime)
|
||||||
{
|
{
|
||||||
var timer = new Timer(TimerCallback, item.Id, dueTime, TimeSpan.Zero);
|
var timer = _timerFactory.Create(TimerCallback, item.Id, dueTime, TimeSpan.Zero);
|
||||||
|
|
||||||
if (_timers.TryAdd(item.Id, timer))
|
if (_timers.TryAdd(item.Id, timer))
|
||||||
{
|
{
|
||||||
@ -141,7 +144,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
|
|||||||
|
|
||||||
private void StopTimer(TimerInfo item)
|
private void StopTimer(TimerInfo item)
|
||||||
{
|
{
|
||||||
Timer timer;
|
ITimer timer;
|
||||||
if (_timers.TryRemove(item.Id, out timer))
|
if (_timers.TryRemove(item.Id, out timer))
|
||||||
{
|
{
|
||||||
timer.Dispose();
|
timer.Dispose();
|
@ -16,7 +16,7 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
namespace Emby.Server.Implementations.LiveTv.Listings
|
||||||
{
|
{
|
||||||
public class SchedulesDirect : IListingsProvider
|
public class SchedulesDirect : IListingsProvider
|
||||||
{
|
{
|
||||||
@ -589,13 +589,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
{
|
{
|
||||||
var imageIdString = "[";
|
var imageIdString = "[";
|
||||||
|
|
||||||
programIds.ForEach(i =>
|
foreach (var i in programIds)
|
||||||
{
|
{
|
||||||
if (!imageIdString.Contains(i.Substring(0, 10)))
|
if (!imageIdString.Contains(i.Substring(0, 10)))
|
||||||
{
|
{
|
||||||
imageIdString += "\"" + i.Substring(0, 10) + "\",";
|
imageIdString += "\"" + i.Substring(0, 10) + "\",";
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
imageIdString = imageIdString.TrimEnd(',') + "]";
|
imageIdString = imageIdString.TrimEnd(',') + "]";
|
||||||
|
|
||||||
var httpOptions = new HttpRequestOptions()
|
var httpOptions = new HttpRequestOptions()
|
||||||
@ -822,7 +823,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
return root.token;
|
return root.token;
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new ApplicationException("Could not authenticate with Schedules Direct Error: " + root.message);
|
throw new Exception("Could not authenticate with Schedules Direct Error: " + root.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -15,21 +15,24 @@ using Emby.XmlTv.Entities;
|
|||||||
using MediaBrowser.Common.Extensions;
|
using MediaBrowser.Common.Extensions;
|
||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
namespace Emby.Server.Implementations.LiveTv.Listings
|
||||||
{
|
{
|
||||||
public class XmlTvListingsProvider : IListingsProvider
|
public class XmlTvListingsProvider : IListingsProvider
|
||||||
{
|
{
|
||||||
private readonly IServerConfigurationManager _config;
|
private readonly IServerConfigurationManager _config;
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
|
private readonly IFileSystem _fileSystem;
|
||||||
|
|
||||||
public XmlTvListingsProvider(IServerConfigurationManager config, IHttpClient httpClient, ILogger logger)
|
public XmlTvListingsProvider(IServerConfigurationManager config, IHttpClient httpClient, ILogger logger, IFileSystem fileSystem)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_fileSystem = fileSystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name
|
public string Name
|
||||||
@ -58,7 +61,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
|
|
||||||
var cacheFilename = DateTime.UtcNow.DayOfYear.ToString(CultureInfo.InvariantCulture) + "-" + DateTime.UtcNow.Hour.ToString(CultureInfo.InvariantCulture) + ".xml";
|
var cacheFilename = DateTime.UtcNow.DayOfYear.ToString(CultureInfo.InvariantCulture) + "-" + DateTime.UtcNow.Hour.ToString(CultureInfo.InvariantCulture) + ".xml";
|
||||||
var cacheFile = Path.Combine(_config.ApplicationPaths.CachePath, "xmltv", cacheFilename);
|
var cacheFile = Path.Combine(_config.ApplicationPaths.CachePath, "xmltv", cacheFilename);
|
||||||
if (File.Exists(cacheFile))
|
if (_fileSystem.FileExists(cacheFile))
|
||||||
{
|
{
|
||||||
return cacheFile;
|
return cacheFile;
|
||||||
}
|
}
|
||||||
@ -78,13 +81,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
|
|
||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
|
|
||||||
Directory.CreateDirectory(Path.GetDirectoryName(cacheFile));
|
_fileSystem.CreateDirectory(Path.GetDirectoryName(cacheFile));
|
||||||
|
|
||||||
using (var stream = File.OpenRead(tempFile))
|
using (var stream = _fileSystem.OpenRead(tempFile))
|
||||||
{
|
{
|
||||||
using (var reader = new StreamReader(stream, Encoding.UTF8))
|
using (var reader = new StreamReader(stream, Encoding.UTF8))
|
||||||
{
|
{
|
||||||
using (var fileStream = File.OpenWrite(cacheFile))
|
using (var fileStream = _fileSystem.GetFileStream(cacheFile, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read))
|
||||||
{
|
{
|
||||||
using (var writer = new StreamWriter(fileStream))
|
using (var writer = new StreamWriter(fileStream))
|
||||||
{
|
{
|
||||||
@ -138,10 +141,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
IsSeries = p.Episode != null,
|
IsSeries = p.Episode != null,
|
||||||
IsRepeat = p.IsRepeat,
|
IsRepeat = p.IsRepeat,
|
||||||
IsPremiere = p.Premiere != null,
|
IsPremiere = p.Premiere != null,
|
||||||
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
IsKids = p.Categories.Any(c => info.KidsCategories.Contains(c, StringComparer.OrdinalIgnoreCase)),
|
||||||
IsMovie = p.Categories.Any(c => info.MovieCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
IsMovie = p.Categories.Any(c => info.MovieCategories.Contains(c, StringComparer.OrdinalIgnoreCase)),
|
||||||
IsNews = p.Categories.Any(c => info.NewsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
IsNews = p.Categories.Any(c => info.NewsCategories.Contains(c, StringComparer.OrdinalIgnoreCase)),
|
||||||
IsSports = p.Categories.Any(c => info.SportsCategories.Contains(c, StringComparer.InvariantCultureIgnoreCase)),
|
IsSports = p.Categories.Any(c => info.SportsCategories.Contains(c, StringComparer.OrdinalIgnoreCase)),
|
||||||
ImageUrl = p.Icon != null && !String.IsNullOrEmpty(p.Icon.Source) ? p.Icon.Source : null,
|
ImageUrl = p.Icon != null && !String.IsNullOrEmpty(p.Icon.Source) ? p.Icon.Source : null,
|
||||||
HasImage = p.Icon != null && !String.IsNullOrEmpty(p.Icon.Source),
|
HasImage = p.Icon != null && !String.IsNullOrEmpty(p.Icon.Source),
|
||||||
OfficialRating = p.Rating != null && !String.IsNullOrEmpty(p.Rating.Value) ? p.Rating.Value : null,
|
OfficialRating = p.Rating != null && !String.IsNullOrEmpty(p.Rating.Value) ? p.Rating.Value : null,
|
||||||
@ -177,7 +180,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
|
|
||||||
if (channels != null)
|
if (channels != null)
|
||||||
{
|
{
|
||||||
channels.ForEach(c =>
|
foreach (var c in channels)
|
||||||
{
|
{
|
||||||
var channelNumber = info.GetMappedChannel(c.Number);
|
var channelNumber = info.GetMappedChannel(c.Number);
|
||||||
var match = results.FirstOrDefault(r => string.Equals(r.Id, channelNumber, StringComparison.OrdinalIgnoreCase));
|
var match = results.FirstOrDefault(r => string.Equals(r.Id, channelNumber, StringComparison.OrdinalIgnoreCase));
|
||||||
@ -186,14 +189,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
|
|||||||
{
|
{
|
||||||
c.ImageUrl = match.Icon.Source;
|
c.ImageUrl = match.Icon.Source;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task Validate(ListingsProviderInfo info, bool validateLogin, bool validateListings)
|
public Task Validate(ListingsProviderInfo info, bool validateLogin, bool validateListings)
|
||||||
{
|
{
|
||||||
// Assume all urls are valid. check files for existence
|
// Assume all urls are valid. check files for existence
|
||||||
if (!info.Path.StartsWith("http", StringComparison.OrdinalIgnoreCase) && !File.Exists(info.Path))
|
if (!info.Path.StartsWith("http", StringComparison.OrdinalIgnoreCase) && !_fileSystem.FileExists(info.Path))
|
||||||
{
|
{
|
||||||
throw new FileNotFoundException("Could not find the XmlTv file specified:", info.Path);
|
throw new FileNotFoundException("Could not find the XmlTv file specified:", info.Path);
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ using MediaBrowser.Model.Dlna;
|
|||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
public class LiveStreamHelper
|
public class LiveStreamHelper
|
||||||
{
|
{
|
||||||
@ -57,7 +57,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
mediaSource.RunTimeTicks = null;
|
mediaSource.RunTimeTicks = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var audioStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == Model.Entities.MediaStreamType.Audio);
|
var audioStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == MediaBrowser.Model.Entities.MediaStreamType.Audio);
|
||||||
|
|
||||||
if (audioStream == null || audioStream.Index == -1)
|
if (audioStream == null || audioStream.Index == -1)
|
||||||
{
|
{
|
||||||
@ -68,7 +68,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
mediaSource.DefaultAudioStreamIndex = audioStream.Index;
|
mediaSource.DefaultAudioStreamIndex = audioStream.Index;
|
||||||
}
|
}
|
||||||
|
|
||||||
var videoStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == Model.Entities.MediaStreamType.Video);
|
var videoStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == MediaBrowser.Model.Entities.MediaStreamType.Video);
|
||||||
if (videoStream != null)
|
if (videoStream != null)
|
||||||
{
|
{
|
||||||
if (!videoStream.BitRate.HasValue)
|
if (!videoStream.BitRate.HasValue)
|
@ -2,7 +2,7 @@
|
|||||||
using MediaBrowser.Model.LiveTv;
|
using MediaBrowser.Model.LiveTv;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
public class LiveTvConfigurationFactory : IConfigurationFactory
|
public class LiveTvConfigurationFactory : IConfigurationFactory
|
||||||
{
|
{
|
@ -14,7 +14,7 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
public class LiveTvDtoService
|
public class LiveTvDtoService
|
||||||
{
|
{
|
@ -25,8 +25,6 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using IniParser;
|
|
||||||
using IniParser.Model;
|
|
||||||
using MediaBrowser.Common.Events;
|
using MediaBrowser.Common.Events;
|
||||||
using MediaBrowser.Common.IO;
|
using MediaBrowser.Common.IO;
|
||||||
using MediaBrowser.Common.Security;
|
using MediaBrowser.Common.Security;
|
||||||
@ -37,9 +35,9 @@ using MediaBrowser.Model.Events;
|
|||||||
using MediaBrowser.Model.Extensions;
|
using MediaBrowser.Model.Extensions;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.Tasks;
|
using MediaBrowser.Model.Tasks;
|
||||||
using MediaBrowser.Server.Implementations.LiveTv.Listings;
|
using Emby.Server.Implementations.LiveTv.Listings;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class LiveTvManager
|
/// Class LiveTvManager
|
||||||
@ -2967,43 +2965,46 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
|
|
||||||
public List<NameValuePair> GetSatIniMappings()
|
public List<NameValuePair> GetSatIniMappings()
|
||||||
{
|
{
|
||||||
var names = GetType().Assembly.GetManifestResourceNames().Where(i => i.IndexOf("SatIp.ini", StringComparison.OrdinalIgnoreCase) != -1).ToList();
|
return new List<NameValuePair>();
|
||||||
|
//var names = GetType().Assembly.GetManifestResourceNames().Where(i => i.IndexOf("SatIp.ini", StringComparison.OrdinalIgnoreCase) != -1).ToList();
|
||||||
|
|
||||||
return names.Select(GetSatIniMappings).Where(i => i != null).DistinctBy(i => i.Value.Split('|')[0]).ToList();
|
//return names.Select(GetSatIniMappings).Where(i => i != null).DistinctBy(i => i.Value.Split('|')[0]).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public NameValuePair GetSatIniMappings(string resource)
|
public NameValuePair GetSatIniMappings(string resource)
|
||||||
{
|
{
|
||||||
using (var stream = GetType().Assembly.GetManifestResourceStream(resource))
|
return new NameValuePair();
|
||||||
{
|
//using (var stream = GetType().Assembly.GetManifestResourceStream(resource))
|
||||||
using (var reader = new StreamReader(stream))
|
//{
|
||||||
{
|
// using (var reader = new StreamReader(stream))
|
||||||
var parser = new StreamIniDataParser();
|
// {
|
||||||
IniData data = parser.ReadData(reader);
|
// var parser = new StreamIniDataParser();
|
||||||
|
// IniData data = parser.ReadData(reader);
|
||||||
|
|
||||||
var satType1 = data["SATTYPE"]["1"];
|
// var satType1 = data["SATTYPE"]["1"];
|
||||||
var satType2 = data["SATTYPE"]["2"];
|
// var satType2 = data["SATTYPE"]["2"];
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(satType2))
|
// if (string.IsNullOrWhiteSpace(satType2))
|
||||||
{
|
// {
|
||||||
return null;
|
// return null;
|
||||||
}
|
// }
|
||||||
|
|
||||||
var srch = "SatIp.ini.";
|
// var srch = "SatIp.ini.";
|
||||||
var filename = Path.GetFileName(resource);
|
// var filename = Path.GetFileName(resource);
|
||||||
|
|
||||||
return new NameValuePair
|
// return new NameValuePair
|
||||||
{
|
// {
|
||||||
Name = satType1 + " " + satType2,
|
// Name = satType1 + " " + satType2,
|
||||||
Value = satType2 + "|" + filename.Substring(filename.IndexOf(srch) + srch.Length)
|
// Value = satType2 + "|" + filename.Substring(filename.IndexOf(srch) + srch.Length)
|
||||||
};
|
// };
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<List<ChannelInfo>> GetSatChannelScanResult(TunerHostInfo info, CancellationToken cancellationToken)
|
public Task<List<ChannelInfo>> GetSatChannelScanResult(TunerHostInfo info, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
return new TunerHosts.SatIp.ChannelScan(_logger).Scan(info, cancellationToken);
|
return Task.FromResult(new List<ChannelInfo>());
|
||||||
|
//return new TunerHosts.SatIp.ChannelScan(_logger).Scan(info, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<List<ChannelInfo>> GetChannelsForListingsProvider(string id, CancellationToken cancellationToken)
|
public Task<List<ChannelInfo>> GetChannelsForListingsProvider(string id, CancellationToken cancellationToken)
|
@ -15,7 +15,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Dlna;
|
using MediaBrowser.Model.Dlna;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
public class LiveTvMediaSourceProvider : IMediaSourceProvider
|
public class LiveTvMediaSourceProvider : IMediaSourceProvider
|
||||||
{
|
{
|
||||||
@ -164,7 +164,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
// Null this out so that it will be treated like a live stream
|
// Null this out so that it will be treated like a live stream
|
||||||
mediaSource.RunTimeTicks = null;
|
mediaSource.RunTimeTicks = null;
|
||||||
|
|
||||||
var audioStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == Model.Entities.MediaStreamType.Audio);
|
var audioStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == MediaBrowser.Model.Entities.MediaStreamType.Audio);
|
||||||
|
|
||||||
if (audioStream == null || audioStream.Index == -1)
|
if (audioStream == null || audioStream.Index == -1)
|
||||||
{
|
{
|
||||||
@ -175,7 +175,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
|||||||
mediaSource.DefaultAudioStreamIndex = audioStream.Index;
|
mediaSource.DefaultAudioStreamIndex = audioStream.Index;
|
||||||
}
|
}
|
||||||
|
|
||||||
var videoStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == Model.Entities.MediaStreamType.Video);
|
var videoStream = mediaSource.MediaStreams.FirstOrDefault(i => i.Type == MediaBrowser.Model.Entities.MediaStreamType.Video);
|
||||||
if (videoStream != null)
|
if (videoStream != null)
|
||||||
{
|
{
|
||||||
if (!videoStream.BitRate.HasValue)
|
if (!videoStream.BitRate.HasValue)
|
@ -7,7 +7,7 @@ using System.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Tasks;
|
using MediaBrowser.Model.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv
|
namespace Emby.Server.Implementations.LiveTv
|
||||||
{
|
{
|
||||||
public class RefreshChannelsScheduledTask : IScheduledTask, IConfigurableScheduledTask
|
public class RefreshChannelsScheduledTask : IScheduledTask, IConfigurableScheduledTask
|
||||||
{
|
{
|
@ -15,7 +15,7 @@ using MediaBrowser.Controller.MediaEncoding;
|
|||||||
using MediaBrowser.Model.Dlna;
|
using MediaBrowser.Model.Dlna;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
||||||
{
|
{
|
||||||
public abstract class BaseTunerHost
|
public abstract class BaseTunerHost
|
||||||
{
|
{
|
@ -14,7 +14,7 @@ using MediaBrowser.Model.Dlna;
|
|||||||
using MediaBrowser.Model.Events;
|
using MediaBrowser.Model.Events;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
||||||
{
|
{
|
||||||
public class HdHomerunDiscovery : IServerEntryPoint
|
public class HdHomerunDiscovery : IServerEntryPoint
|
||||||
{
|
{
|
@ -24,7 +24,7 @@ using MediaBrowser.Controller.MediaEncoding;
|
|||||||
using MediaBrowser.Model.Configuration;
|
using MediaBrowser.Model.Configuration;
|
||||||
using MediaBrowser.Model.Net;
|
using MediaBrowser.Model.Net;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
||||||
{
|
{
|
||||||
public class HdHomerunHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
|
public class HdHomerunHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
|
|
||||||
private string GetChannelId(TunerHostInfo info, Channels i)
|
private string GetChannelId(TunerHostInfo info, Channels i)
|
||||||
{
|
{
|
||||||
var id = ChannelIdPrefix + i.GuideNumber.ToString(CultureInfo.InvariantCulture);
|
var id = ChannelIdPrefix + i.GuideNumber;
|
||||||
|
|
||||||
if (info.DataVersion >= 1)
|
if (info.DataVersion >= 1)
|
||||||
{
|
{
|
||||||
@ -97,7 +97,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
|||||||
return lineup.Select(i => new ChannelInfo
|
return lineup.Select(i => new ChannelInfo
|
||||||
{
|
{
|
||||||
Name = i.GuideName,
|
Name = i.GuideName,
|
||||||
Number = i.GuideNumber.ToString(CultureInfo.InvariantCulture),
|
Number = i.GuideNumber,
|
||||||
Id = GetChannelId(info, i),
|
Id = GetChannelId(info, i),
|
||||||
IsFavorite = i.Favorite,
|
IsFavorite = i.Favorite,
|
||||||
TunerHostId = info.Id,
|
TunerHostId = info.Id,
|
@ -10,14 +10,8 @@ using MediaBrowser.Controller.Library;
|
|||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Model.MediaInfo;
|
using MediaBrowser.Model.MediaInfo;
|
||||||
using MediaBrowser.Server.Implementations.LiveTv.EmbyTV;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using MediaBrowser.Common.Extensions;
|
|
||||||
using MediaBrowser.Common.IO;
|
|
||||||
using MediaBrowser.Controller.IO;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
||||||
{
|
{
|
||||||
public class HdHomerunLiveStream : LiveStream, IDirectStreamProvider
|
public class HdHomerunLiveStream : LiveStream, IDirectStreamProvider
|
||||||
{
|
{
|
@ -19,9 +19,8 @@ using MediaBrowser.Controller.Configuration;
|
|||||||
using MediaBrowser.Controller.IO;
|
using MediaBrowser.Controller.IO;
|
||||||
using MediaBrowser.Controller.MediaEncoding;
|
using MediaBrowser.Controller.MediaEncoding;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Server.Implementations.LiveTv.EmbyTV;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
||||||
{
|
{
|
||||||
public class M3UTunerHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
|
public class M3UTunerHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
|
||||||
{
|
{
|
@ -14,7 +14,7 @@ using MediaBrowser.Controller.IO;
|
|||||||
using MediaBrowser.Controller.LiveTv;
|
using MediaBrowser.Controller.LiveTv;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
||||||
{
|
{
|
||||||
public class M3uParser
|
public class M3uParser
|
||||||
{
|
{
|
@ -7,7 +7,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
||||||
{
|
{
|
||||||
public class MulticastStream
|
public class MulticastStream
|
||||||
{
|
{
|
@ -8,7 +8,7 @@ using System.Threading;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts
|
namespace Emby.Server.Implementations.LiveTv.TunerHosts
|
||||||
{
|
{
|
||||||
public class QueueStream
|
public class QueueStream
|
||||||
{
|
{
|
@ -12,7 +12,7 @@ using System.Net;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Session
|
namespace Emby.Server.Implementations.Session
|
||||||
{
|
{
|
||||||
public class HttpSessionController : ISessionController, IDisposable
|
public class HttpSessionController : ISessionController, IDisposable
|
||||||
{
|
{
|
@ -30,8 +30,9 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Controller.Net;
|
using MediaBrowser.Controller.Net;
|
||||||
|
using MediaBrowser.Model.Threading;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Session
|
namespace Emby.Server.Implementations.Session
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class SessionManager
|
/// Class SessionManager
|
||||||
@ -61,6 +62,7 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||||||
|
|
||||||
private readonly IAuthenticationRepository _authRepo;
|
private readonly IAuthenticationRepository _authRepo;
|
||||||
private readonly IDeviceManager _deviceManager;
|
private readonly IDeviceManager _deviceManager;
|
||||||
|
private readonly ITimerFactory _timerFactory;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The _active connections
|
/// The _active connections
|
||||||
@ -94,7 +96,7 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||||||
|
|
||||||
private readonly SemaphoreSlim _sessionLock = new SemaphoreSlim(1, 1);
|
private readonly SemaphoreSlim _sessionLock = new SemaphoreSlim(1, 1);
|
||||||
|
|
||||||
public SessionManager(IUserDataManager userDataManager, ILogger logger, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager)
|
public SessionManager(IUserDataManager userDataManager, ILogger logger, ILibraryManager libraryManager, IUserManager userManager, IMusicManager musicManager, IDtoService dtoService, IImageProcessor imageProcessor, IJsonSerializer jsonSerializer, IServerApplicationHost appHost, IHttpClient httpClient, IAuthenticationRepository authRepo, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager, ITimerFactory timerFactory)
|
||||||
{
|
{
|
||||||
_userDataManager = userDataManager;
|
_userDataManager = userDataManager;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
@ -109,6 +111,7 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||||||
_authRepo = authRepo;
|
_authRepo = authRepo;
|
||||||
_deviceManager = deviceManager;
|
_deviceManager = deviceManager;
|
||||||
_mediaSourceManager = mediaSourceManager;
|
_mediaSourceManager = mediaSourceManager;
|
||||||
|
_timerFactory = timerFactory;
|
||||||
|
|
||||||
_deviceManager.DeviceOptionsUpdated += _deviceManager_DeviceOptionsUpdated;
|
_deviceManager.DeviceOptionsUpdated += _deviceManager_DeviceOptionsUpdated;
|
||||||
}
|
}
|
||||||
@ -503,13 +506,13 @@ namespace MediaBrowser.Server.Implementations.Session
|
|||||||
return users;
|
return users;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Timer _idleTimer;
|
private ITimer _idleTimer;
|
||||||
|
|
||||||
private void StartIdleCheckTimer()
|
private void StartIdleCheckTimer()
|
||||||
{
|
{
|
||||||
if (_idleTimer == null)
|
if (_idleTimer == null)
|
||||||
{
|
{
|
||||||
_idleTimer = new Timer(CheckForIdlePlayback, null, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(5));
|
_idleTimer = _timerFactory.Create(CheckForIdlePlayback, null, TimeSpan.FromMinutes(5), TimeSpan.FromMinutes(5));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void StopIdleCheckTimer()
|
private void StopIdleCheckTimer()
|
@ -11,7 +11,7 @@ using System.Linq;
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using MediaBrowser.Model.Services;
|
using MediaBrowser.Model.Services;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Session
|
namespace Emby.Server.Implementations.Session
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class SessionWebSocketListener
|
/// Class SessionWebSocketListener
|
@ -11,7 +11,7 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.Session
|
namespace Emby.Server.Implementations.Session
|
||||||
{
|
{
|
||||||
public class WebSocketController : ISessionController, IDisposable
|
public class WebSocketController : ISessionController, IDisposable
|
||||||
{
|
{
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"supports": {},
|
"supports": {},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"Emby.XmlTv": "1.0.0.63",
|
||||||
"MediaBrowser.Naming": "1.0.0.59",
|
"MediaBrowser.Naming": "1.0.0.59",
|
||||||
"UniversalDetector": "1.0.1"
|
"UniversalDetector": "1.0.1"
|
||||||
},
|
},
|
||||||
|
@ -4,6 +4,7 @@ using System.Globalization;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Emby.Server.Implementations.LiveTv.TunerHosts;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using MediaBrowser.Common.Extensions;
|
using MediaBrowser.Common.Extensions;
|
||||||
@ -20,7 +21,6 @@ using MediaBrowser.Model.LiveTv;
|
|||||||
using MediaBrowser.Model.Logging;
|
using MediaBrowser.Model.Logging;
|
||||||
using MediaBrowser.Model.MediaInfo;
|
using MediaBrowser.Model.MediaInfo;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Server.Implementations.LiveTv.EmbyTV;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
|
namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
|
||||||
{
|
{
|
||||||
|
@ -144,32 +144,6 @@
|
|||||||
<Compile Include="IO\FileRefresher.cs" />
|
<Compile Include="IO\FileRefresher.cs" />
|
||||||
<Compile Include="IO\LibraryMonitor.cs" />
|
<Compile Include="IO\LibraryMonitor.cs" />
|
||||||
<Compile Include="IO\MemoryStreamProvider.cs" />
|
<Compile Include="IO\MemoryStreamProvider.cs" />
|
||||||
<Compile Include="LiveTv\EmbyTV\DirectRecorder.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\EmbyTV.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\EmbyTVRegistration.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\EncodedRecorder.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\EntryPoint.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\IRecorder.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\ItemDataProvider.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\RecordingHelper.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\SeriesTimerManager.cs" />
|
|
||||||
<Compile Include="LiveTv\EmbyTV\TimerManager.cs" />
|
|
||||||
<Compile Include="LiveTv\Listings\SchedulesDirect.cs" />
|
|
||||||
<Compile Include="LiveTv\Listings\XmlTvListingsProvider.cs" />
|
|
||||||
<Compile Include="LiveTv\LiveStreamHelper.cs" />
|
|
||||||
<Compile Include="LiveTv\LiveTvConfigurationFactory.cs" />
|
|
||||||
<Compile Include="LiveTv\LiveTvDtoService.cs" />
|
|
||||||
<Compile Include="LiveTv\LiveTvManager.cs" />
|
|
||||||
<Compile Include="LiveTv\LiveTvMediaSourceProvider.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\BaseTunerHost.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunHost.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunDiscovery.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\HdHomerun\HdHomerunLiveStream.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\M3uParser.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\M3UTunerHost.cs" />
|
|
||||||
<Compile Include="LiveTv\RefreshChannelsScheduledTask.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\MulticastStream.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\QueueStream.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\ChannelScan.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\ChannelScan.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Rtcp\ReportBlock.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Rtcp\ReportBlock.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Rtcp\RtcpAppPacket.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Rtcp\RtcpAppPacket.cs" />
|
||||||
@ -188,8 +162,8 @@
|
|||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspResponse.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspResponse.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspSession.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspSession.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspStatusCode.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Rtsp\RtspStatusCode.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\SatIpHost.cs" />
|
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\SatIpDiscovery.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\SatIpDiscovery.cs" />
|
||||||
|
<Compile Include="LiveTv\TunerHosts\SatIp\SatIpHost.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\TransmissionMode.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\TransmissionMode.cs" />
|
||||||
<Compile Include="LiveTv\TunerHosts\SatIp\Utils.cs" />
|
<Compile Include="LiveTv\TunerHosts\SatIp\Utils.cs" />
|
||||||
<Compile Include="Localization\LocalizationManager.cs" />
|
<Compile Include="Localization\LocalizationManager.cs" />
|
||||||
@ -212,12 +186,6 @@
|
|||||||
<Compile Include="Security\AuthenticationRepository.cs" />
|
<Compile Include="Security\AuthenticationRepository.cs" />
|
||||||
<Compile Include="Security\EncryptionManager.cs" />
|
<Compile Include="Security\EncryptionManager.cs" />
|
||||||
<Compile Include="ServerApplicationPaths.cs" />
|
<Compile Include="ServerApplicationPaths.cs" />
|
||||||
<Compile Include="Session\HttpSessionController.cs" />
|
|
||||||
<Compile Include="Session\SessionManager.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Session\SessionWebSocketListener.cs" />
|
|
||||||
<Compile Include="Session\WebSocketController.cs" />
|
|
||||||
<Compile Include="Persistence\SqliteDisplayPreferencesRepository.cs" />
|
<Compile Include="Persistence\SqliteDisplayPreferencesRepository.cs" />
|
||||||
<Compile Include="Persistence\SqliteItemRepository.cs" />
|
<Compile Include="Persistence\SqliteItemRepository.cs" />
|
||||||
<Compile Include="Persistence\SqliteUserDataRepository.cs" />
|
<Compile Include="Persistence\SqliteUserDataRepository.cs" />
|
||||||
@ -227,6 +195,10 @@
|
|||||||
<Compile Include="Udp\UdpServer.cs" />
|
<Compile Include="Udp\UdpServer.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj">
|
||||||
|
<Project>{e383961b-9356-4d5d-8233-9a1079d03055}</Project>
|
||||||
|
<Name>Emby.Server.Implementations</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
<ProjectReference Include="..\MediaBrowser.Common\MediaBrowser.Common.csproj">
|
||||||
<Project>{9142EEFA-7570-41E1-BFCC-468BB571AF2F}</Project>
|
<Project>{9142EEFA-7570-41E1-BFCC-468BB571AF2F}</Project>
|
||||||
<Name>MediaBrowser.Common</Name>
|
<Name>MediaBrowser.Common</Name>
|
||||||
@ -360,175 +332,6 @@
|
|||||||
<EmbeddedResource Include="Localization\Ratings\au.txt" />
|
<EmbeddedResource Include="Localization\Ratings\au.txt" />
|
||||||
<EmbeddedResource Include="Localization\iso6392.txt" />
|
<EmbeddedResource Include="Localization\iso6392.txt" />
|
||||||
<None Include="app.config" />
|
<None Include="app.config" />
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0030.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0049.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0070.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0090.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0100.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0130.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0160.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0170.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0192.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0200.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0215.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0235.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0255.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0260.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0282.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0305.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0308.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0310.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0315.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0330.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0360.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0380.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0390.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0400.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0420.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0435.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0450.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0460.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0475.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0480.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0490.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0505.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0510.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0520.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0525.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0530.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0549.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0560.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0570.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0600.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0620.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0642.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0650.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0660.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0685.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0705.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0721.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0740.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0750.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0765.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0785.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0830.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0851.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0865.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0875.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0880.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0900.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0915.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0922.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0935.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0950.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\0965.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1005.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1030.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1055.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1082.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1100.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1105.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1130.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1155.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1160.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1180.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1195.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1222.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1240.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1250.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1280.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1320.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1340.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1380.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1400.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1440.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1500.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1520.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1540.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1560.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1590.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1600 OPTUS D1 FTA %28160.0E%29.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1600.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1620.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1640.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1660.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1690.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1720.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1800.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\1830.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2210.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2230.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2250.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2270.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2290.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2310.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2330.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2350.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2370.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2390.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2410.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2432.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2451.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2470.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2489.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2500.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2527.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2550.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2570.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2590.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2608.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2630.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2650.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2669.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2690.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2710.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2728.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2730.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2750.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2760.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2770.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2780.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2812.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2820.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2830.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2850.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2873.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2880.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2881.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2882.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2900.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2930.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2950.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2970.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2985.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\2990.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3020.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3045.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3070.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3100.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3125.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3150.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3169.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3195.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3225.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3255.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3285.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3300.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3325.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3355.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3380.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3400.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3420.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3450.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3460.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3475.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3490.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3520.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3527.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3550.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3560.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3592.ini" />
|
|
||||||
<EmbeddedResource Include="LiveTv\TunerHosts\SatIp\ini\satellite\3594.ini" />
|
|
||||||
<EmbeddedResource Include="Localization\Core\ar.json" />
|
<EmbeddedResource Include="Localization\Core\ar.json" />
|
||||||
<EmbeddedResource Include="Localization\Core\bg-BG.json" />
|
<EmbeddedResource Include="Localization\Core\bg-BG.json" />
|
||||||
<EmbeddedResource Include="Localization\Core\ca.json" />
|
<EmbeddedResource Include="Localization\Core\ca.json" />
|
||||||
@ -570,6 +373,175 @@
|
|||||||
<EmbeddedResource Include="Localization\Core\zh-HK.json" />
|
<EmbeddedResource Include="Localization\Core\zh-HK.json" />
|
||||||
<EmbeddedResource Include="Localization\Core\zh-TW.json" />
|
<EmbeddedResource Include="Localization\Core\zh-TW.json" />
|
||||||
<EmbeddedResource Include="Localization\countries.json" />
|
<EmbeddedResource Include="Localization\countries.json" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0030.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0049.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0070.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0090.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0100.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0130.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0160.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0170.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0192.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0200.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0215.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0235.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0255.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0260.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0282.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0305.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0308.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0310.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0315.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0330.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0360.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0380.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0390.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0400.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0420.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0435.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0450.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0460.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0475.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0480.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0490.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0505.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0510.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0520.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0525.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0530.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0549.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0560.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0570.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0600.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0620.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0642.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0650.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0660.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0685.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0705.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0721.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0740.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0750.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0765.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0785.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0830.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0851.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0865.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0875.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0880.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0900.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0915.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0922.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0935.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0950.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\0965.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1005.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1030.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1055.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1082.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1100.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1105.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1130.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1155.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1160.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1180.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1195.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1222.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1240.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1250.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1280.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1320.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1340.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1380.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1400.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1440.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1500.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1520.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1540.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1560.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1590.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1600 OPTUS D1 FTA %28160.0E%29.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1600.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1620.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1640.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1660.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1690.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1720.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1800.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\1830.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2210.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2230.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2250.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2270.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2290.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2310.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2330.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2350.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2370.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2390.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2410.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2432.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2451.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2470.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2489.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2500.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2527.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2550.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2570.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2590.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2608.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2630.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2650.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2669.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2690.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2710.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2728.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2730.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2750.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2760.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2770.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2780.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2812.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2820.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2830.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2850.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2873.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2880.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2881.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2882.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2900.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2930.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2950.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2970.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2985.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\2990.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3020.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3045.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3070.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3100.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3125.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3150.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3169.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3195.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3225.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3255.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3285.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3300.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3325.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3355.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3380.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3400.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3420.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3450.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3460.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3475.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3490.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3520.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3527.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3550.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3560.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3592.ini" />
|
||||||
|
<None Include="LiveTv\TunerHosts\SatIp\ini\satellite\3594.ini" />
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -62,7 +62,6 @@ using MediaBrowser.Server.Implementations.Localization;
|
|||||||
using MediaBrowser.Server.Implementations.Notifications;
|
using MediaBrowser.Server.Implementations.Notifications;
|
||||||
using MediaBrowser.Server.Implementations.Persistence;
|
using MediaBrowser.Server.Implementations.Persistence;
|
||||||
using MediaBrowser.Server.Implementations.Security;
|
using MediaBrowser.Server.Implementations.Security;
|
||||||
using MediaBrowser.Server.Implementations.Session;
|
|
||||||
using MediaBrowser.Server.Implementations.Social;
|
using MediaBrowser.Server.Implementations.Social;
|
||||||
using MediaBrowser.Server.Implementations.Sync;
|
using MediaBrowser.Server.Implementations.Sync;
|
||||||
using MediaBrowser.Server.Startup.Common.FFMpeg;
|
using MediaBrowser.Server.Startup.Common.FFMpeg;
|
||||||
@ -108,11 +107,13 @@ using Emby.Server.Implementations.Devices;
|
|||||||
using Emby.Server.Implementations.Dto;
|
using Emby.Server.Implementations.Dto;
|
||||||
using Emby.Server.Implementations.FileOrganization;
|
using Emby.Server.Implementations.FileOrganization;
|
||||||
using Emby.Server.Implementations.Library;
|
using Emby.Server.Implementations.Library;
|
||||||
|
using Emby.Server.Implementations.LiveTv;
|
||||||
using Emby.Server.Implementations.MediaEncoder;
|
using Emby.Server.Implementations.MediaEncoder;
|
||||||
using Emby.Server.Implementations.Notifications;
|
using Emby.Server.Implementations.Notifications;
|
||||||
using Emby.Server.Implementations.Persistence;
|
using Emby.Server.Implementations.Persistence;
|
||||||
using Emby.Server.Implementations.Playlists;
|
using Emby.Server.Implementations.Playlists;
|
||||||
using Emby.Server.Implementations.ServerManager;
|
using Emby.Server.Implementations.ServerManager;
|
||||||
|
using Emby.Server.Implementations.Session;
|
||||||
using Emby.Server.Implementations.Sync;
|
using Emby.Server.Implementations.Sync;
|
||||||
using Emby.Server.Implementations.TV;
|
using Emby.Server.Implementations.TV;
|
||||||
using Emby.Server.Implementations.Updates;
|
using Emby.Server.Implementations.Updates;
|
||||||
@ -644,7 +645,7 @@ namespace MediaBrowser.Server.Startup.Common
|
|||||||
MediaSourceManager = new MediaSourceManager(ItemRepository, UserManager, LibraryManager, LogManager.GetLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory);
|
MediaSourceManager = new MediaSourceManager(ItemRepository, UserManager, LibraryManager, LogManager.GetLogger("MediaSourceManager"), JsonSerializer, FileSystemManager, UserDataManager, TimerFactory);
|
||||||
RegisterSingleInstance(MediaSourceManager);
|
RegisterSingleInstance(MediaSourceManager);
|
||||||
|
|
||||||
SessionManager = new SessionManager(UserDataManager, LogManager.GetLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager);
|
SessionManager = new SessionManager(UserDataManager, LogManager.GetLogger("SessionManager"), LibraryManager, UserManager, musicManager, DtoService, ImageProcessor, JsonSerializer, this, HttpClient, AuthenticationRepository, DeviceManager, MediaSourceManager, TimerFactory);
|
||||||
RegisterSingleInstance(SessionManager);
|
RegisterSingleInstance(SessionManager);
|
||||||
|
|
||||||
var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LogManager.GetLogger("Dlna"), JsonSerializer, this);
|
var dlnaManager = new DlnaManager(XmlSerializer, FileSystemManager, ApplicationPaths, LogManager.GetLogger("Dlna"), JsonSerializer, this);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user