aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs2
-rw-r--r--MediaBrowser.Controller/LiveTv/ILiveTvManager.cs6
-rw-r--r--src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs1
-rw-r--r--src/Jellyfin.LiveTv/LiveTvManager.cs24
4 files changed, 8 insertions, 25 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index 84189f7f5..d268a6ba8 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -695,8 +695,6 @@ namespace Emby.Server.Implementations
GetExports<IMetadataSaver>(),
GetExports<IExternalId>());
- Resolve<ILiveTvManager>().AddParts(GetExports<ILiveTvService>());
-
Resolve<IMediaSourceManager>().AddParts(GetExports<IMediaSourceProvider>());
}
diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs b/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs
index 69daa5c20..7da455b8d 100644
--- a/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs
+++ b/MediaBrowser.Controller/LiveTv/ILiveTvManager.cs
@@ -68,12 +68,6 @@ namespace MediaBrowser.Controller.LiveTv
Task CancelSeriesTimer(string id);
/// <summary>
- /// Adds the parts.
- /// </summary>
- /// <param name="services">The services.</param>
- void AddParts(IEnumerable<ILiveTvService> services);
-
- /// <summary>
/// Gets the timer.
/// </summary>
/// <param name="id">The identifier.</param>
diff --git a/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs b/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
index eb97ef3ee..a07325ad1 100644
--- a/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
+++ b/src/Jellyfin.LiveTv/Extensions/LiveTvServiceCollectionExtensions.cs
@@ -28,6 +28,7 @@ public static class LiveTvServiceCollectionExtensions
services.AddSingleton<ITunerHostManager, TunerHostManager>();
services.AddSingleton<IGuideManager, GuideManager>();
+ services.AddSingleton<ILiveTvService, EmbyTV.EmbyTV>();
services.AddSingleton<ITunerHost, HdHomerunHost>();
services.AddSingleton<ITunerHost, M3UTunerHost>();
services.AddSingleton<IListingsProvider, SchedulesDirect>();
diff --git a/src/Jellyfin.LiveTv/LiveTvManager.cs b/src/Jellyfin.LiveTv/LiveTvManager.cs
index 19a71a119..ef5283b98 100644
--- a/src/Jellyfin.LiveTv/LiveTvManager.cs
+++ b/src/Jellyfin.LiveTv/LiveTvManager.cs
@@ -47,10 +47,9 @@ namespace Jellyfin.LiveTv
private readonly ILocalizationManager _localization;
private readonly IChannelManager _channelManager;
private readonly LiveTvDtoService _tvDtoService;
+ private readonly ILiveTvService[] _services;
private readonly IListingsProvider[] _listingProviders;
- private ILiveTvService[] _services = Array.Empty<ILiveTvService>();
-
public LiveTvManager(
IServerConfigurationManager config,
ILogger<LiveTvManager> logger,
@@ -62,6 +61,7 @@ namespace Jellyfin.LiveTv
ILocalizationManager localization,
IChannelManager channelManager,
LiveTvDtoService liveTvDtoService,
+ IEnumerable<ILiveTvService> services,
IEnumerable<IListingsProvider> listingProviders)
{
_config = config;
@@ -74,7 +74,12 @@ namespace Jellyfin.LiveTv
_userDataManager = userDataManager;
_channelManager = channelManager;
_tvDtoService = liveTvDtoService;
+ _services = services.ToArray();
_listingProviders = listingProviders.ToArray();
+
+ var defaultService = _services.OfType<EmbyTV.EmbyTV>().First();
+ defaultService.TimerCreated += OnEmbyTvTimerCreated;
+ defaultService.TimerCancelled += OnEmbyTvTimerCancelled;
}
public event EventHandler<GenericEventArgs<TimerEventInfo>> SeriesTimerCancelled;
@@ -98,21 +103,6 @@ namespace Jellyfin.LiveTv
return EmbyTV.EmbyTV.Current.GetActiveRecordingPath(id);
}
- /// <inheritdoc />
- public void AddParts(IEnumerable<ILiveTvService> services)
- {
- _services = services.ToArray();
-
- foreach (var service in _services)
- {
- if (service is EmbyTV.EmbyTV embyTv)
- {
- embyTv.TimerCreated += OnEmbyTvTimerCreated;
- embyTv.TimerCancelled += OnEmbyTvTimerCancelled;
- }
- }
- }
-
private void OnEmbyTvTimerCancelled(object sender, GenericEventArgs<string> e)
{
var timerId = e.Argument;