mirror of
https://github.com/LukeHagar/plexgo.git
synced 2025-12-06 04:20:46 +00:00
* `PlexApi.LibraryPlaylists.AddPlaylistItems()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetMetadataHubs()`: * `request.Request.OnlyTransient` **Changed** * `response.MediaContainer.Hub.[].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.Request` **Changed** **Breaking** ⚠️ * `PlexApi.Butler.StartTask()`: `request.Request` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetSonicPath()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.DownloadQueue.GetItemDecision()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetAllHubs()`: * `request.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.Content.GetAllLeaves()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetPostplayHubs()`: * `request.Request.OnlyTransient` **Changed** * `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetRelatedHubs()`: * `request.Request.OnlyTransient` **Changed** * `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Hubs.GetSectionHubs()`: * `request.Request.OnlyTransient` **Changed** * `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.ListContent()`: * `request.Request` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetAlbums()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Search.SearchHubs()`: `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Search.VoiceSearchHubs()`: * `request.Request.Type` **Changed** **Breaking** ⚠️ * `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryItems()`: * `request.Request.MediaQuery` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.IngestTransientItem()`: * `request.Request` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryMatches()`: * `request.Request` **Changed** **Breaking** ⚠️ * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Content.GetMetadataItem()`: * `request.Request` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetSections()`: `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.AddSection()`: * `request.Request` **Changed** * `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetTags()`: * `request.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.Request.Manual` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListSonicallySimilar()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.ResetPlayQueue()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetRelatedItems()`: `response.MediaContainer.Hub.[].Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListSimilar()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.ClearPlayQueue()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetItemTree()`: `response.MediaContainer.MetadataItem.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.AddToPlayQueue()`: * `request.Request.Next` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.GetPlayQueue()`: * `request.Request` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.MovePlaylistItem()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetPerson()`: `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.ListPersonMedia()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.GetPlaylistGeneratorItems()`: `response.MediaContainer.Metadata` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetLibraryDetails()`: * `request.Request.IncludeDetails` **Changed** * `response.MediaContainer.Directory.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.ModifyPlaylistGenerator()`: * `request.Request.Item` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.Autocomplete()`: * `request.Request.MediaQuery` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetCollections()`: * `request.Request.MediaQuery` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.GetCommon()`: * `request.Request.MediaQuery` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.DeletePlaylistItem()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.LibraryPlaylists.ClearPlaylistItems()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.PlayQueue.Shuffle()`: `response.MediaContainer.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.Collections.CreateCollection()`: * `request.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.Playlist.ListPlaylists()`: `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Subscriptions.GetAllSubscriptions()`: * `request.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.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.Transcoder.MakeDecision()`: * `request.Request` **Changed** * `response.MediaContainer.Metadata.[]` **Changed** **Breaking** ⚠️ * `PlexApi.Library.RefreshItemsMetadata()`: * `request.Request.MarkUpdated` **Changed** * `PlexApi.Authentication.Post-Users-Sign-In-Data()`: **Added** * `PlexApi.Transcoder.StartTranscodeSession()`: `request.Request` **Changed** * `PlexApi.Devices.ModifyDevice()`: * `request.Request.Enabled` **Changed** * `PlexApi.Library.GetMediaPart()`: * `request.Request.Download` **Changed** * `PlexApi.Library.DetectIntros()`: * `request.Request.Force` **Changed** * `PlexApi.Library.RefreshSection()`: * `request.Request.Force` **Changed** * `PlexApi.LibraryPlaylists.UploadPlaylist()`: * `request.Request.Force` **Changed** * `PlexApi.Library.DeleteMediaItem()`: * `request.Request.Proxy` **Changed** * `PlexApi.Authentication.GetTokenDetails()`: **Added** * `PlexApi.Library.GetFirstCharacters()`: * `request.Request.MediaQuery` **Changed** * `PlexApi.Library.UpdateItems()`: * `request.Request.Field.locked` **Changed** * `PlexApi.Library.DeleteLibrarySection()`: * `request.Request.Async` **Changed** * `PlexApi.Library.SetStreamSelection()`: * `request.Request.AllParts` **Changed** * `PlexApi.PlayQueue.CreatePlayQueue()`: `request.Request` **Changed** * `PlexApi.Library.GetAugmentationStatus()`: * `request.Request.Wait` **Changed** * `PlexApi.Library.DetectVoiceActivity()`: `request.Request` **Changed** * `PlexApi.Transcoder.TranscodeImage()`: `request.Request` **Changed** * `PlexApi.Transcoder.TranscodeSubtitles()`: `request.Request` **Changed** * `PlexApi.Library.AddSubtitles()`: `request.Request` **Changed** * `PlexApi.Library.GetStream()`: * `request.Request.AutoAdjustSubtitle` **Changed** * `PlexApi.Library.StartBifGeneration()`: * `request.Request.Force` **Changed** * `PlexApi.Library.DetectCredits()`: `request.Request` **Changed** * `PlexApi.UltraBlur.GetImage()`: * `request.Request.Noise` **Changed** * `PlexApi.Library.GenerateThumbs()`: * `request.Request.Force` **Changed** * `PlexApi.Updater.ApplyUpdates()`: `request.Request` **Changed** * `PlexApi.Updater.CheckUpdates()`: * `request.Request.Download` **Changed** * `PlexApi.Library.DeleteMetadataItem()`: * `request.Request.Proxy` **Changed** * `PlexApi.Library.OptimizeDatabase()`: * `request.Request.Async` **Changed** * `PlexApi.Hubs.UpdateHubVisibility()`: `request.Request` **Changed** * `PlexApi.Hubs.CreateCustomHub()`: `request.Request` **Changed** * `PlexApi.Library.GetSectionImage()`: * `request.Request.MediaQuery` **Changed** * `PlexApi.DownloadQueue.AddDownloadQueueItems()`: `request.Request` **Changed** * `PlexApi.Timeline.Report()`: `request.Request` **Changed** * `PlexApi.General.GetSourceConnectionInformation()`: * `request.Request.Refresh` **Changed** * `PlexApi.Plex.Get-Server-Resources()`: **Added** * `PlexApi.Users.Get-Users()`: **Added**
652 lines
20 KiB
Go
652 lines
20 KiB
Go
// Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
|
|
package operations
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/LukeHagar/plexgo/internal/utils"
|
|
"github.com/LukeHagar/plexgo/models/components"
|
|
"net/http"
|
|
)
|
|
|
|
type TranscodeSubtitlesGlobals struct {
|
|
// Indicates the client accepts the indicated media types
|
|
Accepts *components.Accepts `default:"application/xml" header:"style=simple,explode=false,name=accepts"`
|
|
// An opaque identifier unique to the client
|
|
ClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
|
// The name of the client product
|
|
Product *string `header:"style=simple,explode=false,name=X-Plex-Product"`
|
|
// The version of the client application
|
|
Version *string `header:"style=simple,explode=false,name=X-Plex-Version"`
|
|
// The platform of the client
|
|
Platform *string `header:"style=simple,explode=false,name=X-Plex-Platform"`
|
|
// The version of the platform
|
|
PlatformVersion *string `header:"style=simple,explode=false,name=X-Plex-Platform-Version"`
|
|
// A relatively friendly name for the client device
|
|
Device *string `header:"style=simple,explode=false,name=X-Plex-Device"`
|
|
// A potentially less friendly identifier for the device model
|
|
Model *string `header:"style=simple,explode=false,name=X-Plex-Model"`
|
|
// The device vendor
|
|
DeviceVendor *string `header:"style=simple,explode=false,name=X-Plex-Device-Vendor"`
|
|
// A friendly name for the client
|
|
DeviceName *string `header:"style=simple,explode=false,name=X-Plex-Device-Name"`
|
|
// The marketplace on which the client application is distributed
|
|
Marketplace *string `header:"style=simple,explode=false,name=X-Plex-Marketplace"`
|
|
}
|
|
|
|
func (t TranscodeSubtitlesGlobals) MarshalJSON() ([]byte, error) {
|
|
return utils.MarshalJSON(t, "", false)
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) UnmarshalJSON(data []byte) error {
|
|
if err := utils.UnmarshalJSON(data, &t, "", false, nil); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetAccepts() *components.Accepts {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Accepts
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetClientIdentifier() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.ClientIdentifier
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetProduct() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Product
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetVersion() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Version
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetPlatform() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Platform
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetPlatformVersion() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.PlatformVersion
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetDevice() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Device
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetModel() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Model
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetDeviceVendor() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DeviceVendor
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetDeviceName() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DeviceName
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesGlobals) GetMarketplace() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Marketplace
|
|
}
|
|
|
|
// QueryParamLocation - Network type of the client, can be used to help determine target bitrate.
|
|
type QueryParamLocation string
|
|
|
|
const (
|
|
QueryParamLocationLan QueryParamLocation = "lan"
|
|
QueryParamLocationWan QueryParamLocation = "wan"
|
|
QueryParamLocationCellular QueryParamLocation = "cellular"
|
|
)
|
|
|
|
func (e QueryParamLocation) ToPointer() *QueryParamLocation {
|
|
return &e
|
|
}
|
|
func (e *QueryParamLocation) UnmarshalJSON(data []byte) error {
|
|
var v string
|
|
if err := json.Unmarshal(data, &v); err != nil {
|
|
return err
|
|
}
|
|
switch v {
|
|
case "lan":
|
|
fallthrough
|
|
case "wan":
|
|
fallthrough
|
|
case "cellular":
|
|
*e = QueryParamLocation(v)
|
|
return nil
|
|
default:
|
|
return fmt.Errorf("invalid value for QueryParamLocation: %v", v)
|
|
}
|
|
}
|
|
|
|
// QueryParamProtocol - 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)
|
|
type QueryParamProtocol string
|
|
|
|
const (
|
|
QueryParamProtocolHTTP QueryParamProtocol = "http"
|
|
QueryParamProtocolHls QueryParamProtocol = "hls"
|
|
QueryParamProtocolDash QueryParamProtocol = "dash"
|
|
)
|
|
|
|
func (e QueryParamProtocol) ToPointer() *QueryParamProtocol {
|
|
return &e
|
|
}
|
|
func (e *QueryParamProtocol) UnmarshalJSON(data []byte) error {
|
|
var v string
|
|
if err := json.Unmarshal(data, &v); err != nil {
|
|
return err
|
|
}
|
|
switch v {
|
|
case "http":
|
|
fallthrough
|
|
case "hls":
|
|
fallthrough
|
|
case "dash":
|
|
*e = QueryParamProtocol(v)
|
|
return nil
|
|
default:
|
|
return fmt.Errorf("invalid value for QueryParamProtocol: %v", v)
|
|
}
|
|
}
|
|
|
|
// QueryParamSubtitles - 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
|
|
type QueryParamSubtitles string
|
|
|
|
const (
|
|
QueryParamSubtitlesAuto QueryParamSubtitles = "auto"
|
|
QueryParamSubtitlesBurn QueryParamSubtitles = "burn"
|
|
QueryParamSubtitlesNone QueryParamSubtitles = "none"
|
|
QueryParamSubtitlesSidecar QueryParamSubtitles = "sidecar"
|
|
QueryParamSubtitlesEmbedded QueryParamSubtitles = "embedded"
|
|
QueryParamSubtitlesSegmented QueryParamSubtitles = "segmented"
|
|
QueryParamSubtitlesUnknown QueryParamSubtitles = "unknown"
|
|
)
|
|
|
|
func (e QueryParamSubtitles) ToPointer() *QueryParamSubtitles {
|
|
return &e
|
|
}
|
|
func (e *QueryParamSubtitles) UnmarshalJSON(data []byte) error {
|
|
var v string
|
|
if err := json.Unmarshal(data, &v); err != nil {
|
|
return err
|
|
}
|
|
switch v {
|
|
case "auto":
|
|
fallthrough
|
|
case "burn":
|
|
fallthrough
|
|
case "none":
|
|
fallthrough
|
|
case "sidecar":
|
|
fallthrough
|
|
case "embedded":
|
|
fallthrough
|
|
case "segmented":
|
|
fallthrough
|
|
case "unknown":
|
|
*e = QueryParamSubtitles(v)
|
|
return nil
|
|
default:
|
|
return fmt.Errorf("invalid value for QueryParamSubtitles: %v", v)
|
|
}
|
|
}
|
|
|
|
type TranscodeSubtitlesRequest struct {
|
|
// Indicates the client accepts the indicated media types
|
|
Accepts *components.Accepts `default:"application/xml" header:"style=simple,explode=false,name=accepts"`
|
|
// An opaque identifier unique to the client
|
|
ClientIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Client-Identifier"`
|
|
// The name of the client product
|
|
Product *string `header:"style=simple,explode=false,name=X-Plex-Product"`
|
|
// The version of the client application
|
|
Version *string `header:"style=simple,explode=false,name=X-Plex-Version"`
|
|
// The platform of the client
|
|
Platform *string `header:"style=simple,explode=false,name=X-Plex-Platform"`
|
|
// The version of the platform
|
|
PlatformVersion *string `header:"style=simple,explode=false,name=X-Plex-Platform-Version"`
|
|
// A relatively friendly name for the client device
|
|
Device *string `header:"style=simple,explode=false,name=X-Plex-Device"`
|
|
// A potentially less friendly identifier for the device model
|
|
Model *string `header:"style=simple,explode=false,name=X-Plex-Model"`
|
|
// The device vendor
|
|
DeviceVendor *string `header:"style=simple,explode=false,name=X-Plex-Device-Vendor"`
|
|
// A friendly name for the client
|
|
DeviceName *string `header:"style=simple,explode=false,name=X-Plex-Device-Name"`
|
|
// The marketplace on which the client application is distributed
|
|
Marketplace *string `header:"style=simple,explode=false,name=X-Plex-Marketplace"`
|
|
// Type of transcode media
|
|
TranscodeType components.TranscodeType `pathParam:"style=simple,explode=false,name=transcodeType"`
|
|
// Transcode session UUID
|
|
TranscodeSessionID *string `queryParam:"style=form,explode=true,name=transcodeSessionId"`
|
|
// 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
|
|
//
|
|
AdvancedSubtitles *components.AdvancedSubtitles `queryParam:"style=form,explode=true,name=advancedSubtitles"`
|
|
// Percentage of original audio loudness to use when transcoding (100 is equivalent to original volume, 50 is half, 200 is double, etc)
|
|
AudioBoost *int64 `queryParam:"style=form,explode=true,name=audioBoost"`
|
|
// Target video number of audio channels.
|
|
AudioChannelCount *int64 `queryParam:"style=form,explode=true,name=audioChannelCount"`
|
|
// Indicates the client supports ABR.
|
|
AutoAdjustQuality *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=autoAdjustQuality"`
|
|
// Indicates if the server should adjust subtitles based on Voice Activity Data.
|
|
AutoAdjustSubtitle *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=autoAdjustSubtitle"`
|
|
// Indicates the client supports direct playing the indicated content.
|
|
DirectPlay *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=directPlay"`
|
|
// Indicates the client supports direct streaming the video of the indicated content.
|
|
DirectStream *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=directStream"`
|
|
// Indicates the client supports direct streaming the audio of the indicated content.
|
|
DirectStreamAudio *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=directStreamAudio"`
|
|
// Indicates if resolution should be adjusted for orientation.
|
|
DisableResolutionRotation *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=disableResolutionRotation"`
|
|
// 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
|
|
HasMDE *components.BoolInt `default:"0" queryParam:"style=form,explode=true,name=hasMDE"`
|
|
// Network type of the client, can be used to help determine target bitrate.
|
|
Location *QueryParamLocation `queryParam:"style=form,explode=true,name=location"`
|
|
// 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.
|
|
MediaBufferSize *int64 `queryParam:"style=form,explode=true,name=mediaBufferSize"`
|
|
// Index of the media to transcode. -1 or not specified indicates let the server choose.
|
|
MediaIndex *int64 `queryParam:"style=form,explode=true,name=mediaIndex"`
|
|
// Target bitrate for audio only files (in kbps, used to transcode).
|
|
MusicBitrate *int64 `queryParam:"style=form,explode=true,name=musicBitrate"`
|
|
// Offset from the start of the media (in seconds).
|
|
Offset *float64 `queryParam:"style=form,explode=true,name=offset"`
|
|
// Index of the part to transcode. -1 or not specified indicates the server should join parts together in a transcode
|
|
PartIndex *int64 `queryParam:"style=form,explode=true,name=partIndex"`
|
|
// Internal PMS path of the media to transcode.
|
|
Path *string `queryParam:"style=form,explode=true,name=path"`
|
|
// Maximum bitrate (in kbps) to use in ABR.
|
|
PeakBitrate *int64 `queryParam:"style=form,explode=true,name=peakBitrate"`
|
|
// Target photo resolution.
|
|
PhotoResolution *string `queryParam:"style=form,explode=true,name=photoResolution"`
|
|
// 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)
|
|
//
|
|
Protocol *QueryParamProtocol `queryParam:"style=form,explode=true,name=protocol"`
|
|
// Number of seconds to include in each transcoded segment
|
|
SecondsPerSegment *int64 `queryParam:"style=form,explode=true,name=secondsPerSegment"`
|
|
// Percentage of original subtitle size to use when burning subtitles (100 is equivalent to original size, 50 is half, ect)
|
|
SubtitleSize *int64 `queryParam:"style=form,explode=true,name=subtitleSize"`
|
|
// 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
|
|
//
|
|
Subtitles *QueryParamSubtitles `queryParam:"style=form,explode=true,name=subtitles"`
|
|
// Target video bitrate (in kbps).
|
|
VideoBitrate *int64 `queryParam:"style=form,explode=true,name=videoBitrate"`
|
|
// Target photo quality.
|
|
VideoQuality *int64 `queryParam:"style=form,explode=true,name=videoQuality"`
|
|
// Target maximum video resolution.
|
|
VideoResolution *string `queryParam:"style=form,explode=true,name=videoResolution"`
|
|
// See [Profile Augmentations](#section/API-Info/Profile-Augmentations) .
|
|
XPlexClientProfileExtra *string `header:"style=simple,explode=false,name=X-Plex-Client-Profile-Extra"`
|
|
// Which built in Client Profile to use in the decision. Generally should only be used to specify the Generic profile.
|
|
XPlexClientProfileName *string `header:"style=simple,explode=false,name=X-Plex-Client-Profile-Name"`
|
|
// Unique per client playback session. Used if a client can playback multiple items at a time (such as a browser with multiple tabs)
|
|
XPlexSessionIdentifier *string `header:"style=simple,explode=false,name=X-Plex-Session-Identifier"`
|
|
}
|
|
|
|
func (t TranscodeSubtitlesRequest) MarshalJSON() ([]byte, error) {
|
|
return utils.MarshalJSON(t, "", false)
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) UnmarshalJSON(data []byte) error {
|
|
if err := utils.UnmarshalJSON(data, &t, "", false, []string{"transcodeType"}); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAccepts() *components.Accepts {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Accepts
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetClientIdentifier() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.ClientIdentifier
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetProduct() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Product
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetVersion() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Version
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPlatform() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Platform
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPlatformVersion() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.PlatformVersion
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDevice() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Device
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetModel() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Model
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDeviceVendor() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DeviceVendor
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDeviceName() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DeviceName
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetMarketplace() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Marketplace
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetTranscodeType() components.TranscodeType {
|
|
if t == nil {
|
|
return components.TranscodeType("")
|
|
}
|
|
return t.TranscodeType
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetTranscodeSessionID() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.TranscodeSessionID
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAdvancedSubtitles() *components.AdvancedSubtitles {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.AdvancedSubtitles
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAudioBoost() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.AudioBoost
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAudioChannelCount() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.AudioChannelCount
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAutoAdjustQuality() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.AutoAdjustQuality
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetAutoAdjustSubtitle() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.AutoAdjustSubtitle
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDirectPlay() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DirectPlay
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDirectStream() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DirectStream
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDirectStreamAudio() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DirectStreamAudio
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetDisableResolutionRotation() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.DisableResolutionRotation
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetHasMDE() *components.BoolInt {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.HasMDE
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetLocation() *QueryParamLocation {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Location
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetMediaBufferSize() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.MediaBufferSize
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetMediaIndex() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.MediaIndex
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetMusicBitrate() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.MusicBitrate
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetOffset() *float64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Offset
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPartIndex() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.PartIndex
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPath() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Path
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPeakBitrate() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.PeakBitrate
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetPhotoResolution() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.PhotoResolution
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetProtocol() *QueryParamProtocol {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Protocol
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetSecondsPerSegment() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.SecondsPerSegment
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetSubtitleSize() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.SubtitleSize
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetSubtitles() *QueryParamSubtitles {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.Subtitles
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetVideoBitrate() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.VideoBitrate
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetVideoQuality() *int64 {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.VideoQuality
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetVideoResolution() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.VideoResolution
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetXPlexClientProfileExtra() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.XPlexClientProfileExtra
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetXPlexClientProfileName() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.XPlexClientProfileName
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesRequest) GetXPlexSessionIdentifier() *string {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.XPlexSessionIdentifier
|
|
}
|
|
|
|
type TranscodeSubtitlesResponse struct {
|
|
// HTTP response content type for this operation
|
|
ContentType string
|
|
// HTTP response status code for this operation
|
|
StatusCode int
|
|
// Raw HTTP response; suitable for custom response parsing
|
|
RawResponse *http.Response
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesResponse) GetContentType() string {
|
|
if t == nil {
|
|
return ""
|
|
}
|
|
return t.ContentType
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesResponse) GetStatusCode() int {
|
|
if t == nil {
|
|
return 0
|
|
}
|
|
return t.StatusCode
|
|
}
|
|
|
|
func (t *TranscodeSubtitlesResponse) GetRawResponse() *http.Response {
|
|
if t == nil {
|
|
return nil
|
|
}
|
|
return t.RawResponse
|
|
}
|