/* 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 * as runtime from '../runtime'; import type { GetPostedPlaybackInfoRequest, LiveStreamResponse, OpenLiveStreamRequest, PlaybackInfoResponse, } from '../models'; import { GetPostedPlaybackInfoRequestFromJSON, GetPostedPlaybackInfoRequestToJSON, LiveStreamResponseFromJSON, LiveStreamResponseToJSON, OpenLiveStreamRequestFromJSON, OpenLiveStreamRequestToJSON, PlaybackInfoResponseFromJSON, PlaybackInfoResponseToJSON, } from '../models'; export interface CloseLiveStreamRequest { liveStreamId: string; } export interface GetBitrateTestBytesRequest { size?: number; } export interface GetPlaybackInfoRequest { itemId: string; userId: string; } export interface GetPostedPlaybackInfoOperationRequest { itemId: string; userId?: string; maxStreamingBitrate?: number; startTimeTicks?: number; audioStreamIndex?: number; subtitleStreamIndex?: number; maxAudioChannels?: number; mediaSourceId?: string; liveStreamId?: string; autoOpenLiveStream?: boolean; enableDirectPlay?: boolean; enableDirectStream?: boolean; enableTranscoding?: boolean; allowVideoStreamCopy?: boolean; allowAudioStreamCopy?: boolean; getPostedPlaybackInfoRequest?: GetPostedPlaybackInfoRequest; } export interface OpenLiveStreamOperationRequest { openToken?: string; userId?: string; playSessionId?: string; maxStreamingBitrate?: number; startTimeTicks?: number; audioStreamIndex?: number; subtitleStreamIndex?: number; maxAudioChannels?: number; itemId?: string; enableDirectPlay?: boolean; enableDirectStream?: boolean; openLiveStreamRequest?: OpenLiveStreamRequest; } /** * */ export class MediaInfoApi extends runtime.BaseAPI { /** * Closes a media source. */ async closeLiveStreamRaw(requestParameters: CloseLiveStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.liveStreamId === null || requestParameters.liveStreamId === undefined) { throw new runtime.RequiredError('liveStreamId','Required parameter requestParameters.liveStreamId was null or undefined when calling closeLiveStream.'); } const queryParameters: any = {}; if (requestParameters.liveStreamId !== undefined) { queryParameters['liveStreamId'] = requestParameters.liveStreamId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/LiveStreams/Close`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Closes a media source. */ async closeLiveStream(requestParameters: CloseLiveStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.closeLiveStreamRaw(requestParameters, initOverrides); } /** * Tests the network with a request with the size of the bitrate. */ async getBitrateTestBytesRaw(requestParameters: GetBitrateTestBytesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.size !== undefined) { queryParameters['size'] = requestParameters.size; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Playback/BitrateTest`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.BlobApiResponse(response); } /** * Tests the network with a request with the size of the bitrate. */ async getBitrateTestBytes(requestParameters: GetBitrateTestBytesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getBitrateTestBytesRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets live playback media info for an item. */ async getPlaybackInfoRaw(requestParameters: GetPlaybackInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getPlaybackInfo.'); } if (requestParameters.userId === null || requestParameters.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getPlaybackInfo.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Items/{itemId}/PlaybackInfo`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PlaybackInfoResponseFromJSON(jsonValue)); } /** * Gets live playback media info for an item. */ async getPlaybackInfo(requestParameters: GetPlaybackInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPlaybackInfoRaw(requestParameters, initOverrides); return await response.value(); } /** * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. * Gets live playback media info for an item. */ async getPostedPlaybackInfoRaw(requestParameters: GetPostedPlaybackInfoOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getPostedPlaybackInfo.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.maxStreamingBitrate !== undefined) { queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; } if (requestParameters.startTimeTicks !== undefined) { queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; } if (requestParameters.audioStreamIndex !== undefined) { queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; } if (requestParameters.subtitleStreamIndex !== undefined) { queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; } if (requestParameters.maxAudioChannels !== undefined) { queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; } if (requestParameters.mediaSourceId !== undefined) { queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; } if (requestParameters.liveStreamId !== undefined) { queryParameters['liveStreamId'] = requestParameters.liveStreamId; } if (requestParameters.autoOpenLiveStream !== undefined) { queryParameters['autoOpenLiveStream'] = requestParameters.autoOpenLiveStream; } if (requestParameters.enableDirectPlay !== undefined) { queryParameters['enableDirectPlay'] = requestParameters.enableDirectPlay; } if (requestParameters.enableDirectStream !== undefined) { queryParameters['enableDirectStream'] = requestParameters.enableDirectStream; } if (requestParameters.enableTranscoding !== undefined) { queryParameters['enableTranscoding'] = requestParameters.enableTranscoding; } if (requestParameters.allowVideoStreamCopy !== undefined) { queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; } if (requestParameters.allowAudioStreamCopy !== undefined) { queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Items/{itemId}/PlaybackInfo`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'POST', headers: headerParameters, query: queryParameters, body: GetPostedPlaybackInfoRequestToJSON(requestParameters.getPostedPlaybackInfoRequest), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PlaybackInfoResponseFromJSON(jsonValue)); } /** * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. * Gets live playback media info for an item. */ async getPostedPlaybackInfo(requestParameters: GetPostedPlaybackInfoOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getPostedPlaybackInfoRaw(requestParameters, initOverrides); return await response.value(); } /** * Opens a media source. */ async openLiveStreamRaw(requestParameters: OpenLiveStreamOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.openToken !== undefined) { queryParameters['openToken'] = requestParameters.openToken; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.playSessionId !== undefined) { queryParameters['playSessionId'] = requestParameters.playSessionId; } if (requestParameters.maxStreamingBitrate !== undefined) { queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; } if (requestParameters.startTimeTicks !== undefined) { queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; } if (requestParameters.audioStreamIndex !== undefined) { queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; } if (requestParameters.subtitleStreamIndex !== undefined) { queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; } if (requestParameters.maxAudioChannels !== undefined) { queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; } if (requestParameters.itemId !== undefined) { queryParameters['itemId'] = requestParameters.itemId; } if (requestParameters.enableDirectPlay !== undefined) { queryParameters['enableDirectPlay'] = requestParameters.enableDirectPlay; } if (requestParameters.enableDirectStream !== undefined) { queryParameters['enableDirectStream'] = requestParameters.enableDirectStream; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/LiveStreams/Open`, method: 'POST', headers: headerParameters, query: queryParameters, body: OpenLiveStreamRequestToJSON(requestParameters.openLiveStreamRequest), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => LiveStreamResponseFromJSON(jsonValue)); } /** * Opens a media source. */ async openLiveStream(requestParameters: OpenLiveStreamOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.openLiveStreamRaw(requestParameters, initOverrides); return await response.value(); } }