Browse Source

Backport pull request #15112 from jellyfin/release-10.11.z

Skip extracted files in migration if bad timestamp or no access

Original-merge: 7a1c1cd3421a39c09b969a581955fda4f3f81ec5

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
Shadowghost 1 week ago
parent
commit
14e8194581
1 changed files with 24 additions and 0 deletions
  1. 24 0
      Jellyfin.Server/Migrations/Routines/MoveExtractedFiles.cs

+ 24 - 0
Jellyfin.Server/Migrations/Routines/MoveExtractedFiles.cs

@@ -224,6 +224,18 @@ public class MoveExtractedFiles : IAsyncMigrationRoutine
 
                 return null;
             }
+            catch (UnauthorizedAccessException e)
+            {
+                _logger.LogDebug("Skipping subtitle at index {Index} for {Path}: {Exception}", attachmentStreamIndex, mediaPath, e.Message);
+
+                return null;
+            }
+            catch (ArgumentOutOfRangeException e)
+            {
+                _logger.LogDebug("Skipping attachment at index {Index} for {Path}: {Exception}", attachmentStreamIndex, mediaPath, e.Message);
+
+                return null;
+            }
 
             filename = (mediaPath + attachmentStreamIndex.ToString(CultureInfo.InvariantCulture) + "_" + date.Value.Ticks.ToString(CultureInfo.InvariantCulture)).GetMD5().ToString("D", CultureInfo.InvariantCulture);
         }
@@ -263,6 +275,18 @@ public class MoveExtractedFiles : IAsyncMigrationRoutine
         {
             date = File.GetLastWriteTimeUtc(path);
         }
+        catch (ArgumentOutOfRangeException e)
+        {
+            _logger.LogDebug("Skipping subtitle at index {Index} for {Path}: {Exception}", streamIndex, path, e.Message);
+
+            return null;
+        }
+        catch (UnauthorizedAccessException e)
+        {
+            _logger.LogDebug("Skipping subtitle at index {Index} for {Path}: {Exception}", streamIndex, path, e.Message);
+
+            return null;
+        }
         catch (IOException e)
         {
             _logger.LogDebug("Skipping subtitle at index {Index} for {Path}: {Exception}", streamIndex, path, e.Message);