浏览代码

Queue refresh after subtitle upload + minor fixes

cvium 3 年之前
父节点
当前提交
229917a2f8
共有 2 个文件被更改,包括 17 次插入9 次删除
  1. 2 0
      Jellyfin.Api/Controllers/SubtitleController.cs
  2. 15 9
      MediaBrowser.Providers/Subtitles/SubtitleManager.cs

+ 2 - 0
Jellyfin.Api/Controllers/SubtitleController.cs

@@ -417,6 +417,8 @@ namespace Jellyfin.Api.Controllers
                     IsForced = body.IsForced,
                     Stream = memoryStream
                 }).ConfigureAwait(false);
+            _providerManager.QueueRefresh(video.Id, new MetadataRefreshOptions(new DirectoryService(_fileSystem)), RefreshPriority.High);
+
             return NoContent();
         }
 

+ 15 - 9
MediaBrowser.Providers/Subtitles/SubtitleManager.cs

@@ -187,8 +187,8 @@ namespace MediaBrowser.Providers.Subtitles
         {
             var saveInMediaFolder = libraryOptions.SaveSubtitlesWithMedia;
 
-            using var stream = response.Stream;
-            using var memoryStream = new MemoryStream();
+            await using var stream = response.Stream;
+            await using var memoryStream = new MemoryStream();
             await stream.CopyToAsync(memoryStream).ConfigureAwait(false);
             memoryStream.Position = 0;
 
@@ -236,7 +236,7 @@ namespace MediaBrowser.Providers.Subtitles
 
             foreach (var savePath in savePaths)
             {
-                _logger.LogInformation("Saving subtitles to {0}", savePath);
+                _logger.LogInformation("Saving subtitles to {SavePath}", savePath);
 
                 _monitor.ReportFileSystemChangeBeginning(savePath);
 
@@ -254,13 +254,19 @@ namespace MediaBrowser.Providers.Subtitles
                 {
 // Bug in analyzer -- https://github.com/dotnet/roslyn-analyzers/issues/5160
 #pragma warning disable CA1508
-                    exs ??= new List<Exception>()
-                            {
-                                ex
-                            };
+                    if (exs == null)
 #pragma warning restore CA1508
-
-            }
+                    {
+                        exs = new List<Exception>
+                        {
+                            ex
+                        };
+                    }
+                    else
+                    {
+                        exs.Add(ex);
+                    }
+                }
                 finally
                 {
                     _monitor.ReportFileSystemChangeComplete(savePath, false);