@ -15,6 +15,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -15,6 +15,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- `Default` - existing behavior
- `With Progress` - show animated progress bar at bottom of generated video
- Add fallback album art image for songs that have no album art
- Add `Vaapi Display` option to FFmpeg Profile
- Possible values will be install-specific and sourced from `vainfo`
- `drm` was the previous default value, and should be used in most cases
- Test all `Vaapi Display` values in `Troubleshooting` > `VAAPI Capabilities`
### Changed
- **BREAKING CHANGE**: Change channel identifiers used in XMLTV to work around bad behavior in Plex
@ -32,6 +32,7 @@ public class GetErrorProcessHandler : FFmpegProcessHandler<GetErrorProcess>
@@ -32,6 +32,7 @@ public class GetErrorProcessHandler : FFmpegProcessHandler<GetErrorProcess>
@ -312,6 +312,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -312,6 +312,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -357,6 +358,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -357,6 +358,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -370,6 +372,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -370,6 +372,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -383,6 +386,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -383,6 +386,7 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -92,7 +92,12 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI
@@ -92,7 +92,12 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI
@ -109,19 +114,19 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI
@@ -109,19 +114,19 @@ public class GetTroubleshootingInfoHandler : IRequestHandler<GetTroubleshootingI
@ -59,6 +59,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -59,6 +59,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
DateTimeOffsetnow,
Option<ChannelWatermark>playoutItemWatermark,
Option<ChannelWatermark>globalWatermark,
stringvaapiDisplay,
VaapiDrivervaapiDriver,
stringvaapiDevice,
Option<int>qsvExtraHardwareFrames,
@ -408,6 +409,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -408,6 +409,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
watermarkInputFile,
subtitleInputFile,
Option<ConcatInputFile>.None,
VaapiDisplayName(hwAccel,vaapiDisplay),
VaapiDriverName(hwAccel,vaapiDriver),
VaapiDeviceName(hwAccel,vaapiDevice),
FileSystemLayout.FFmpegReportsFolder,
@ -428,6 +430,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -428,6 +430,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
stringerrorMessage,
boolhlsRealtime,
longptsOffset,
stringvaapiDisplay,
VaapiDrivervaapiDriver,
stringvaapiDevice,
Option<int>qsvExtraHardwareFrames)
@ -569,6 +572,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -569,6 +572,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
None,
subtitleInputFile,
Option<ConcatInputFile>.None,
VaapiDisplayName(hwAccel,vaapiDisplay),
VaapiDriverName(hwAccel,vaapiDriver),
VaapiDeviceName(hwAccel,vaapiDevice),
FileSystemLayout.FFmpegReportsFolder,
@ -600,6 +604,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -600,6 +604,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
None,
None,
concatInputFile,
Option<string>.None,
None,
None,
FileSystemLayout.FFmpegReportsFolder,
@ -717,6 +722,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -717,6 +722,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -751,6 +757,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -751,6 +757,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
watermarkInputFile,
subtitleInputFile,
concatInputFile,
vaapiDisplay,
vaapiDriver,
vaapiDevice,
FileSystemLayout.FFmpegReportsFolder,
@ -790,6 +797,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -790,6 +797,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
None,
None,
concatInputFile,
Option<string>.None,
None,
None,
FileSystemLayout.FFmpegReportsFolder,
@ -830,6 +838,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -830,6 +838,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
None,
None,
Option<ConcatInputFile>.None,
Option<string>.None,
None,
None,
FileSystemLayout.FFmpegReportsFolder,
@ -988,6 +997,9 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -988,6 +997,9 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -20,7 +20,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -20,7 +20,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -82,6 +82,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -82,6 +82,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
IFFmpegCapabilitiesffmpegCapabilities,
stringffmpegPath,
HardwareAccelerationModehardwareAccelerationMode,
Option<string>vaapiDisplay,
Option<string>vaapiDriver,
Option<string>vaapiDevice)
{
@ -103,7 +104,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -103,7 +104,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -151,7 +152,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -151,7 +152,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -169,13 +170,43 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -169,13 +170,43 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -253,6 +284,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -253,6 +284,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -269,9 +301,10 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -269,9 +301,10 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -279,7 +312,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -279,7 +312,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
_logger.LogWarning("Unable to determine VAAPI capabilities; please install vainfo");
@ -294,8 +327,9 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -294,8 +327,9 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
"Detected {Count} VAAPI profile entrypoints for using {Driver} {Device}",
"Detected {Count} VAAPI profile entrypoints for using {Display} {Driver} {Device}",
profileEntrypoints.Count,
display,
driver,
device);
_memoryCache.Set(cacheKey,profileEntrypoints);
@ -345,7 +379,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@@ -345,7 +379,7 @@ public class HardwareCapabilitiesFactory : IHardwareCapabilitiesFactory
@ -23,6 +23,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
@@ -23,6 +23,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
Option<WatermarkInputFile>watermarkInputFile,
Option<SubtitleInputFile>subtitleInputFile,
Option<ConcatInputFile>concatInputFile,
Option<string>vaapiDisplay,
Option<string>vaapiDriver,
Option<string>vaapiDevice,
stringreportsFolder,
@ -35,6 +36,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
@@ -35,6 +36,7 @@ public class PipelineBuilderFactory : IPipelineBuilderFactory
@ -13,19 +14,31 @@ public class PlatformSettingsService(IServiceScopeFactory serviceScopeFactory) :
@@ -13,19 +14,31 @@ public class PlatformSettingsService(IServiceScopeFactory serviceScopeFactory) :