using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
public class AudioController : ControllerBase
public const string ValidationRegex = @"^[a-zA-Z0-9\-\._,|]{0,40}$";
[HttpGet("{itemId}/stream", Name = "GetAudioStream")]
[HttpHead("{itemId}/stream", Name = "HeadAudioStream")]
[ProducesResponseType(StatusCodes.Status200OK)]
public ActionResult GetAudioStream(
[FromQuery] [RegularExpression(ValidationRegex)] string? container,
[FromQuery] bool? @static,
[FromQuery] [RegularExpression(ValidationRegex)] string? segmentContainer,
[FromQuery] int? segmentLength,
[FromQuery] string? mediaSourceId,
[FromQuery] string? deviceId,
[FromQuery] [RegularExpression(ValidationRegex)] string? audioCodec)
if (container.Length == 5)
public static void Main()