mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-06-28 09:45:28 -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
|
// Cleanup old trickplay files
|
||||||
var existingFolders = Directory.GetDirectories(trickplayDirectory).ToList();
|
if (Directory.Exists(trickplayDirectory))
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
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);
|
try
|
||||||
Directory.Delete(folder, true);
|
{
|
||||||
}
|
_logger.LogWarning("Pruning trickplay files for {Item}", video.Path);
|
||||||
catch (Exception ex)
|
Directory.Delete(folder, true);
|
||||||
{
|
}
|
||||||
_logger.LogWarning("Unable to remove trickplay directory: {Directory}: {Exception}", folder, ex);
|
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