@ -13,7 +13,7 @@ public class GetAllHealthCheckResultsHandler : IRequestHandler<GetAllHealthCheck
@@ -13,7 +13,7 @@ public class GetAllHealthCheckResultsHandler : IRequestHandler<GetAllHealthCheck
@ -47,21 +47,20 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@@ -47,21 +47,20 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@ -92,7 +91,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@@ -92,7 +91,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
ffmpegPath,
ffprobePath,
progressMin,
progressMax);
progressMax,
cancellationToken);
break;
caseLibraryMediaKind.Shows:
await_televisionFolderScanner.ScanFolder(
@ -100,7 +100,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@@ -100,7 +100,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
ffmpegPath,
ffprobePath,
progressMin,
progressMax);
progressMax,
cancellationToken);
break;
caseLibraryMediaKind.MusicVideos:
await_musicVideoFolderScanner.ScanFolder(
@ -108,7 +109,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@@ -108,7 +109,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
ffmpegPath,
ffprobePath,
progressMin,
progressMax);
progressMax,
cancellationToken);
break;
caseLibraryMediaKind.OtherVideos:
await_otherVideoFolderScanner.ScanFolder(
@ -124,7 +126,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@@ -124,7 +126,8 @@ public class ScanLocalLibraryHandler : IRequestHandler<ForceScanLocalLibrary, Ei
@ -24,15 +23,13 @@ public class StartFFmpegSessionHandler : MediatR.IRequestHandler<StartFFmpegSess
@@ -24,15 +23,13 @@ public class StartFFmpegSessionHandler : MediatR.IRequestHandler<StartFFmpegSess
@ -54,7 +51,7 @@ public class StartFFmpegSessionHandler : MediatR.IRequestHandler<StartFFmpegSess
@@ -54,7 +51,7 @@ public class StartFFmpegSessionHandler : MediatR.IRequestHandler<StartFFmpegSess
@ -25,7 +25,8 @@ public class GetConcatProcessByChannelNumberHandler : FFmpegProcessHandler<GetCo
@@ -25,7 +25,8 @@ public class GetConcatProcessByChannelNumberHandler : FFmpegProcessHandler<GetCo
@ -57,42 +57,42 @@ public class GetLastPtsDurationHandler : IRequestHandler<GetLastPtsDuration, Eit
@@ -57,42 +57,42 @@ public class GetLastPtsDurationHandler : IRequestHandler<GetLastPtsDuration, Eit
{
string[]argumentList=
{
// `-v 0` seems to prevent ffprobe from outputting anything on windows
"-v","0",
"-show_entries",
"packet=pts,duration",
"-of",
"compact=p=0:nk=1",
"-read_intervals",
"-999999",
"-of","compact=p=0:nk=1",
// "-read_intervals", "999999", // read_intervals causes inconsistent behavior on windows
@ -58,7 +58,8 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -58,7 +58,8 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
TvContextdbContext,
GetPlayoutItemProcessByChannelNumberrequest,
Channelchannel,
stringffmpegPath)
stringffmpegPath,
CancellationTokencancellationToken)
{
DateTimeOffsetnow=request.Now;
@ -129,7 +130,8 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@@ -129,7 +130,8 @@ public class GetPlayoutItemProcessByChannelNumberHandler : FFmpegProcessHandler<
@ -25,7 +25,8 @@ public class GetWrappedProcessByChannelNumberHandler : FFmpegProcessHandler<GetW
@@ -25,7 +25,8 @@ public class GetWrappedProcessByChannelNumberHandler : FFmpegProcessHandler<GetW
@ -301,7 +301,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -301,7 +301,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
WatermarkLocationwatermarkLocation,
inthorizontalMarginPercent,
intverticalMarginPercent,
intwatermarkWidthPercent)=>
intwatermarkWidthPercent,
CancellationTokencancellationToken)=>
_ffmpegProcessService.GenerateSongImage(
ffmpegPath,
subtitleFile,
@ -314,7 +315,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -314,7 +315,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -331,7 +332,8 @@ public class FFmpegProcessService : IFFmpegProcessService
@@ -331,7 +332,8 @@ public class FFmpegProcessService : IFFmpegProcessService
WatermarkLocationwatermarkLocation,
inthorizontalMarginPercent,
intverticalMarginPercent,
intwatermarkWidthPercent)
intwatermarkWidthPercent,
CancellationTokencancellationToken)
{
try
{
@ -404,8 +406,10 @@ public class FFmpegProcessService : IFFmpegProcessService
@@ -404,8 +406,10 @@ public class FFmpegProcessService : IFFmpegProcessService
@ -67,7 +67,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@@ -67,7 +67,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
stringffmpegPath,
stringffprobePath,
decimalprogressMin,
decimalprogressMax)
decimalprogressMax,
CancellationTokencancellationToken)
{
decimalprogressSpread=progressMax-progressMin;
@ -134,8 +135,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@@ -134,8 +135,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@ -229,7 +230,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@@ -229,7 +230,8 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@ -238,7 +240,7 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@@ -238,7 +240,7 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
@ -68,7 +68,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -68,7 +68,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
stringffmpegPath,
stringffprobePath,
decimalprogressMin,
decimalprogressMax)
decimalprogressMax,
CancellationTokencancellationToken)
{
decimalprogressSpread=progressMax-progressMin;
@ -88,8 +89,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -88,8 +89,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -99,7 +100,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -99,7 +100,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
ffmpegPath,
ffprobePath,
result.Item,
artistFolder);
artistFolder,
cancellationToken);
if(result.IsAdded)
{
@ -212,7 +214,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -212,7 +214,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -221,7 +224,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -221,7 +224,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -238,7 +241,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -238,7 +241,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
stringffmpegPath,
stringffprobePath,
Artistartist,
stringartistFolder)
stringartistFolder,
CancellationTokencancellationToken)
{
varfolderQueue=newQueue<string>();
folderQueue.Enqueue(artistFolder);
@ -277,7 +281,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -277,7 +281,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -379,7 +383,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -379,7 +383,8 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -388,7 +393,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@@ -388,7 +393,7 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
@ -66,7 +66,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -66,7 +66,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
stringffprobePath,
stringffmpegPath,
decimalprogressMin,
decimalprogressMax)
decimalprogressMax,
CancellationTokencancellationToken)
{
decimalprogressSpread=progressMax-progressMin;
@ -130,7 +131,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -130,7 +131,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -212,7 +213,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -212,7 +213,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -234,10 +236,16 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -234,10 +236,16 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -246,7 +254,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -246,7 +254,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -263,7 +271,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -263,7 +271,7 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -273,7 +281,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@@ -273,7 +281,8 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
@ -67,7 +67,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -67,7 +67,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
stringffmpegPath,
stringffprobePath,
decimalprogressMin,
decimalprogressMax)
decimalprogressMax,
CancellationTokencancellationToken)
{
decimalprogressSpread=progressMax-progressMin;
@ -85,9 +86,9 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -85,9 +86,9 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -97,7 +98,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -97,7 +98,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
ffmpegPath,
ffprobePath,
result.Item,
showFolder);
showFolder,
cancellationToken);
if(result.IsAdded)
{
@ -159,7 +161,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -159,7 +161,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -182,12 +185,12 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -182,12 +185,12 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -212,7 +215,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -212,7 +215,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -232,7 +236,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -232,7 +236,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -363,7 +367,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -363,7 +367,8 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -372,7 +377,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -372,7 +377,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -384,7 +389,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -384,7 +389,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -392,7 +397,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -392,7 +397,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -404,7 +409,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -404,7 +409,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -413,7 +418,13 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@@ -413,7 +418,13 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
@ -14,16 +14,16 @@ public class EpisodeMetadataHealthCheck : BaseHealthCheck, IEpisodeMetadataHealt
@@ -14,16 +14,16 @@ public class EpisodeMetadataHealthCheck : BaseHealthCheck, IEpisodeMetadataHealt
@ -36,7 +36,8 @@ public class EpisodeMetadataHealthCheck : BaseHealthCheck, IEpisodeMetadataHealt
@@ -36,7 +36,8 @@ public class EpisodeMetadataHealthCheck : BaseHealthCheck, IEpisodeMetadataHealt
varfolders=string.Join(", ",paths);
returnWarningResult($"There are {episodes.Count} episodes with missing metadata, including in the following folders: {folders}");
returnWarningResult(
$"There are {episodes.Count} episodes with missing metadata, including in the following folders: {folders}");
@ -16,7 +16,7 @@ public class ErrorReportsHealthCheck : BaseHealthCheck, IErrorReportsHealthCheck
@@ -16,7 +16,7 @@ public class ErrorReportsHealthCheck : BaseHealthCheck, IErrorReportsHealthCheck
@ -26,6 +26,7 @@ public class ErrorReportsHealthCheck : BaseHealthCheck, IErrorReportsHealthCheck
@@ -26,6 +26,7 @@ public class ErrorReportsHealthCheck : BaseHealthCheck, IErrorReportsHealthCheck
.AsTask();
}
returnInfoResult("Automated error reporting is disabled. Please enable to support bug fixing efforts!").AsTask();
returnInfoResult("Automated error reporting is disabled. Please enable to support bug fixing efforts!")
@ -12,7 +12,7 @@ public class FFmpegReportsHealthCheck : BaseHealthCheck, IFFmpegReportsHealthChe
@@ -12,7 +12,7 @@ public class FFmpegReportsHealthCheck : BaseHealthCheck, IFFmpegReportsHealthChe
@ -16,7 +16,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@@ -16,7 +16,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@ -29,9 +29,10 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@@ -29,9 +29,10 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
returnWarningResult("Unable to determine ffmpeg version");
@ -48,7 +49,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@@ -48,7 +49,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
returnWarningResult("Unable to determine ffprobe version");
@ -65,7 +66,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@@ -65,7 +66,7 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@ -82,9 +83,9 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@@ -82,9 +83,9 @@ public class FFmpegVersionHealthCheck : BaseHealthCheck, IFFmpegVersionHealthChe
@ -16,58 +16,58 @@ public class FileNotFoundHealthCheck : BaseHealthCheck, IFileNotFoundHealthCheck
@@ -16,58 +16,58 @@ public class FileNotFoundHealthCheck : BaseHealthCheck, IFileNotFoundHealthCheck
@ -22,7 +22,7 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@@ -22,7 +22,7 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@ -49,7 +49,8 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@@ -49,7 +49,8 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@ -69,7 +70,7 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@@ -69,7 +70,7 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@ -87,11 +88,13 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@@ -87,11 +88,13 @@ public class HardwareAccelerationHealthCheck : BaseHealthCheck, IHardwareAcceler
@ -14,16 +14,16 @@ public class MovieMetadataHealthCheck : BaseHealthCheck, IMovieMetadataHealthChe
@@ -14,16 +14,16 @@ public class MovieMetadataHealthCheck : BaseHealthCheck, IMovieMetadataHealthChe
@ -36,7 +36,8 @@ public class MovieMetadataHealthCheck : BaseHealthCheck, IMovieMetadataHealthChe
@@ -36,7 +36,8 @@ public class MovieMetadataHealthCheck : BaseHealthCheck, IMovieMetadataHealthChe
varfolders=string.Join(", ",paths);
returnWarningResult($"There are {movies.Count} movies with missing metadata, including in the following folders: {folders}");
returnWarningResult(
$"There are {movies.Count} movies with missing metadata, including in the following folders: {folders}");
@ -18,13 +18,13 @@ public class VaapiDriverHealthCheck : BaseHealthCheck, IVaapiDriverHealthCheck
@@ -18,13 +18,13 @@ public class VaapiDriverHealthCheck : BaseHealthCheck, IVaapiDriverHealthCheck
@ -16,40 +16,40 @@ public class ZeroDurationHealthCheck : BaseHealthCheck, IZeroDurationHealthCheck
@@ -16,40 +16,40 @@ public class ZeroDurationHealthCheck : BaseHealthCheck, IZeroDurationHealthCheck