|
|
@ -921,7 +921,6 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
/// <param name="context">Optional. The <see cref="EncodingContext"/>.</param>
|
|
|
|
/// <param name="context">Optional. The <see cref="EncodingContext"/>.</param>
|
|
|
|
/// <param name="streamOptions">Optional. The streaming options.</param>
|
|
|
|
/// <param name="streamOptions">Optional. The streaming options.</param>
|
|
|
|
/// <param name="enableAudioVbrEncoding">Optional. Whether to enable Audio Encoding.</param>
|
|
|
|
/// <param name="enableAudioVbrEncoding">Optional. Whether to enable Audio Encoding.</param>
|
|
|
|
/// <param name="alwaysBurnInSubtitleWhenTranscoding">Whether to always burn in subtitles when transcoding.</param>
|
|
|
|
|
|
|
|
/// <response code="200">Audio stream returned.</response>
|
|
|
|
/// <response code="200">Audio stream returned.</response>
|
|
|
|
/// <returns>A <see cref="FileResult"/> containing the audio file.</returns>
|
|
|
|
/// <returns>A <see cref="FileResult"/> containing the audio file.</returns>
|
|
|
|
[HttpGet("Audio/{itemId}/main.m3u8")]
|
|
|
|
[HttpGet("Audio/{itemId}/main.m3u8")]
|
|
|
@ -977,8 +976,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
[FromQuery] EncodingContext? context,
|
|
|
|
[FromQuery] EncodingContext? context,
|
|
|
|
[FromQuery] Dictionary<string, string> streamOptions,
|
|
|
|
[FromQuery] Dictionary<string, string> streamOptions,
|
|
|
|
[FromQuery] bool enableAudioVbrEncoding = true,
|
|
|
|
[FromQuery] bool enableAudioVbrEncoding = true)
|
|
|
|
[FromQuery] bool alwaysBurnInSubtitleWhenTranscoding = false)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
using var cancellationTokenSource = new CancellationTokenSource();
|
|
|
|
using var cancellationTokenSource = new CancellationTokenSource();
|
|
|
|
var streamingRequest = new StreamingRequestDto
|
|
|
|
var streamingRequest = new StreamingRequestDto
|
|
|
@ -1031,7 +1029,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
Context = context ?? EncodingContext.Streaming,
|
|
|
|
Context = context ?? EncodingContext.Streaming,
|
|
|
|
StreamOptions = streamOptions,
|
|
|
|
StreamOptions = streamOptions,
|
|
|
|
EnableAudioVbrEncoding = enableAudioVbrEncoding,
|
|
|
|
EnableAudioVbrEncoding = enableAudioVbrEncoding,
|
|
|
|
AlwaysBurnInSubtitleWhenTranscoding = alwaysBurnInSubtitleWhenTranscoding
|
|
|
|
AlwaysBurnInSubtitleWhenTranscoding = false
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
return await GetVariantPlaylistInternal(streamingRequest, cancellationTokenSource)
|
|
|
|
return await GetVariantPlaylistInternal(streamingRequest, cancellationTokenSource)
|
|
|
@ -1283,7 +1281,6 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
/// <param name="context">Optional. The <see cref="EncodingContext"/>.</param>
|
|
|
|
/// <param name="context">Optional. The <see cref="EncodingContext"/>.</param>
|
|
|
|
/// <param name="streamOptions">Optional. The streaming options.</param>
|
|
|
|
/// <param name="streamOptions">Optional. The streaming options.</param>
|
|
|
|
/// <param name="enableAudioVbrEncoding">Optional. Whether to enable Audio Encoding.</param>
|
|
|
|
/// <param name="enableAudioVbrEncoding">Optional. Whether to enable Audio Encoding.</param>
|
|
|
|
/// <param name="alwaysBurnInSubtitleWhenTranscoding">Whether to always burn in subtitles when transcoding.</param>
|
|
|
|
|
|
|
|
/// <response code="200">Video stream returned.</response>
|
|
|
|
/// <response code="200">Video stream returned.</response>
|
|
|
|
/// <returns>A <see cref="FileResult"/> containing the audio file.</returns>
|
|
|
|
/// <returns>A <see cref="FileResult"/> containing the audio file.</returns>
|
|
|
|
[HttpGet("Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}")]
|
|
|
|
[HttpGet("Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}")]
|
|
|
@ -1345,8 +1342,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
[FromQuery] EncodingContext? context,
|
|
|
|
[FromQuery] EncodingContext? context,
|
|
|
|
[FromQuery] Dictionary<string, string> streamOptions,
|
|
|
|
[FromQuery] Dictionary<string, string> streamOptions,
|
|
|
|
[FromQuery] bool enableAudioVbrEncoding = true,
|
|
|
|
[FromQuery] bool enableAudioVbrEncoding = true)
|
|
|
|
[FromQuery] bool alwaysBurnInSubtitleWhenTranscoding = false)
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var streamingRequest = new StreamingRequestDto
|
|
|
|
var streamingRequest = new StreamingRequestDto
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1401,7 +1397,7 @@ public class DynamicHlsController : BaseJellyfinApiController
|
|
|
|
Context = context ?? EncodingContext.Streaming,
|
|
|
|
Context = context ?? EncodingContext.Streaming,
|
|
|
|
StreamOptions = streamOptions,
|
|
|
|
StreamOptions = streamOptions,
|
|
|
|
EnableAudioVbrEncoding = enableAudioVbrEncoding,
|
|
|
|
EnableAudioVbrEncoding = enableAudioVbrEncoding,
|
|
|
|
AlwaysBurnInSubtitleWhenTranscoding = alwaysBurnInSubtitleWhenTranscoding
|
|
|
|
AlwaysBurnInSubtitleWhenTranscoding = false
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
return await GetDynamicSegment(streamingRequest, segmentId)
|
|
|
|
return await GetDynamicSegment(streamingRequest, segmentId)
|
|
|
|