mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-27 17:01:16 -04:00
Fix DirectoryNotFoundException for backdrop folders in trickplay (#14223)
This commit is contained in:
parent
88332e89c4
commit
5ac0260e5f
1 changed files with 19 additions and 16 deletions
|
@ -196,24 +196,27 @@ public class TrickplayManager : ITrickplayManager
|
|||
}
|
||||
|
||||
// Cleanup old trickplay files
|
||||
var existingFolders = Directory.GetDirectories(trickplayDirectory).ToList();
|
||||
var trickplayInfos = await dbContext.TrickplayInfos
|
||||
.AsNoTracking()
|
||||
.Where(i => i.ItemId.Equals(video.Id))
|
||||
.ToListAsync(cancellationToken)
|
||||
.ConfigureAwait(false);
|
||||
var expectedFolders = trickplayInfos.Select(i => GetTrickplayDirectory(video, i.TileWidth, i.TileHeight, i.Width, saveWithMedia)).ToList();
|
||||
var foldersToRemove = existingFolders.Except(expectedFolders);
|
||||
foreach (var folder in foldersToRemove)
|
||||
if (Directory.Exists(trickplayDirectory))
|
||||
{
|
||||
try
|
||||
var existingFolders = Directory.GetDirectories(trickplayDirectory).ToList();
|
||||
var trickplayInfos = await dbContext.TrickplayInfos
|
||||
.AsNoTracking()
|
||||
.Where(i => i.ItemId.Equals(video.Id))
|
||||
.ToListAsync(cancellationToken)
|
||||
.ConfigureAwait(false);
|
||||
var expectedFolders = trickplayInfos.Select(i => GetTrickplayDirectory(video, i.TileWidth, i.TileHeight, i.Width, saveWithMedia)).ToList();
|
||||
var foldersToRemove = existingFolders.Except(expectedFolders);
|
||||
foreach (var folder in foldersToRemove)
|
||||
{
|
||||
_logger.LogWarning("Pruning trickplay files for {Item}", video.Path);
|
||||
Directory.Delete(folder, true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogWarning("Unable to remove trickplay directory: {Directory}: {Exception}", folder, ex);
|
||||
try
|
||||
{
|
||||
_logger.LogWarning("Pruning trickplay files for {Item}", video.Path);
|
||||
Directory.Delete(folder, true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogWarning("Unable to remove trickplay directory: {Directory}: {Exception}", folder, ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue