|
|
|
@ -174,18 +174,18 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[ProducesPlaylistFile]
|
|
|
|
|
public async Task<ActionResult> GetLiveHlsStream(
|
|
|
|
|
[FromRoute, Required] Guid itemId,
|
|
|
|
|
[FromQuery] string? container,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? container,
|
|
|
|
|
[FromQuery] bool? @static,
|
|
|
|
|
[FromQuery] string? @params,
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery] string? mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -215,8 +215,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -426,12 +426,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery, Required] string mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -463,8 +463,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -596,12 +596,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery, Required] string mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -632,8 +632,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -762,12 +762,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery] string? mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -799,8 +799,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -930,12 +930,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery] string? mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -966,8 +966,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -1107,12 +1107,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery] string? mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -1144,8 +1144,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
@ -1288,12 +1288,12 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] string? tag,
|
|
|
|
|
[FromQuery] string? deviceProfileId,
|
|
|
|
|
[FromQuery] string? playSessionId,
|
|
|
|
|
[FromQuery] string? segmentContainer,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? segmentContainer,
|
|
|
|
|
[FromQuery] int? segmentLength,
|
|
|
|
|
[FromQuery] int? minSegments,
|
|
|
|
|
[FromQuery] string? mediaSourceId,
|
|
|
|
|
[FromQuery] string? deviceId,
|
|
|
|
|
[FromQuery] string? audioCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? audioCodec,
|
|
|
|
|
[FromQuery] bool? enableAutoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowVideoStreamCopy,
|
|
|
|
|
[FromQuery] bool? allowAudioStreamCopy,
|
|
|
|
@ -1324,8 +1324,8 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? cpuCoreLimit,
|
|
|
|
|
[FromQuery] string? liveStreamId,
|
|
|
|
|
[FromQuery] bool? enableMpegtsM2TsMode,
|
|
|
|
|
[FromQuery] string? videoCodec,
|
|
|
|
|
[FromQuery] string? subtitleCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? videoCodec,
|
|
|
|
|
[FromQuery][RegularExpression(EncodingHelper.ValidationRegex)] string? subtitleCodec,
|
|
|
|
|
[FromQuery] string? transcodeReasons,
|
|
|
|
|
[FromQuery] int? audioStreamIndex,
|
|
|
|
|
[FromQuery] int? videoStreamIndex,
|
|
|
|
|