@ -12,6 +12,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -12,6 +12,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Plex libraries now direct stream content from Plex when files are not found on ErsatzTV's file system
- Content will still be normalized according to the Channel and FFmpeg Profile settings
- Streaming from disk is preferred, so every playback attempt will first check the local file system
- Jellyfin libraries will retrieve all metadata and statistics from Jellyfin when local files are unavailable
- Jellyfin libraries now direct stream content from Jellyfin when files are not found on ErsatzTV's file system
- Content will still be normalized according to the Channel and FFmpeg Profile settings
- Streaming from disk is preferred, so every playback attempt will first check the local file system
@ -453,34 +453,48 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -453,34 +453,48 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -12,6 +12,6 @@ public interface IMediaServerMovieRepository<in TLibrary, TMovie, TEtag> where T
@@ -12,6 +12,6 @@ public interface IMediaServerMovieRepository<in TLibrary, TMovie, TEtag> where T
@ -113,7 +113,10 @@ public class EmbyMovieRepository : IEmbyMovieRepository
@@ -113,7 +113,10 @@ public class EmbyMovieRepository : IEmbyMovieRepository
@ -116,7 +116,8 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@@ -116,7 +116,8 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@ -126,6 +127,8 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@@ -126,6 +127,8 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
.ThenInclude(mv=>mv.MediaFiles)
.Include(m=>m.MediaVersions)
.ThenInclude(mv=>mv.Streams)
.Include(m=>m.MediaVersions)
.ThenInclude(mv=>mv.Chapters)
.Include(m=>m.MovieMetadata)
.ThenInclude(mm=>mm.Genres)
.Include(m=>m.MovieMetadata)
@ -149,7 +152,7 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@@ -149,7 +152,7 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@ -339,6 +342,7 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@@ -339,6 +342,7 @@ public class JellyfinMovieRepository : IJellyfinMovieRepository
@ -139,6 +139,8 @@ public class JellyfinTelevisionRepository : IJellyfinTelevisionRepository
@@ -139,6 +139,8 @@ public class JellyfinTelevisionRepository : IJellyfinTelevisionRepository
@ -113,7 +113,10 @@ public class PlexMovieRepository : IPlexMovieRepository
@@ -113,7 +113,10 @@ public class PlexMovieRepository : IPlexMovieRepository
@ -20,6 +20,7 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@@ -20,6 +20,7 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@ -45,8 +46,11 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@@ -45,8 +46,11 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@ -177,6 +181,35 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@@ -177,6 +181,35 @@ public class JellyfinTelevisionLibraryScanner : MediaServerTelevisionLibraryScan
@ -257,7 +257,16 @@ public class LocalStatisticsProvider : ILocalStatisticsProvider
@@ -257,7 +257,16 @@ public class LocalStatisticsProvider : ILocalStatisticsProvider
@ -133,7 +133,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
@@ -133,7 +133,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
if(ServerReturnsStatisticsWithMetadata)
{
maybeMovie=awaitmovieRepository
.GetOrAdd(library,incoming)
.GetOrAdd(library,incoming,deepScan)
.MapT(
result=>
{
@ -152,7 +152,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
@@ -152,7 +152,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
else
{
maybeMovie=awaitmovieRepository
.GetOrAdd(library,incoming)
.GetOrAdd(library,incoming,deepScan)
.MapT(
result=>
{
@ -308,7 +308,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
@@ -308,7 +308,7 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
existingEtag==MediaServerEtag(incoming))
{
// skip scanning unavailable/file not found items that are unchanged and still don't exist locally
@ -591,7 +591,7 @@ public abstract class MediaServerTelevisionLibraryScanner<TConnectionParameters,
@@ -591,7 +591,7 @@ public abstract class MediaServerTelevisionLibraryScanner<TConnectionParameters,
existingEtag==MediaServerEtag(incoming))
{
// skip scanning unavailable/file not found items that are unchanged and still don't exist locally