Bläddra i källkod

Apply suggestions from review

David 4 år sedan
förälder
incheckning
d39f481a5c

+ 7 - 9
Jellyfin.Api/Controllers/AudioController.cs

@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Net.Http;
 using System.Threading;
 using System.Threading.Tasks;
 using Jellyfin.Api.Helpers;
@@ -40,6 +41,7 @@ namespace Jellyfin.Api.Controllers
         private readonly IConfiguration _configuration;
         private readonly IDeviceManager _deviceManager;
         private readonly TranscodingJobHelper _transcodingJobHelper;
+        private readonly HttpClient _httpClient;
 
         private readonly TranscodingJobType _transcodingJobType = TranscodingJobType.Progressive;
 
@@ -59,6 +61,7 @@ namespace Jellyfin.Api.Controllers
         /// <param name="configuration">Instance of the <see cref="IConfiguration"/> interface.</param>
         /// <param name="deviceManager">Instance of the <see cref="IDeviceManager"/> interface.</param>
         /// <param name="transcodingJobHelper">The <see cref="TranscodingJobHelper"/> singleton.</param>
+        /// <param name="httpClient">Instance of the <see cref="HttpClient"/>.</param>
         public AudioController(
             IDlnaManager dlnaManager,
             IUserManager userManger,
@@ -72,7 +75,8 @@ namespace Jellyfin.Api.Controllers
             ISubtitleEncoder subtitleEncoder,
             IConfiguration configuration,
             IDeviceManager deviceManager,
-            TranscodingJobHelper transcodingJobHelper)
+            TranscodingJobHelper transcodingJobHelper,
+            HttpClient httpClient)
         {
             _dlnaManager = dlnaManager;
             _authContext = authorizationContext;
@@ -87,6 +91,7 @@ namespace Jellyfin.Api.Controllers
             _configuration = configuration;
             _deviceManager = deviceManager;
             _transcodingJobHelper = transcodingJobHelper;
+            _httpClient = httpClient;
         }
 
         /// <summary>
@@ -295,7 +300,7 @@ namespace Jellyfin.Api.Controllers
 
                 using (state)
                 {
-                    return await FileStreamResponseHelpers.GetStaticRemoteStreamResult(state, isHeadRequest, this).ConfigureAwait(false);
+                    return await FileStreamResponseHelpers.GetStaticRemoteStreamResult(state, isHeadRequest, this, _httpClient).ConfigureAwait(false);
                 }
             }
 
@@ -327,13 +332,6 @@ namespace Jellyfin.Api.Controllers
                         return File(Response.Body, contentType);
                     }
 
-                    TimeSpan? cacheDuration = null;
-
-                    if (!string.IsNullOrEmpty(tag))
-                    {
-                        cacheDuration = TimeSpan.FromDays(365);
-                    }
-
                     return FileStreamResponseHelpers.GetStaticFileResult(
                         state.MediaPath,
                         contentType,

+ 3 - 3
Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs

@@ -23,14 +23,14 @@ namespace Jellyfin.Api.Helpers
         /// <param name="state">The current <see cref="StreamState"/>.</param>
         /// <param name="isHeadRequest">Whether the current request is a HTTP HEAD request so only the headers get returned.</param>
         /// <param name="controller">The <see cref="ControllerBase"/> managing the response.</param>
+        /// <param name="httpClient">The <see cref="HttpClient"/> making the remote request.</param>
         /// <returns>A <see cref="Task{ActionResult}"/> containing the API response.</returns>
         public static async Task<ActionResult> GetStaticRemoteStreamResult(
             StreamState state,
             bool isHeadRequest,
-            ControllerBase controller)
+            ControllerBase controller,
+            HttpClient httpClient)
         {
-            HttpClient httpClient = new HttpClient();
-
             if (state.RemoteHttpHeaders.TryGetValue(HeaderNames.UserAgent, out var useragent))
             {
                 httpClient.DefaultRequestHeaders.Add(HeaderNames.UserAgent, useragent);

+ 0 - 5
Jellyfin.Api/Models/StreamingDtos/StreamState.cs

@@ -94,11 +94,6 @@ namespace Jellyfin.Api.Models.StreamingDtos
                         userAgent.IndexOf("iphone", StringComparison.OrdinalIgnoreCase) != -1 ||
                         userAgent.IndexOf("ipod", StringComparison.OrdinalIgnoreCase) != -1)
                     {
-                        if (IsSegmentedLiveStream)
-                        {
-                            return 6;
-                        }
-
                         return 6;
                     }