浏览代码

don't apply path substitution when transcoding

Luke Pulverenti 10 年之前
父节点
当前提交
fede730dc1

+ 1 - 1
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -1710,7 +1710,7 @@ namespace MediaBrowser.Api.Playback
             }
             else
             {
-                var mediaSources = await MediaSourceManager.GetPlayackMediaSources(request.Id, cancellationToken).ConfigureAwait(false);
+                var mediaSources = await MediaSourceManager.GetPlayackMediaSources(request.Id, false, cancellationToken).ConfigureAwait(false);
 
                 var mediaSource = string.IsNullOrEmpty(request.MediaSourceId)
                     ? mediaSources.First()

+ 2 - 2
MediaBrowser.Api/Playback/MediaInfoService.cs

@@ -40,7 +40,7 @@ namespace MediaBrowser.Api.Playback
 
         public async Task<object> Get(GetPlaybackInfo request)
         {
-            var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.Id, request.UserId, CancellationToken.None).ConfigureAwait(false);
+            var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.Id, request.UserId, true, CancellationToken.None).ConfigureAwait(false);
 
             return ToOptimizedResult(new LiveMediaInfoResult
             {
@@ -50,7 +50,7 @@ namespace MediaBrowser.Api.Playback
 
         public async Task<object> Get(GetLiveMediaInfo request)
         {
-            var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.Id, request.UserId, CancellationToken.None).ConfigureAwait(false);
+            var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.Id, request.UserId, true, CancellationToken.None).ConfigureAwait(false);
 
             return ToOptimizedResult(new LiveMediaInfoResult
             {

+ 4 - 2
MediaBrowser.Controller/Library/IMediaSourceManager.cs

@@ -41,17 +41,19 @@ namespace MediaBrowser.Controller.Library
         /// </summary>
         /// <param name="id">The identifier.</param>
         /// <param name="userId">The user identifier.</param>
+        /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>IEnumerable&lt;MediaSourceInfo&gt;.</returns>
-        Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, CancellationToken cancellationToken);
+        Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, bool enablePathSubstitution, CancellationToken cancellationToken);
 
         /// <summary>
         /// Gets the playack media sources.
         /// </summary>
         /// <param name="id">The identifier.</param>
+        /// <param name="enablePathSubstitution">if set to <c>true</c> [enable path substitution].</param>
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task&lt;IEnumerable&lt;MediaSourceInfo&gt;&gt;.</returns>
-        Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, CancellationToken cancellationToken);
+        Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, bool enablePathSubstitution, CancellationToken cancellationToken);
 
         /// <summary>
         /// Gets the static media sources.

+ 1 - 1
MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs

@@ -116,7 +116,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
             }
             else
             {
-                var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.ItemId, cancellationToken).ConfigureAwait(false);
+                var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(request.ItemId, false, cancellationToken).ConfigureAwait(false);
 
                 var mediaSource = string.IsNullOrEmpty(request.MediaSourceId)
                     ? mediaSources.First()

+ 5 - 5
MediaBrowser.Server.Implementations/Library/MediaSourceManager.cs

@@ -125,7 +125,7 @@ namespace MediaBrowser.Server.Implementations.Library
             return list;
         }
 
-        public async Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, CancellationToken cancellationToken)
+        public async Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, string userId, bool enablePathSubstitution, CancellationToken cancellationToken)
         {
             var item = _libraryManager.GetItemById(id);
             IEnumerable<MediaSourceInfo> mediaSources;
@@ -142,12 +142,12 @@ namespace MediaBrowser.Server.Implementations.Library
             {
                 if (string.IsNullOrWhiteSpace(userId))
                 {
-                    mediaSources = hasMediaSources.GetMediaSources(true);
+                    mediaSources = hasMediaSources.GetMediaSources(enablePathSubstitution);
                 }
                 else
                 {
                     var user = _userManager.GetUserById(userId);
-                    mediaSources = GetStaticMediaSources(hasMediaSources, true, user);
+                    mediaSources = GetStaticMediaSources(hasMediaSources, enablePathSubstitution, user);
                 }
             }
 
@@ -187,9 +187,9 @@ namespace MediaBrowser.Server.Implementations.Library
             }
         }
 
-        public Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, CancellationToken cancellationToken)
+        public Task<IEnumerable<MediaSourceInfo>> GetPlayackMediaSources(string id, bool enablePathSubstitution, CancellationToken cancellationToken)
         {
-            return GetPlayackMediaSources(id, null, cancellationToken);
+            return GetPlayackMediaSources(id, null, enablePathSubstitution, cancellationToken);
         }
 
         public IEnumerable<MediaSourceInfo> GetStaticMediaSources(IHasMediaSources item, bool enablePathSubstitution)