2
0
Эх сурвалжийг харах

fixes #1356 - [BUG] .mkv that stream copies, cannot be played without transcoding option turned on for user

Luke Pulverenti 9 жил өмнө
parent
commit
2fffbc2db0

+ 15 - 0
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -962,6 +962,21 @@ namespace MediaBrowser.Api.Playback
 
             await AcquireResources(state, cancellationTokenSource).ConfigureAwait(false);
 
+            if (state.VideoRequest != null && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
+            {
+                var auth = AuthorizationContext.GetAuthorizationInfo(Request);
+                if (!string.IsNullOrWhiteSpace(auth.UserId))
+                {
+                    var user = UserManager.GetUserById(auth.UserId);
+                    if (!user.Policy.EnableVideoPlaybackTranscoding)
+                    {
+                        ApiEntryPoint.Instance.OnTranscodeFailedToStart(outputPath, TranscodingJobType, state);
+
+                        throw new ArgumentException("User does not have access to video transcoding");
+                    }
+                }
+            }
+
             var transcodingId = Guid.NewGuid().ToString("N");
             var commandLineArgs = GetCommandLineArguments(outputPath, state, true);
 

+ 0 - 7
MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs

@@ -175,13 +175,6 @@ namespace MediaBrowser.Server.Implementations.Library
                             source.SupportsTranscoding = false;
                         }
                     }
-                    else if (string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase))
-                    {
-                        if (!user.Policy.EnableVideoPlaybackTranscoding)
-                        {
-                            source.SupportsTranscoding = false;
-                        }
-                    }
                 }
             }