/* tslint:disable */ /* eslint-disable */ /** * Jellyfin API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 10.8.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { exists, mapValues } from '../runtime'; import type { CodecProfile } from './CodecProfile'; import { CodecProfileFromJSON, CodecProfileFromJSONTyped, CodecProfileToJSON, } from './CodecProfile'; import type { ContainerProfile } from './ContainerProfile'; import { ContainerProfileFromJSON, ContainerProfileFromJSONTyped, ContainerProfileToJSON, } from './ContainerProfile'; import type { DeviceProfileIdentification } from './DeviceProfileIdentification'; import { DeviceProfileIdentificationFromJSON, DeviceProfileIdentificationFromJSONTyped, DeviceProfileIdentificationToJSON, } from './DeviceProfileIdentification'; import type { DirectPlayProfile } from './DirectPlayProfile'; import { DirectPlayProfileFromJSON, DirectPlayProfileFromJSONTyped, DirectPlayProfileToJSON, } from './DirectPlayProfile'; import type { ResponseProfile } from './ResponseProfile'; import { ResponseProfileFromJSON, ResponseProfileFromJSONTyped, ResponseProfileToJSON, } from './ResponseProfile'; import type { SubtitleProfile } from './SubtitleProfile'; import { SubtitleProfileFromJSON, SubtitleProfileFromJSONTyped, SubtitleProfileToJSON, } from './SubtitleProfile'; import type { TranscodingProfile } from './TranscodingProfile'; import { TranscodingProfileFromJSON, TranscodingProfileFromJSONTyped, TranscodingProfileToJSON, } from './TranscodingProfile'; import type { XmlAttribute } from './XmlAttribute'; import { XmlAttributeFromJSON, XmlAttributeFromJSONTyped, XmlAttributeToJSON, } from './XmlAttribute'; /** * A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. *
* Specifically, it defines the supported containers and * codecs (video and/or audio, including codec profiles and levels) * the device is able to direct play (without transcoding or remuxing), * as well as which containers/codecs to transcode to in case it isn't. * @export * @interface CreateProfileRequest */ export interface CreateProfileRequest { /** * Gets or sets the name of this device profile. * @type {string} * @memberof CreateProfileRequest */ name?: string | null; /** * Gets or sets the Id. * @type {string} * @memberof CreateProfileRequest */ id?: string | null; /** * * @type {DeviceProfileIdentification} * @memberof CreateProfileRequest */ identification?: DeviceProfileIdentification | null; /** * Gets or sets the friendly name of the device profile, which can be shown to users. * @type {string} * @memberof CreateProfileRequest */ friendlyName?: string | null; /** * Gets or sets the manufacturer of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ manufacturer?: string | null; /** * Gets or sets an url for the manufacturer of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ manufacturerUrl?: string | null; /** * Gets or sets the model name of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ modelName?: string | null; /** * Gets or sets the model description of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ modelDescription?: string | null; /** * Gets or sets the model number of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ modelNumber?: string | null; /** * Gets or sets the ModelUrl. * @type {string} * @memberof CreateProfileRequest */ modelUrl?: string | null; /** * Gets or sets the serial number of the device which this profile represents. * @type {string} * @memberof CreateProfileRequest */ serialNumber?: string | null; /** * Gets or sets a value indicating whether EnableAlbumArtInDidl. * @type {boolean} * @memberof CreateProfileRequest */ enableAlbumArtInDidl?: boolean; /** * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. * @type {boolean} * @memberof CreateProfileRequest */ enableSingleAlbumArtLimit?: boolean; /** * Gets or sets a value indicating whether EnableSingleSubtitleLimit. * @type {boolean} * @memberof CreateProfileRequest */ enableSingleSubtitleLimit?: boolean; /** * Gets or sets the SupportedMediaTypes. * @type {string} * @memberof CreateProfileRequest */ supportedMediaTypes?: string; /** * Gets or sets the UserId. * @type {string} * @memberof CreateProfileRequest */ userId?: string | null; /** * Gets or sets the AlbumArtPn. * @type {string} * @memberof CreateProfileRequest */ albumArtPn?: string | null; /** * Gets or sets the MaxAlbumArtWidth. * @type {number} * @memberof CreateProfileRequest */ maxAlbumArtWidth?: number | null; /** * Gets or sets the MaxAlbumArtHeight. * @type {number} * @memberof CreateProfileRequest */ maxAlbumArtHeight?: number | null; /** * Gets or sets the maximum allowed width of embedded icons. * @type {number} * @memberof CreateProfileRequest */ maxIconWidth?: number | null; /** * Gets or sets the maximum allowed height of embedded icons. * @type {number} * @memberof CreateProfileRequest */ maxIconHeight?: number | null; /** * Gets or sets the maximum allowed bitrate for all streamed content. * @type {number} * @memberof CreateProfileRequest */ maxStreamingBitrate?: number | null; /** * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). * @type {number} * @memberof CreateProfileRequest */ maxStaticBitrate?: number | null; /** * Gets or sets the maximum allowed bitrate for transcoded music streams. * @type {number} * @memberof CreateProfileRequest */ musicStreamingTranscodingBitrate?: number | null; /** * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. * @type {number} * @memberof CreateProfileRequest */ maxStaticMusicBitrate?: number | null; /** * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. * @type {string} * @memberof CreateProfileRequest */ sonyAggregationFlags?: string | null; /** * Gets or sets the ProtocolInfo. * @type {string} * @memberof CreateProfileRequest */ protocolInfo?: string | null; /** * Gets or sets the TimelineOffsetSeconds. * @type {number} * @memberof CreateProfileRequest */ timelineOffsetSeconds?: number; /** * Gets or sets a value indicating whether RequiresPlainVideoItems. * @type {boolean} * @memberof CreateProfileRequest */ requiresPlainVideoItems?: boolean; /** * Gets or sets a value indicating whether RequiresPlainFolders. * @type {boolean} * @memberof CreateProfileRequest */ requiresPlainFolders?: boolean; /** * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. * @type {boolean} * @memberof CreateProfileRequest */ enableMSMediaReceiverRegistrar?: boolean; /** * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. * @type {boolean} * @memberof CreateProfileRequest */ ignoreTranscodeByteRangeRequests?: boolean; /** * Gets or sets the XmlRootAttributes. * @type {Array} * @memberof CreateProfileRequest */ xmlRootAttributes?: Array; /** * Gets or sets the direct play profiles. * @type {Array} * @memberof CreateProfileRequest */ directPlayProfiles?: Array; /** * Gets or sets the transcoding profiles. * @type {Array} * @memberof CreateProfileRequest */ transcodingProfiles?: Array; /** * Gets or sets the container profiles. * @type {Array} * @memberof CreateProfileRequest */ containerProfiles?: Array; /** * Gets or sets the codec profiles. * @type {Array} * @memberof CreateProfileRequest */ codecProfiles?: Array; /** * Gets or sets the ResponseProfiles. * @type {Array} * @memberof CreateProfileRequest */ responseProfiles?: Array; /** * Gets or sets the subtitle profiles. * @type {Array} * @memberof CreateProfileRequest */ subtitleProfiles?: Array; } /** * Check if a given object implements the CreateProfileRequest interface. */ export function instanceOfCreateProfileRequest(value: object): boolean { let isInstance = true; return isInstance; } export function CreateProfileRequestFromJSON(json: any): CreateProfileRequest { return CreateProfileRequestFromJSONTyped(json, false); } export function CreateProfileRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateProfileRequest { if ((json === undefined) || (json === null)) { return json; } return { 'name': !exists(json, 'Name') ? undefined : json['Name'], 'id': !exists(json, 'Id') ? undefined : json['Id'], 'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']), 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], 'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'], 'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'], 'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'], 'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'], 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], 'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'], 'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'], 'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'], 'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'], 'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'], 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], 'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'], 'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'], 'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'], 'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'], 'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'], 'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'], 'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'], 'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'], 'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'], 'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'], 'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array).map(XmlAttributeFromJSON)), 'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array).map(DirectPlayProfileFromJSON)), 'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array).map(TranscodingProfileFromJSON)), 'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array).map(ContainerProfileFromJSON)), 'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array).map(CodecProfileFromJSON)), 'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array).map(ResponseProfileFromJSON)), 'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array).map(SubtitleProfileFromJSON)), }; } export function CreateProfileRequestToJSON(value?: CreateProfileRequest | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'Name': value.name, 'Id': value.id, 'Identification': DeviceProfileIdentificationToJSON(value.identification), 'FriendlyName': value.friendlyName, 'Manufacturer': value.manufacturer, 'ManufacturerUrl': value.manufacturerUrl, 'ModelName': value.modelName, 'ModelDescription': value.modelDescription, 'ModelNumber': value.modelNumber, 'ModelUrl': value.modelUrl, 'SerialNumber': value.serialNumber, 'EnableAlbumArtInDidl': value.enableAlbumArtInDidl, 'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit, 'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit, 'SupportedMediaTypes': value.supportedMediaTypes, 'UserId': value.userId, 'AlbumArtPn': value.albumArtPn, 'MaxAlbumArtWidth': value.maxAlbumArtWidth, 'MaxAlbumArtHeight': value.maxAlbumArtHeight, 'MaxIconWidth': value.maxIconWidth, 'MaxIconHeight': value.maxIconHeight, 'MaxStreamingBitrate': value.maxStreamingBitrate, 'MaxStaticBitrate': value.maxStaticBitrate, 'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate, 'MaxStaticMusicBitrate': value.maxStaticMusicBitrate, 'SonyAggregationFlags': value.sonyAggregationFlags, 'ProtocolInfo': value.protocolInfo, 'TimelineOffsetSeconds': value.timelineOffsetSeconds, 'RequiresPlainVideoItems': value.requiresPlainVideoItems, 'RequiresPlainFolders': value.requiresPlainFolders, 'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar, 'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests, 'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array).map(XmlAttributeToJSON)), 'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array).map(DirectPlayProfileToJSON)), 'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array).map(TranscodingProfileToJSON)), 'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array).map(ContainerProfileToJSON)), 'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array).map(CodecProfileToJSON)), 'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array).map(ResponseProfileToJSON)), 'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array).map(SubtitleProfileToJSON)), }; }