aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/ApplicationHost.cs4
-rw-r--r--Emby.Server.Implementations/Emby.Server.Implementations.csproj1
-rw-r--r--Emby.Server.Implementations/Properties/AssemblyInfo.cs1
-rw-r--r--Jellyfin.Server/CoreAppHost.cs8
-rw-r--r--Jellyfin.Server/Jellyfin.Server.csproj1
-rw-r--r--Jellyfin.sln7
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/DirectRecorder.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs)3
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/EmbyTV.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs)4
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/EncodedRecorder.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/EntryPoint.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/EntryPoint.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/EpgChannelData.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/EpgChannelData.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/IRecorder.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/IRecorder.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/ItemDataProvider.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/NfoConfigurationExtensions.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/NfoConfigurationExtensions.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/RecordingHelper.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/SeriesTimerManager.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs)2
-rw-r--r--src/Jellyfin.LiveTv/EmbyTV/TimerManager.cs (renamed from Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs)2
-rw-r--r--src/Jellyfin.LiveTv/ExclusiveLiveStream.cs (renamed from Emby.Server.Implementations/Library/ExclusiveLiveStream.cs)3
-rw-r--r--src/Jellyfin.LiveTv/Jellyfin.LiveTv.csproj22
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs)6
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CastDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CastDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DayDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DayDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MapDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MapDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/StationDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/StationDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs)2
-rw-r--r--src/Jellyfin.LiveTv/Listings/XmlTvListingsProvider.cs (renamed from Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs)2
-rw-r--r--src/Jellyfin.LiveTv/LiveTvConfigurationFactory.cs (renamed from Emby.Server.Implementations/LiveTv/LiveTvConfigurationFactory.cs)2
-rw-r--r--src/Jellyfin.LiveTv/LiveTvDtoService.cs (renamed from Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs)2
-rw-r--r--src/Jellyfin.LiveTv/LiveTvManager.cs (renamed from Emby.Server.Implementations/LiveTv/LiveTvManager.cs)5
-rw-r--r--src/Jellyfin.LiveTv/LiveTvMediaSourceProvider.cs (renamed from Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs)2
-rw-r--r--src/Jellyfin.LiveTv/RefreshGuideScheduledTask.cs (renamed from Emby.Server.Implementations/LiveTv/RefreshGuideScheduledTask.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/BaseTunerHost.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/Channels.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/Channels.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs)8
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs)3
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/LiveStream.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs)3
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/M3UTunerHost.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs)2
-rw-r--r--src/Jellyfin.LiveTv/TunerHosts/SharedHttpStream.cs (renamed from Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs)3
-rw-r--r--tests/Jellyfin.LiveTv.Tests/HdHomerunHostTests.cs2
-rw-r--r--tests/Jellyfin.LiveTv.Tests/HdHomerunManagerTests.cs2
-rw-r--r--tests/Jellyfin.LiveTv.Tests/Jellyfin.LiveTv.Tests.csproj2
-rw-r--r--tests/Jellyfin.LiveTv.Tests/Listings/XmlTvListingsProviderTests.cs2
-rw-r--r--tests/Jellyfin.LiveTv.Tests/RecordingHelperTests.cs2
-rw-r--r--tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs2
78 files changed, 121 insertions, 85 deletions
diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs
index f385f6a51..bb565fb2b 100644
--- a/Emby.Server.Implementations/ApplicationHost.cs
+++ b/Emby.Server.Implementations/ApplicationHost.cs
@@ -25,7 +25,6 @@ using Emby.Server.Implementations.Dto;
using Emby.Server.Implementations.HttpServer.Security;
using Emby.Server.Implementations.IO;
using Emby.Server.Implementations.Library;
-using Emby.Server.Implementations.LiveTv;
using Emby.Server.Implementations.Localization;
using Emby.Server.Implementations.Playlists;
using Emby.Server.Implementations.Plugins;
@@ -567,9 +566,6 @@ namespace Emby.Server.Implementations
serviceCollection.AddSingleton<ISyncPlayManager, SyncPlayManager>();
- serviceCollection.AddSingleton<LiveTvDtoService>();
- serviceCollection.AddSingleton<ILiveTvManager, LiveTvManager>();
-
serviceCollection.AddSingleton<IUserViewManager, UserViewManager>();
serviceCollection.AddSingleton<IChapterManager, ChapterManager>();
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
index b3344bb9f..34276355a 100644
--- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj
+++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj
@@ -22,7 +22,6 @@
<ItemGroup>
<PackageReference Include="DiscUtils.Udf" />
- <PackageReference Include="Jellyfin.XmlTv" />
<PackageReference Include="Microsoft.Data.Sqlite" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
diff --git a/Emby.Server.Implementations/Properties/AssemblyInfo.cs b/Emby.Server.Implementations/Properties/AssemblyInfo.cs
index fb7377b1d..41c396ac1 100644
--- a/Emby.Server.Implementations/Properties/AssemblyInfo.cs
+++ b/Emby.Server.Implementations/Properties/AssemblyInfo.cs
@@ -17,7 +17,6 @@ using System.Runtime.InteropServices;
[assembly: NeutralResourcesLanguage("en")]
[assembly: InternalsVisibleTo("Jellyfin.Server.Implementations.Tests")]
[assembly: InternalsVisibleTo("Emby.Server.Implementations.Fuzz")]
-[assembly: InternalsVisibleTo("Jellyfin.LiveTv.Tests")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
diff --git a/Jellyfin.Server/CoreAppHost.cs b/Jellyfin.Server/CoreAppHost.cs
index 93277a981..b1ac51f99 100644
--- a/Jellyfin.Server/CoreAppHost.cs
+++ b/Jellyfin.Server/CoreAppHost.cs
@@ -6,6 +6,7 @@ using Emby.Server.Implementations.Session;
using Jellyfin.Api.WebSocketListeners;
using Jellyfin.Drawing;
using Jellyfin.Drawing.Skia;
+using Jellyfin.LiveTv;
using Jellyfin.Server.Implementations;
using Jellyfin.Server.Implementations.Activity;
using Jellyfin.Server.Implementations.Devices;
@@ -20,6 +21,7 @@ using MediaBrowser.Controller.Devices;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Events;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Lyrics;
using MediaBrowser.Controller.Net;
using MediaBrowser.Controller.Security;
@@ -96,6 +98,9 @@ namespace Jellyfin.Server
serviceCollection.AddScoped<IAuthenticationManager, AuthenticationManager>();
+ serviceCollection.AddSingleton<LiveTvDtoService>();
+ serviceCollection.AddSingleton<ILiveTvManager, LiveTvManager>();
+
foreach (var type in GetExportTypes<ILyricProvider>())
{
serviceCollection.AddSingleton(typeof(ILyricProvider), type);
@@ -117,6 +122,9 @@ namespace Jellyfin.Server
// Jellyfin.Server.Implementations
yield return typeof(JellyfinDbContext).Assembly;
+
+ // Jellyfin.LiveTv
+ yield return typeof(LiveTvManager).Assembly;
}
}
}
diff --git a/Jellyfin.Server/Jellyfin.Server.csproj b/Jellyfin.Server/Jellyfin.Server.csproj
index 1d4d97551..21c6e6f01 100644
--- a/Jellyfin.Server/Jellyfin.Server.csproj
+++ b/Jellyfin.Server/Jellyfin.Server.csproj
@@ -58,6 +58,7 @@
<ProjectReference Include="..\src\Jellyfin.Drawing\Jellyfin.Drawing.csproj" />
<ProjectReference Include="..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
<ProjectReference Include="..\src\Jellyfin.Drawing.Skia\Jellyfin.Drawing.Skia.csproj" />
+ <ProjectReference Include="..\src\Jellyfin.LiveTv\Jellyfin.LiveTv.csproj" />
<ProjectReference Include="..\Jellyfin.Server.Implementations\Jellyfin.Server.Implementations.csproj" />
<ProjectReference Include="..\src\Jellyfin.MediaEncoding.Hls\Jellyfin.MediaEncoding.Hls.csproj" />
</ItemGroup>
diff --git a/Jellyfin.sln b/Jellyfin.sln
index 31e302d94..30eab6cc2 100644
--- a/Jellyfin.sln
+++ b/Jellyfin.sln
@@ -89,6 +89,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.MediaEncoding.Keyf
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.LiveTv.Tests", "tests\Jellyfin.LiveTv.Tests\Jellyfin.LiveTv.Tests.csproj", "{C4F71272-C6BE-4C30-BE0D-4E6ED651D6D3}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Jellyfin.LiveTv", "src\Jellyfin.LiveTv\Jellyfin.LiveTv.csproj", "{8C6B2B13-58A4-4506-9DAB-1F882A093FE0}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -239,6 +241,10 @@ Global
{C4F71272-C6BE-4C30-BE0D-4E6ED651D6D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4F71272-C6BE-4C30-BE0D-4E6ED651D6D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4F71272-C6BE-4C30-BE0D-4E6ED651D6D3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8C6B2B13-58A4-4506-9DAB-1F882A093FE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8C6B2B13-58A4-4506-9DAB-1F882A093FE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8C6B2B13-58A4-4506-9DAB-1F882A093FE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8C6B2B13-58A4-4506-9DAB-1F882A093FE0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -266,6 +272,7 @@ Global
{154872D9-6C12-4007-96E3-8F70A58386CE} = {C9F0AB5D-F4D7-40C8-A353-3305C86D6D4C}
{0A3FCC4D-C714-4072-B90F-E374A15F9FF9} = {C9F0AB5D-F4D7-40C8-A353-3305C86D6D4C}
{C4F71272-C6BE-4C30-BE0D-4E6ED651D6D3} = {FBBB5129-006E-4AD7-BAD5-8B7CA1D10ED6}
+ {8C6B2B13-58A4-4506-9DAB-1F882A093FE0} = {C9F0AB5D-F4D7-40C8-A353-3305C86D6D4C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3448830C-EBDC-426C-85CD-7BBB9651A7FE}
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs b/src/Jellyfin.LiveTv/EmbyTV/DirectRecorder.cs
index 7df66d358..2a25218b6 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/DirectRecorder.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/DirectRecorder.cs
@@ -5,7 +5,6 @@ using System.IO;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
-using Jellyfin.Api.Helpers;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Streaming;
@@ -13,7 +12,7 @@ using MediaBrowser.Model.Dto;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public sealed class DirectRecorder : IRecorder
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs b/src/Jellyfin.LiveTv/EmbyTV/EmbyTV.cs
index e2e0dfb2b..439ed965b 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/EmbyTV.cs
@@ -14,14 +14,12 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
-using Emby.Server.Implementations.Library;
using Jellyfin.Data.Enums;
using Jellyfin.Data.Events;
using Jellyfin.Extensions;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Progress;
-using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
@@ -39,7 +37,7 @@ using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Providers;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public sealed class EmbyTV : ILiveTvService, ISupportsDirectStreamProvider, ISupportsNewTimerIds, IDisposable
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/src/Jellyfin.LiveTv/EmbyTV/EncodedRecorder.cs
index 9a9fd0273..132a5fc51 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/EncodedRecorder.cs
@@ -23,7 +23,7 @@ using MediaBrowser.Model.Dto;
using MediaBrowser.Model.IO;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public class EncodedRecorder : IRecorder
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EntryPoint.cs b/src/Jellyfin.LiveTv/EmbyTV/EntryPoint.cs
index a2ec2df37..e750c05ac 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EntryPoint.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/EntryPoint.cs
@@ -3,7 +3,7 @@
using System.Threading.Tasks;
using MediaBrowser.Controller.Plugins;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public sealed class EntryPoint : IServerEntryPoint
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EpgChannelData.cs b/src/Jellyfin.LiveTv/EmbyTV/EpgChannelData.cs
index 20a8213a7..43d308c43 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EpgChannelData.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/EpgChannelData.cs
@@ -4,7 +4,7 @@ using System;
using System.Collections.Generic;
using MediaBrowser.Controller.LiveTv;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
internal class EpgChannelData
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/IRecorder.cs b/src/Jellyfin.LiveTv/EmbyTV/IRecorder.cs
index de14d6d08..7ed42e263 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/IRecorder.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/IRecorder.cs
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public interface IRecorder : IDisposable
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs b/src/Jellyfin.LiveTv/EmbyTV/ItemDataProvider.cs
index d5a6feb47..547ffeb66 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/ItemDataProvider.cs
@@ -9,7 +9,7 @@ using System.Text.Json;
using Jellyfin.Extensions.Json;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public class ItemDataProvider<T>
where T : class
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/NfoConfigurationExtensions.cs b/src/Jellyfin.LiveTv/EmbyTV/NfoConfigurationExtensions.cs
index 83f5e8413..e8570f0e0 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/NfoConfigurationExtensions.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/NfoConfigurationExtensions.cs
@@ -1,7 +1,7 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.Configuration;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
/// <summary>
/// Class containing extension methods for working with the nfo configuration.
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs b/src/Jellyfin.LiveTv/EmbyTV/RecordingHelper.cs
index 7bbeae866..6bda231b2 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/RecordingHelper.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/RecordingHelper.cs
@@ -5,7 +5,7 @@ using System.Globalization;
using System.Text;
using MediaBrowser.Controller.LiveTv;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
internal static class RecordingHelper
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs b/src/Jellyfin.LiveTv/EmbyTV/SeriesTimerManager.cs
index bf28f3b67..2ebe60b29 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/SeriesTimerManager.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/SeriesTimerManager.cs
@@ -4,7 +4,7 @@ using System;
using MediaBrowser.Controller.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public class SeriesTimerManager : ItemDataProvider<SeriesTimerInfo>
{
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs b/src/Jellyfin.LiveTv/EmbyTV/TimerManager.cs
index 9f8441fa4..37b1fa14c 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/TimerManager.cs
+++ b/src/Jellyfin.LiveTv/EmbyTV/TimerManager.cs
@@ -10,7 +10,7 @@ using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.EmbyTV
+namespace Jellyfin.LiveTv.EmbyTV
{
public class TimerManager : ItemDataProvider<TimerInfo>
{
diff --git a/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs b/src/Jellyfin.LiveTv/ExclusiveLiveStream.cs
index b1649afad..9d442e20c 100644
--- a/Emby.Server.Implementations/Library/ExclusiveLiveStream.cs
+++ b/src/Jellyfin.LiveTv/ExclusiveLiveStream.cs
@@ -1,5 +1,6 @@
#nullable disable
+#pragma warning disable CA1711
#pragma warning disable CS1591
using System;
@@ -10,7 +11,7 @@ using System.Threading.Tasks;
using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Dto;
-namespace Emby.Server.Implementations.Library
+namespace Jellyfin.LiveTv
{
public sealed class ExclusiveLiveStream : ILiveStream
{
diff --git a/src/Jellyfin.LiveTv/Jellyfin.LiveTv.csproj b/src/Jellyfin.LiveTv/Jellyfin.LiveTv.csproj
new file mode 100644
index 000000000..391006449
--- /dev/null
+++ b/src/Jellyfin.LiveTv/Jellyfin.LiveTv.csproj
@@ -0,0 +1,22 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <TargetFramework>net8.0</TargetFramework>
+ <GenerateDocumentationFile>true</GenerateDocumentationFile>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleToAttribute">
+ <_Parameter1>Jellyfin.LiveTv.Tests</_Parameter1>
+ </AssemblyAttribute>
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Jellyfin.XmlTv" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\..\MediaBrowser.Model\MediaBrowser.Model.csproj" />
+ <ProjectReference Include="..\..\MediaBrowser.Controller\MediaBrowser.Controller.csproj" />
+ <ProjectReference Include="..\..\MediaBrowser.Common\MediaBrowser.Common.csproj" />
+ </ItemGroup>
+</Project>
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs
index 5be3a7488..3b20cd160 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirect.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs
@@ -16,9 +16,9 @@ using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos;
using Jellyfin.Extensions;
using Jellyfin.Extensions.Json;
+using Jellyfin.LiveTv.Listings.SchedulesDirectDtos;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Authentication;
using MediaBrowser.Controller.LiveTv;
@@ -27,7 +27,7 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.Listings
+namespace Jellyfin.LiveTv.Listings
{
public class SchedulesDirect : IListingsProvider, IDisposable
{
@@ -613,6 +613,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
// Response is automatically disposed in the calling function,
// so dispose manually if not returning.
+#pragma warning disable IDISP016, IDISP017
response.Dispose();
if (!enableRetry || (int)response.StatusCode >= 500)
{
@@ -621,6 +622,7 @@ namespace Emby.Server.Implementations.LiveTv.Listings
null,
response.StatusCode);
}
+#pragma warning restore IDISP016, IDISP017
_tokens.Clear();
options.Headers.TryAddWithoutValidation("token", await GetToken(providerInfo, cancellationToken).ConfigureAwait(false));
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs
index 95ac996e0..c1a502fd5 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/BroadcasterDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Broadcaster dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs
index f6251b9ad..0cc39f3bb 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CaptionDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Caption dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CastDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CastDto.cs
index 0b7a2c63a..bdcf87fda 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CastDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CastDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Cast dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs
index 87c327ed8..4e0d74078 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ChannelDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Channel dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs
index c19cd2e48..5c624c288 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ContentRatingDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Content rating dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs
index f00c9accd..6d3c79c18 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/CrewDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Crew dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DayDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DayDto.cs
index 1a371965c..094f9a319 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DayDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DayDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Day dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs
index ca6ae7fb1..0063f4cc3 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description1000Dto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Description 1_000 dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs
index 1577219ed..1d9a18cc7 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/Description100Dto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Description 100 dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs
index eaf4a340b..75e91547b 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/DescriptionsProgramDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Descriptions program dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs
index fbdfb1f71..28abe094e 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/EventDetailsDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Event details dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs
index 6852d89d7..6eefc1744 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/GracenoteDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Gracenote dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs
index b9844562f..a62ae61f9 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/HeadendsDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Headends dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs
index a1ae3ca6d..21b595f24 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ImageDataDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Image data dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs
index 3dc64e5d8..856b7a89b 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// The lineup dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs
index f19081781..99f80ce8a 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LineupsDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Lineups dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs
index fecc55e03..d7836384e 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/LogoDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Logo dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MapDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MapDto.cs
index ffd02d474..ea583a1ce 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MapDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MapDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Map dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs
index 40faa493c..cafc8e273 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Metadata dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs
index 43f290156..243ccff5c 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataProgramsDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Metadata programs dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs
index 04560ab55..1c5c5333c 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MetadataScheduleDto.cs
@@ -1,7 +1,7 @@
using System;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Metadata schedule dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs
index 31bef423b..aea740833 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MovieDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Movie dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs
index e8b15dc07..328cefadc 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/MultipartDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Multipart dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs
index 84c48f67f..8c3906f86 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDetailsDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Program details dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs
index 60389b45b..527a6f8a1 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ProgramDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Program dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs
index c5ddcf7c5..61496155a 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/QualityRatingDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Quality rating dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs
index e04b619a4..287cd4ed5 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RatingDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Rating dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs
index c8f79fd1c..d380ec7ae 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RecommendationDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Recommendation dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs
index 0cd05709b..6fc695a39 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/RequestScheduleForChannelDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Request schedule for channel dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs
index 84e224b71..523900a96 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/ShowImagesDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Show image dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/StationDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/StationDto.cs
index d797fd49b..dbde1e117 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/StationDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/StationDto.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Station dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs
index 61cd4a9b0..146124f98 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TitleDto.cs
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// Title dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs
index afb999486..b3bc61837 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs
+++ b/src/Jellyfin.LiveTv/Listings/SchedulesDirectDtos/TokenDto.cs
@@ -1,7 +1,7 @@
using System;
using System.Text.Json.Serialization;
-namespace Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos
+namespace Jellyfin.LiveTv.Listings.SchedulesDirectDtos
{
/// <summary>
/// The token dto.
diff --git a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs b/src/Jellyfin.LiveTv/Listings/XmlTvListingsProvider.cs
index e60e9dcc1..cecc363f0 100644
--- a/Emby.Server.Implementations/LiveTv/Listings/XmlTvListingsProvider.cs
+++ b/src/Jellyfin.LiveTv/Listings/XmlTvListingsProvider.cs
@@ -23,7 +23,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.Listings
+namespace Jellyfin.LiveTv.Listings
{
public class XmlTvListingsProvider : IListingsProvider
{
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvConfigurationFactory.cs b/src/Jellyfin.LiveTv/LiveTvConfigurationFactory.cs
index 098f193fb..ddbf6345c 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvConfigurationFactory.cs
+++ b/src/Jellyfin.LiveTv/LiveTvConfigurationFactory.cs
@@ -2,7 +2,7 @@ using System.Collections.Generic;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Model.LiveTv;
-namespace Emby.Server.Implementations.LiveTv
+namespace Jellyfin.LiveTv
{
/// <summary>
/// <see cref="IConfigurationFactory" /> implementation for <see cref="LiveTvOptions" />.
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs b/src/Jellyfin.LiveTv/LiveTvDtoService.cs
index 9326fbd5c..7c7c26eb4 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvDtoService.cs
+++ b/src/Jellyfin.LiveTv/LiveTvDtoService.cs
@@ -20,7 +20,7 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv
+namespace Jellyfin.LiveTv
{
public class LiveTvDtoService
{
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/src/Jellyfin.LiveTv/LiveTvManager.cs
index 426165de6..4fc995653 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/src/Jellyfin.LiveTv/LiveTvManager.cs
@@ -9,7 +9,6 @@ using System.Linq;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
-using Emby.Server.Implementations.Library;
using Jellyfin.Data.Entities;
using Jellyfin.Data.Enums;
using Jellyfin.Data.Events;
@@ -34,7 +33,7 @@ using MediaBrowser.Model.Querying;
using MediaBrowser.Model.Tasks;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv
+namespace Jellyfin.LiveTv
{
/// <summary>
/// Class LiveTvManager.
@@ -231,7 +230,9 @@ namespace Emby.Server.Implementations.LiveTv
_logger.LogInformation("Opening channel stream from {0}, external channel Id: {1}", service.Name, channel.ExternalId);
MediaSourceInfo info;
+#pragma warning disable CA1859 // TODO: Analyzer bug?
ILiveStream liveStream;
+#pragma warning restore CA1859
if (service is ISupportsDirectStreamProvider supportsManagedStream)
{
liveStream = await supportsManagedStream.GetChannelStreamWithDirectStreamProvider(channel.ExternalId, mediaSourceId, currentLiveStreams, cancellationToken).ConfigureAwait(false);
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs b/src/Jellyfin.LiveTv/LiveTvMediaSourceProvider.cs
index a5a1a4a4c..ce9361089 100644
--- a/Emby.Server.Implementations/LiveTv/LiveTvMediaSourceProvider.cs
+++ b/src/Jellyfin.LiveTv/LiveTvMediaSourceProvider.cs
@@ -16,7 +16,7 @@ using MediaBrowser.Model.Dto;
using MediaBrowser.Model.MediaInfo;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv
+namespace Jellyfin.LiveTv
{
public class LiveTvMediaSourceProvider : IMediaSourceProvider
{
diff --git a/Emby.Server.Implementations/LiveTv/RefreshGuideScheduledTask.cs b/src/Jellyfin.LiveTv/RefreshGuideScheduledTask.cs
index 72bbdd14a..e58296a70 100644
--- a/Emby.Server.Implementations/LiveTv/RefreshGuideScheduledTask.cs
+++ b/src/Jellyfin.LiveTv/RefreshGuideScheduledTask.cs
@@ -7,7 +7,7 @@ using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.Tasks;
-namespace Emby.Server.Implementations.LiveTv
+namespace Jellyfin.LiveTv
{
/// <summary>
/// The "Refresh Guide" scheduled task.
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs b/src/Jellyfin.LiveTv/TunerHosts/BaseTunerHost.cs
index da597056a..769f196bd 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/BaseTunerHost.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/BaseTunerHost.cs
@@ -19,7 +19,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
+namespace Jellyfin.LiveTv.TunerHosts
{
public abstract class BaseTunerHost
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/Channels.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/Channels.cs
index 0f0453189..311a71d13 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/Channels.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/Channels.cs
@@ -1,6 +1,6 @@
#nullable disable
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
internal class Channels
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs
index 39b357142..3ece181f2 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/DiscoverResponse.cs
@@ -2,7 +2,7 @@
using System;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
internal class DiscoverResponse
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs
index aae33503f..50a887826 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunChannelCommands.cs
@@ -3,7 +3,7 @@
using System;
using System.Collections.Generic;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public class HdHomerunChannelCommands : IHdHomerunChannelCommands
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
index 79e15a82e..b1b08e992 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunHost.cs
@@ -30,7 +30,7 @@ using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Net;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public class HdHomerunHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
{
@@ -143,7 +143,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
if (!throwAllExceptions && ex.StatusCode.HasValue && ex.StatusCode.Value == HttpStatusCode.NotFound)
{
const string DefaultValue = "HDHR";
- var response = new DiscoverResponse
+ var discoverResponse = new DiscoverResponse
{
ModelNumber = DefaultValue
};
@@ -152,11 +152,11 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
// HDHR4 doesn't have this api
lock (_modelCache)
{
- _modelCache[cacheKey] = response;
+ _modelCache[cacheKey] = discoverResponse;
}
}
- return response;
+ return discoverResponse;
}
throw;
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs
index 68383a554..861338727 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs
@@ -14,7 +14,7 @@ using System.Threading.Tasks;
using MediaBrowser.Common;
using MediaBrowser.Controller.LiveTv;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public sealed class HdHomerunManager : IDisposable
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs
index 6195c7648..6c8cde62c 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs
@@ -1,5 +1,6 @@
#nullable disable
+#pragma warning disable CA1711
#pragma warning disable CS1591
using System;
@@ -19,7 +20,7 @@ using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.MediaInfo;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public class HdHomerunUdpStream : LiveStream, IDirectStreamProvider
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs
index 11bd40ab1..9fcf386f9 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/IHdHomerunChannelCommands.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public interface IHdHomerunChannelCommands
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs
index 654474e97..6dc9c885f 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/HdHomerun/LegacyHdHomerunChannelCommands.cs
@@ -3,7 +3,7 @@
using System.Collections.Generic;
using System.Text.RegularExpressions;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
+namespace Jellyfin.LiveTv.TunerHosts.HdHomerun
{
public partial class LegacyHdHomerunChannelCommands : IHdHomerunChannelCommands
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs b/src/Jellyfin.LiveTv/TunerHosts/LiveStream.cs
index c18594a29..70d8afc5d 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/LiveStream.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/LiveStream.cs
@@ -1,5 +1,6 @@
#nullable disable
+#pragma warning disable CA1711
#pragma warning disable CS1591
using System;
@@ -14,7 +15,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
+namespace Jellyfin.LiveTv.TunerHosts
{
public class LiveStream : ILiveStream
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs b/src/Jellyfin.LiveTv/TunerHosts/M3UTunerHost.cs
index 11bf03b18..7235e65b6 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3UTunerHost.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/M3UTunerHost.cs
@@ -24,7 +24,7 @@ using MediaBrowser.Model.MediaInfo;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
+namespace Jellyfin.LiveTv.TunerHosts
{
public class M3UTunerHost : BaseTunerHost, ITunerHost, IConfigurableTunerHost
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs b/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs
index 0b5575b99..5900d1c5b 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/M3uParser.cs
@@ -18,7 +18,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.LiveTv;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
+namespace Jellyfin.LiveTv.TunerHosts
{
public partial class M3uParser
{
diff --git a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs b/src/Jellyfin.LiveTv/TunerHosts/SharedHttpStream.cs
index efb84a515..5ef04ad9e 100644
--- a/Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs
+++ b/src/Jellyfin.LiveTv/TunerHosts/SharedHttpStream.cs
@@ -1,3 +1,4 @@
+#pragma warning disable CA1711
#pragma warning disable CS1591
using System;
@@ -16,7 +17,7 @@ using MediaBrowser.Model.LiveTv;
using MediaBrowser.Model.MediaInfo;
using Microsoft.Extensions.Logging;
-namespace Emby.Server.Implementations.LiveTv.TunerHosts
+namespace Jellyfin.LiveTv.TunerHosts
{
public class SharedHttpStream : LiveStream, IDirectStreamProvider
{
diff --git a/tests/Jellyfin.LiveTv.Tests/HdHomerunHostTests.cs b/tests/Jellyfin.LiveTv.Tests/HdHomerunHostTests.cs
index bc4b2da5b..cb6eb9184 100644
--- a/tests/Jellyfin.LiveTv.Tests/HdHomerunHostTests.cs
+++ b/tests/Jellyfin.LiveTv.Tests/HdHomerunHostTests.cs
@@ -6,7 +6,7 @@ using System.Threading;
using System.Threading.Tasks;
using AutoFixture;
using AutoFixture.AutoMoq;
-using Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun;
+using Jellyfin.LiveTv.TunerHosts.HdHomerun;
using MediaBrowser.Model.LiveTv;
using Moq;
using Moq.Protected;
diff --git a/tests/Jellyfin.LiveTv.Tests/HdHomerunManagerTests.cs b/tests/Jellyfin.LiveTv.Tests/HdHomerunManagerTests.cs
index fcebc0ff7..4ab0bd723 100644
--- a/tests/Jellyfin.LiveTv.Tests/HdHomerunManagerTests.cs
+++ b/tests/Jellyfin.LiveTv.Tests/HdHomerunManagerTests.cs
@@ -1,6 +1,6 @@
using System;
using System.Text;
-using Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun;
+using Jellyfin.LiveTv.TunerHosts.HdHomerun;
using Xunit;
namespace Jellyfin.LiveTv.Tests
diff --git a/tests/Jellyfin.LiveTv.Tests/Jellyfin.LiveTv.Tests.csproj b/tests/Jellyfin.LiveTv.Tests/Jellyfin.LiveTv.Tests.csproj
index de448bada..f645f38c4 100644
--- a/tests/Jellyfin.LiveTv.Tests/Jellyfin.LiveTv.Tests.csproj
+++ b/tests/Jellyfin.LiveTv.Tests/Jellyfin.LiveTv.Tests.csproj
@@ -24,6 +24,6 @@
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\..\Emby.Server.Implementations\Emby.Server.Implementations.csproj" />
+ <ProjectReference Include="..\..\src\Jellyfin.LiveTv\Jellyfin.LiveTv.csproj" />
</ItemGroup>
</Project>
diff --git a/tests/Jellyfin.LiveTv.Tests/Listings/XmlTvListingsProviderTests.cs b/tests/Jellyfin.LiveTv.Tests/Listings/XmlTvListingsProviderTests.cs
index 71d135735..0fb7894e5 100644
--- a/tests/Jellyfin.LiveTv.Tests/Listings/XmlTvListingsProviderTests.cs
+++ b/tests/Jellyfin.LiveTv.Tests/Listings/XmlTvListingsProviderTests.cs
@@ -6,7 +6,7 @@ using System.Threading;
using System.Threading.Tasks;
using AutoFixture;
using AutoFixture.AutoMoq;
-using Emby.Server.Implementations.LiveTv.Listings;
+using Jellyfin.LiveTv.Listings;
using MediaBrowser.Model.LiveTv;
using Moq;
using Moq.Protected;
diff --git a/tests/Jellyfin.LiveTv.Tests/RecordingHelperTests.cs b/tests/Jellyfin.LiveTv.Tests/RecordingHelperTests.cs
index a5941e7f0..b4960dc0b 100644
--- a/tests/Jellyfin.LiveTv.Tests/RecordingHelperTests.cs
+++ b/tests/Jellyfin.LiveTv.Tests/RecordingHelperTests.cs
@@ -1,5 +1,5 @@
using System;
-using Emby.Server.Implementations.LiveTv.EmbyTV;
+using Jellyfin.LiveTv.EmbyTV;
using MediaBrowser.Controller.LiveTv;
using Xunit;
diff --git a/tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs b/tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs
index 6b1f4d416..6975d56d9 100644
--- a/tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs
+++ b/tests/Jellyfin.LiveTv.Tests/SchedulesDirect/SchedulesDirectDeserializeTests.cs
@@ -2,8 +2,8 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Text.Json;
-using Emby.Server.Implementations.LiveTv.Listings.SchedulesDirectDtos;
using Jellyfin.Extensions.Json;
+using Jellyfin.LiveTv.Listings.SchedulesDirectDtos;
using Xunit;
namespace Jellyfin.LiveTv.Tests.SchedulesDirect