@ -6,9 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -6,9 +6,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased]
### Fixed
- Align default docker image (no acceleration) with new images from [ErsatzTV-ffmpeg](https://github.com/jasongdove/ErsatzTV-ffmpeg)
- Fix some transcoding pipelines that use software decoders
### Changed
- Plex, Jellyfin and Emby libraries now retrieve all metadata and statistics from the media server; ffprobe is no longer used
- Plex, Jellyfin and Emby libraries now retrieve all metadata and statistics from the media server
- File systems will no longer be periodically scanned for libraries using these media sources
- Plex, Jellyfin and Emby libraries now direct stream content 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
@ -19,12 +19,12 @@ public class ReleaseMemoryHandler : IRequestHandler<ReleaseMemory, Unit>
@@ -19,12 +19,12 @@ public class ReleaseMemoryHandler : IRequestHandler<ReleaseMemory, Unit>
@ -45,6 +45,6 @@ public class ReleaseMemoryHandler : IRequestHandler<ReleaseMemory, Unit>
@@ -45,6 +45,6 @@ public class ReleaseMemoryHandler : IRequestHandler<ReleaseMemory, Unit>
@ -35,7 +35,7 @@ public class RebuildSearchIndexHandler : IRequestHandler<RebuildSearchIndex, Uni
@@ -35,7 +35,7 @@ public class RebuildSearchIndexHandler : IRequestHandler<RebuildSearchIndex, Uni
@ -63,7 +63,5 @@ public class RebuildSearchIndexHandler : IRequestHandler<RebuildSearchIndex, Uni
@@ -63,7 +63,5 @@ public class RebuildSearchIndexHandler : IRequestHandler<RebuildSearchIndex, Uni
{
_logger.LogInformation("Search index is already version {Version}",_searchIndex.Version);
@ -20,10 +20,9 @@ public class ReindexMediaItemsHandler : IRequestHandler<ReindexMediaItems, Unit>
@@ -20,10 +20,9 @@ public class ReindexMediaItemsHandler : IRequestHandler<ReindexMediaItems, Unit>
@ -32,10 +32,16 @@ public class NvidiaHardwareCapabilities : IHardwareCapabilities
@@ -32,10 +32,16 @@ public class NvidiaHardwareCapabilities : IHardwareCapabilities
@ -80,12 +80,11 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -80,12 +80,11 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -105,7 +104,10 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -105,7 +104,10 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
foreach(IDecoderdecoderinmaybeDecoder)
{
videoInputFile.AddOption(decoder);
returnSome(decoder);
}
returnNone;
}
protectedoverrideFilterChainSetVideoFilters(
@ -114,6 +116,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -114,6 +116,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
Option<WatermarkInputFile>watermarkInputFile,
Option<SubtitleInputFile>subtitleInputFile,
PipelineContextcontext,
Option<IDecoder>maybeDecoder,
FFmpegStateffmpegState,
FrameStatedesiredState,
stringfontsFolder,
@ -132,10 +135,12 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -132,10 +135,12 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
// if (context.HasSubtitleOverlay || context.HasWatermark)
// {
@ -275,7 +280,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -275,7 +280,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -292,11 +297,19 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -292,11 +297,19 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -332,14 +345,6 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -332,14 +345,6 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -398,6 +403,8 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -398,6 +403,8 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -473,7 +480,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -473,7 +480,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -526,12 +533,20 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -526,12 +533,20 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -395,7 +395,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -395,7 +395,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -411,6 +411,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -411,6 +411,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
_watermarkInputFile,
_subtitleInputFile,
context,
maybeDecoder,
ffmpegState,
desiredState,
_fontsFolder,
@ -421,12 +422,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -421,12 +422,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -471,6 +471,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -471,6 +471,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -78,12 +78,11 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -78,12 +78,11 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -99,7 +98,10 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -99,7 +98,10 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
foreach(IDecoderdecoderinmaybeDecoder)
{
videoInputFile.AddOption(decoder);
returnSome(decoder);
}
returnNone;
}
protectedoverrideFilterChainSetVideoFilters(
@ -108,6 +110,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -108,6 +110,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
Option<WatermarkInputFile>watermarkInputFile,
Option<SubtitleInputFile>subtitleInputFile,
PipelineContextcontext,
Option<IDecoder>maybeDecoder,
FFmpegStateffmpegState,
FrameStatedesiredState,
stringfontsFolder,
@ -126,11 +129,13 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -126,11 +129,13 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -294,7 +299,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -294,7 +299,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -44,17 +44,19 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -44,17 +44,19 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -71,6 +73,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -71,6 +73,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
Option<WatermarkInputFile>watermarkInputFile,
Option<SubtitleInputFile>subtitleInputFile,
PipelineContextcontext,
Option<IDecoder>maybeDecoder,
FFmpegStateffmpegState,
FrameStatedesiredState,
stringfontsFolder,
@ -87,7 +90,12 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -87,7 +90,12 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -139,7 +147,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -139,7 +147,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -85,12 +85,11 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -85,12 +85,11 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -101,7 +100,10 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -101,7 +100,10 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
foreach(IDecoderdecoderinmaybeDecoder)
{
videoInputFile.AddOption(decoder);
returnSome(decoder);
}
returnNone;
}
protectedoverrideFilterChainSetVideoFilters(
@ -110,6 +112,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -110,6 +112,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
Option<WatermarkInputFile>watermarkInputFile,
Option<SubtitleInputFile>subtitleInputFile,
PipelineContextcontext,
Option<IDecoder>maybeDecoder,
FFmpegStateffmpegState,
FrameStatedesiredState,
stringfontsFolder,
@ -122,15 +125,14 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -122,15 +125,14 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -246,7 +248,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -246,7 +248,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -68,12 +68,11 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@@ -68,12 +68,11 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@ -85,7 +84,10 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@@ -85,7 +84,10 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@ -113,7 +115,7 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@@ -113,7 +115,7 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder