//------------------------------------------------------------------------------ // // This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. // // Changes to this file may cause incorrect behavior and will be lost when // the code is regenerated. // //------------------------------------------------------------------------------ #nullable enable namespace LukeHagar.PlexAPI.SDK.Models.Requests { using LukeHagar.PlexAPI.SDK.Models.Components; using LukeHagar.PlexAPI.SDK.Utils; using System.Collections.Generic; public class AddDownloadQueueItemsRequest { /// /// Indicates the client accepts the indicated media types /// [SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")] public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml; /// /// An opaque identifier unique to the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")] public string? ClientIdentifier { get; set; } /// /// The name of the client product /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")] public string? Product { get; set; } /// /// The version of the client application /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")] public string? Version { get; set; } /// /// The platform of the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")] public string? Platform { get; set; } /// /// The version of the platform /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")] public string? PlatformVersion { get; set; } /// /// A relatively friendly name for the client device /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")] public string? Device { get; set; } /// /// A potentially less friendly identifier for the device model /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")] public string? Model { get; set; } /// /// The device vendor /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")] public string? DeviceVendor { get; set; } /// /// A friendly name for the client /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")] public string? DeviceName { get; set; } /// /// The marketplace on which the client application is distributed /// [SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")] public string? Marketplace { get; set; } /// /// The queue id /// [SpeakeasyMetadata("pathParam:style=simple,explode=false,name=queueId")] public long QueueId { get; set; } = default!; /// /// Keys to add /// [SpeakeasyMetadata("queryParam:style=form,explode=false,name=keys")] public List Keys { get; set; } = default!; /// /// Indicates how incompatible advanced subtitles (such as ass/ssa) should be included: * 'burn' - Burn incompatible advanced text subtitles into the video stream * 'text' - Transcode incompatible advanced text subtitles to a compatible text format, even if some markup is lost
/// /// /// /// ///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=advancedSubtitles")] public Models.Components.AdvancedSubtitles? AdvancedSubtitles { get; set; } /// /// Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc) /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioBoost")] public long? AudioBoost { get; set; } /// /// Target video number of audio channels. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioChannelCount")] public long? AudioChannelCount { get; set; } /// /// Indicates the client supports ABR. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustQuality")] public BoolInt? AutoAdjustQuality { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Indicates if the server should adjust subtitles based on Voice Activity Data. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustSubtitle")] public BoolInt? AutoAdjustSubtitle { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Indicates the client supports direct playing the indicated content. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=directPlay")] public BoolInt? DirectPlay { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Indicates the client supports direct streaming the video of the indicated content. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStream")] public BoolInt? DirectStream { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Indicates the client supports direct streaming the audio of the indicated content. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStreamAudio")] public BoolInt? DirectStreamAudio { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Indicates if resolution should be adjusted for orientation. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=disableResolutionRotation")] public BoolInt? DisableResolutionRotation { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Ignore client profiles when determining if direct play is possible. Only has an effect when directPlay=1 and both mediaIndex and partIndex are specified and neither are -1 /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=hasMDE")] public BoolInt? HasMDE { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False; /// /// Network type of the client, can be used to help determine target bitrate. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=location")] public Models.Components.Location? Location { get; set; } /// /// Buffer size used in playback (in KB). Clients should specify a lower bound if not known exactly. This value could make the difference between transcoding and direct play on bandwidth constrained networks. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaBufferSize")] public long? MediaBufferSize { get; set; } /// /// Index of the media to transcode. -1 or not specified indicates let the server choose. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaIndex")] public long? MediaIndex { get; set; } /// /// Target bitrate for audio only files (in kbps, used to transcode). /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=musicBitrate")] public long? MusicBitrate { get; set; } /// /// Offset from the start of the media (in seconds). /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset")] public double? Offset { get; set; } /// /// Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=partIndex")] public long? PartIndex { get; set; } /// /// Internal PMS path of the media to transcode. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=path")] public string? Path { get; set; } /// /// Maximum bitrate (in kbps) to use in ABR. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=peakBitrate")] public long? PeakBitrate { get; set; } /// /// Target photo resolution. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=photoResolution")] public string? PhotoResolution { get; set; } /// /// Indicates the network streaming protocol to be used for the transcode session: * 'http' - include the file in the http response such as MKV streaming * 'hls' - hls stream (RFC 8216) * 'dash' - dash stream (ISO/IEC 23009-1:2022)
/// /// /// /// ///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=protocol")] public Models.Components.Protocol? Protocol { get; set; } /// /// Number of seconds to include in each transcoded segment /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=secondsPerSegment")] public long? SecondsPerSegment { get; set; } /// /// Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect) /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitleSize")] public long? SubtitleSize { get; set; } /// /// Indicates how subtitles should be included: * 'auto' - Compute the appropriate subtitle setting automatically * 'burn' - Burn the selected subtitle; auto if no selected subtitle * 'none' - Ignore all subtitle streams * 'sidecar' - The selected subtitle should be provided as a sidecar * 'embedded' - The selected subtitle should be provided as an embedded stream * 'segmented' - The selected subtitle should be provided as a segmented stream
/// /// /// /// ///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitles")] public Models.Components.Subtitles? Subtitles { get; set; } /// /// Target video bitrate (in kbps). /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoBitrate")] public long? VideoBitrate { get; set; } /// /// Target photo quality. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoQuality")] public long? VideoQuality { get; set; } /// /// Target maximum video resolution. /// [SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoResolution")] public string? VideoResolution { get; set; } } }