|
@@ -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,
|