aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jellyfin.Api/Controllers/AudioController.cs16
-rw-r--r--Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs6
-rw-r--r--Jellyfin.Api/Models/StreamingDtos/StreamState.cs5
3 files changed, 10 insertions, 17 deletions
diff --git a/Jellyfin.Api/Controllers/AudioController.cs b/Jellyfin.Api/Controllers/AudioController.cs
index 81492ed4a..d8c67cc24 100644
--- a/Jellyfin.Api/Controllers/AudioController.cs
+++ b/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,
diff --git a/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs b/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs
index 9f16b5323..ddca2f1ae 100644
--- a/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs
+++ b/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);
diff --git a/Jellyfin.Api/Models/StreamingDtos/StreamState.cs b/Jellyfin.Api/Models/StreamingDtos/StreamState.cs
index 70a13d745..df5e21dac 100644
--- a/Jellyfin.Api/Models/StreamingDtos/StreamState.cs
+++ b/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;
}