mirror of
https://github.com/LukeHagar/plexcsharp.git
synced 2025-12-06 12:37:46 +00:00
* `PlexApi.LibraryPlaylists.AddPlaylistItems()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.ClearPlaylistItems()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryCollections.MoveCollectionItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryCollections.DeleteCollectionItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryCollections.AddCollectionItems()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetSonicallySimilar()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Butler.StopTask()`: `request` **Changed** **Breaking** ⚠️ * `PlexApi.Butler.StartTask()`: `request` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetSonicPath()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.DownloadQueue.GetItemDecision()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetAllHubs()`: * `request.OnlyTransient` **Changed** * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetContinueWatching()`: `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetPromotedHubs()`: `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetMetadataHubs()`: * `request.OnlyTransient` **Changed** * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetPostplayHubs()`: * `request.OnlyTransient` **Changed** * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetRelatedHubs()`: * `request.OnlyTransient` **Changed** * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetSectionHubs()`: * `request.OnlyTransient` **Changed** * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetAllLeaves()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.ListContent()`: * `request` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Search.SearchHubs()`: `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetAlbums()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryItems()`: * `request.MediaQuery` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.IngestTransientItem()`: * `request` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryMatches()`: * `request` **Changed** **Breaking** ⚠️ * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetMetadataItem()`: * `request` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetSections()`: `response.mediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.AddSection()`: * `request` **Changed** * `response.mediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetTags()`: * `request.Type` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetCollectionItems()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetAllItemLeaves()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Status.ListSessions()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.MovePlayQueueItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetExtras()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.DeletePlayQueueItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.Unshuffle()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListMatches()`: * `request.Manual` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListSonicallySimilar()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.Shuffle()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetRelatedItems()`: `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListSimilar()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.ResetPlayQueue()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetItemTree()`: `response.mediaContainer.MetadataItem.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.ClearPlayQueue()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.AddToPlayQueue()`: * `request.Next` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetCommon()`: * `request.MediaQuery` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetPerson()`: `response.mediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListPersonMedia()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.GetPlayQueue()`: * `request` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryDetails()`: * `request.IncludeDetails` **Changed** * `response.mediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.MovePlaylistItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.Autocomplete()`: * `request.MediaQuery` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetCollections()`: * `request.MediaQuery` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.GetPlaylistGeneratorItems()`: `response.mediaContainer.Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.DeletePlaylistItem()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Search.VoiceSearchHubs()`: * `request.Type` **Changed** **Breaking** ⚠️ * `response.mediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.CreatePlaylist()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Playlist.GetPlaylistItems()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Playlist.GetPlaylist()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Playlist.ListPlaylists()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Collections.CreateCollection()`: * `request.Type` **Changed** **Breaking** ⚠️ * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.DvRs.TuneChannel()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LiveTv.GetSessions()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LiveTv.GetLiveTvSession()`: `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Transcoder.MakeDecision()`: * `request` **Changed** * `response.mediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.GetAllSubscriptions()`: * `request` **Changed** * `response.mediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.CreateSubscription()`: `response.mediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.GetScheduledRecordings()`: `response.mediaContainer.MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.GetTemplate()`: `response.mediaContainer.SubscriptionTemplate.[].MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.GetSubscription()`: * `request` **Changed** * `response.mediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.EditSubscriptionPreferences()`: `response.mediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.ReorderSubscription()`: `response.mediaContainer.MediaSubscription.[].MediaGrabOperation.[].Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Library.AddSubtitles()`: `request` **Changed** * `PlexApi.LibraryPlaylists.UploadPlaylist()`: * `request.Force` **Changed** * `PlexApi.Transcoder.TranscodeSubtitles()`: `request` **Changed** * `PlexApi.Transcoder.StartTranscodeSession()`: `request` **Changed** * `PlexApi.Library.GetMediaPart()`: * `request.Download` **Changed** * `PlexApi.Library.DetectIntros()`: * `request.Force` **Changed** * `PlexApi.Library.GetSectionImage()`: * `request.MediaQuery` **Changed** * `PlexApi.Library.DeleteMediaItem()`: * `request.Proxy` **Changed** * `PlexApi.Library.RefreshItemsMetadata()`: * `request.MarkUpdated` **Changed** * `PlexApi.Authentication.Post-Users-Sign-In-Data()`: **Added** * `PlexApi.Authentication.GetTokenDetails()`: **Added** * `PlexApi.Library.DetectCredits()`: `request` **Changed** * `PlexApi.Library.SetStreamSelection()`: * `request.AllParts` **Changed** * `PlexApi.Library.UpdateItems()`: * `request.Field.locked` **Changed** * `PlexApi.PlayQueue.CreatePlayQueue()`: `request` **Changed** * `PlexApi.Library.DeleteLibrarySection()`: * `request.Async` **Changed** * `PlexApi.Library.GetAugmentationStatus()`: * `request.Wait` **Changed** * `PlexApi.Transcoder.TranscodeImage()`: `request` **Changed** * `PlexApi.Devices.ModifyDevice()`: * `request.Enabled` **Changed** * `PlexApi.Library.DetectVoiceActivity()`: `request` **Changed** * `PlexApi.Library.GetStream()`: * `request.AutoAdjustSubtitle` **Changed** * `PlexApi.Library.StartBifGeneration()`: * `request.Force` **Changed** * `PlexApi.Library.GetFirstCharacters()`: * `request.MediaQuery` **Changed** * `PlexApi.UltraBlur.GetImage()`: * `request.Noise` **Changed** * `PlexApi.Library.GenerateThumbs()`: * `request.Force` **Changed** * `PlexApi.Updater.ApplyUpdates()`: `request` **Changed** * `PlexApi.Updater.CheckUpdates()`: * `request.Download` **Changed** * `PlexApi.Library.DeleteMetadataItem()`: * `request.Proxy` **Changed** * `PlexApi.Library.OptimizeDatabase()`: * `request.Async` **Changed** * `PlexApi.Library.RefreshSection()`: * `request.Force` **Changed** * `PlexApi.Hubs.UpdateHubVisibility()`: `request` **Changed** * `PlexApi.Hubs.CreateCustomHub()`: `request` **Changed** * `PlexApi.DownloadQueue.AddDownloadQueueItems()`: `request` **Changed** * `PlexApi.Timeline.Report()`: `request` **Changed** * `PlexApi.General.GetSourceConnectionInformation()`: * `request.Refresh` **Changed** * `PlexApi.Plex.Get-Server-Resources()`: **Added** * `PlexApi.Users.Get-Users()`: **Added**
293 lines
13 KiB
C#
293 lines
13 KiB
C#
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// 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.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
#nullable enable
|
|
namespace LukeHagar.PlexAPI.SDK.Models.Requests
|
|
{
|
|
using LukeHagar.PlexAPI.SDK.Models.Components;
|
|
using LukeHagar.PlexAPI.SDK.Models.Requests;
|
|
using LukeHagar.PlexAPI.SDK.Utils;
|
|
|
|
public class StartTranscodeSessionRequest
|
|
{
|
|
|
|
/// <summary>
|
|
/// Indicates the client accepts the indicated media types
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
|
|
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
|
|
|
|
/// <summary>
|
|
/// An opaque identifier unique to the client
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
|
|
public string? ClientIdentifier { get; set; }
|
|
|
|
/// <summary>
|
|
/// The name of the client product
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
|
|
public string? Product { get; set; }
|
|
|
|
/// <summary>
|
|
/// The version of the client application
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
|
|
public string? Version { get; set; }
|
|
|
|
/// <summary>
|
|
/// The platform of the client
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
|
|
public string? Platform { get; set; }
|
|
|
|
/// <summary>
|
|
/// The version of the platform
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
|
|
public string? PlatformVersion { get; set; }
|
|
|
|
/// <summary>
|
|
/// A relatively friendly name for the client device
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
|
|
public string? Device { get; set; }
|
|
|
|
/// <summary>
|
|
/// A potentially less friendly identifier for the device model
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
|
|
public string? Model { get; set; }
|
|
|
|
/// <summary>
|
|
/// The device vendor
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
|
|
public string? DeviceVendor { get; set; }
|
|
|
|
/// <summary>
|
|
/// A friendly name for the client
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
|
|
public string? DeviceName { get; set; }
|
|
|
|
/// <summary>
|
|
/// The marketplace on which the client application is distributed
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
|
|
public string? Marketplace { get; set; }
|
|
|
|
/// <summary>
|
|
/// Type of transcode media
|
|
/// </summary>
|
|
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=transcodeType")]
|
|
public TranscodeType TranscodeType { get; set; } = default!;
|
|
|
|
/// <summary>
|
|
/// Transcode session UUID
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=transcodeSessionId")]
|
|
public string? TranscodeSessionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Extension <br/>
|
|
///
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// </summary>
|
|
[SpeakeasyMetadata("pathParam:style=simple,explode=false,name=extension")]
|
|
public Extension Extension { get; set; } = default!;
|
|
|
|
/// <summary>
|
|
/// 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<br/>
|
|
///
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=advancedSubtitles")]
|
|
public Models.Components.AdvancedSubtitles? AdvancedSubtitles { get; set; }
|
|
|
|
/// <summary>
|
|
/// Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc)
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioBoost")]
|
|
public long? AudioBoost { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target video number of audio channels.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=audioChannelCount")]
|
|
public long? AudioChannelCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Indicates the client supports ABR.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustQuality")]
|
|
public BoolInt? AutoAdjustQuality { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Indicates if the server should adjust subtitles based on Voice Activity Data.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=autoAdjustSubtitle")]
|
|
public BoolInt? AutoAdjustSubtitle { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Indicates the client supports direct playing the indicated content.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directPlay")]
|
|
public BoolInt? DirectPlay { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Indicates the client supports direct streaming the video of the indicated content.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStream")]
|
|
public BoolInt? DirectStream { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Indicates the client supports direct streaming the audio of the indicated content.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=directStreamAudio")]
|
|
public BoolInt? DirectStreamAudio { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Indicates if resolution should be adjusted for orientation.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=disableResolutionRotation")]
|
|
public BoolInt? DisableResolutionRotation { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// 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
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=hasMDE")]
|
|
public BoolInt? HasMDE { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.BoolInt.False;
|
|
|
|
/// <summary>
|
|
/// Network type of the client, can be used to help determine target bitrate.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=location")]
|
|
public StartTranscodeSessionQueryParamLocation? Location { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaBufferSize")]
|
|
public long? MediaBufferSize { get; set; }
|
|
|
|
/// <summary>
|
|
/// Index of the media to transcode. -1 or not specified indicates let the server choose.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=mediaIndex")]
|
|
public long? MediaIndex { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target bitrate for audio only files (in kbps, used to transcode).
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=musicBitrate")]
|
|
public long? MusicBitrate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Offset from the start of the media (in seconds).
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=offset")]
|
|
public double? Offset { get; set; }
|
|
|
|
/// <summary>
|
|
/// Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=partIndex")]
|
|
public long? PartIndex { get; set; }
|
|
|
|
/// <summary>
|
|
/// Internal PMS path of the media to transcode.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=path")]
|
|
public string? Path { get; set; }
|
|
|
|
/// <summary>
|
|
/// Maximum bitrate (in kbps) to use in ABR.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=peakBitrate")]
|
|
public long? PeakBitrate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target photo resolution.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=photoResolution")]
|
|
public string? PhotoResolution { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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)<br/>
|
|
///
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=protocol")]
|
|
public StartTranscodeSessionQueryParamProtocol? Protocol { get; set; }
|
|
|
|
/// <summary>
|
|
/// Number of seconds to include in each transcoded segment
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=secondsPerSegment")]
|
|
public long? SecondsPerSegment { get; set; }
|
|
|
|
/// <summary>
|
|
/// Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect)
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitleSize")]
|
|
public long? SubtitleSize { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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<br/>
|
|
///
|
|
/// <remarks>
|
|
///
|
|
/// </remarks>
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=subtitles")]
|
|
public StartTranscodeSessionQueryParamSubtitles? Subtitles { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target video bitrate (in kbps).
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoBitrate")]
|
|
public long? VideoBitrate { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target photo quality.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoQuality")]
|
|
public long? VideoQuality { get; set; }
|
|
|
|
/// <summary>
|
|
/// Target maximum video resolution.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=videoResolution")]
|
|
public string? VideoResolution { get; set; }
|
|
|
|
/// <summary>
|
|
/// See <a href="#section/API-Info/Profile-Augmentations">Profile Augmentations</a> .
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Profile-Extra")]
|
|
public string? XPlexClientProfileExtra { get; set; }
|
|
|
|
/// <summary>
|
|
/// Which built in Client Profile to use in the decision. Generally should only be used to specify the Generic profile.
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Profile-Name")]
|
|
public string? XPlexClientProfileName { get; set; }
|
|
|
|
/// <summary>
|
|
/// Unique per client playback session. Used if a client can playback multiple items at a time (such as a browser with multiple tabs)
|
|
/// </summary>
|
|
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Session-Identifier")]
|
|
public string? XPlexSessionIdentifier { get; set; }
|
|
}
|
|
} |