//------------------------------------------------------------------------------
//
// 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; }
///
/// 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; }
///
/// Indicates the client supports direct playing the indicated content.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directPlay")]
public BoolInt? DirectPlay { get; set; }
///
/// 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; }
///
/// 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; }
///
/// Indicates if resolution should be adjusted for orientation.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=disableResolutionRotation")]
public BoolInt? DisableResolutionRotation { get; set; }
///
/// 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; }
///
/// 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; }
}
}