@jellyfin/sdk
Version:
A TypeScript SDK for Jellyfin.
365 lines (362 loc) • 25.5 kB
JavaScript
import globalAxios from 'axios';
import { assertParamExists, DUMMY_BASE_URL, setApiKeyToObject, setSearchParams, toPathString, createRequestFunction } from '../common.js';
import { operationServerMap, BaseAPI, BASE_PATH } from '../base.js';
/* tslint:disable */
/* eslint-disable */
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* Do not edit the class manually.
*
* Jellyfin API
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/**
* UniversalAudioApi - axios parameter creator
* @export
*/
const UniversalAudioApiAxiosParamCreator = function (configuration) {
return {
/**
*
* @summary Gets an audio stream.
* @param {string} itemId The item id.
* @param {Array<string>} [container] Optional. The audio container.
* @param {string} [mediaSourceId] The media version id, if playing an alternate version.
* @param {string} [deviceId] The device id of the client requesting. Used to stop encoding processes when needed.
* @param {string} [userId] Optional. The user id.
* @param {string} [audioCodec] Optional. The audio codec to transcode to.
* @param {number} [maxAudioChannels] Optional. The maximum number of audio channels.
* @param {number} [transcodingAudioChannels] Optional. The number of how many audio channels to transcode to.
* @param {number} [maxStreamingBitrate] Optional. The maximum streaming bitrate.
* @param {number} [audioBitRate] Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
* @param {number} [startTimeTicks] Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
* @param {string} [transcodingContainer] Optional. The container to transcode to.
* @param {MediaStreamProtocol} [transcodingProtocol] Optional. The transcoding protocol.
* @param {number} [maxAudioSampleRate] Optional. The maximum audio sample rate.
* @param {number} [maxAudioBitDepth] Optional. The maximum audio bit depth.
* @param {boolean} [enableRemoteMedia] Optional. Whether to enable remote media.
* @param {boolean} [enableAudioVbrEncoding] Optional. Whether to enable Audio Encoding.
* @param {boolean} [breakOnNonKeyFrames] Optional. Whether to break on non key frames.
* @param {boolean} [enableRedirection] Whether to enable redirection. Defaults to true.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getUniversalAudioStream: async (itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options = {}) => {
// verify required parameter 'itemId' is not null or undefined
assertParamExists('getUniversalAudioStream', 'itemId', itemId);
const localVarPath = `/Audio/{itemId}/universal`
.replace(`{${"itemId"}}`, encodeURIComponent(String(itemId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
const localVarHeaderParameter = {};
const localVarQueryParameter = {};
// authentication CustomAuthentication required
await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration);
if (container) {
localVarQueryParameter['container'] = container;
}
if (mediaSourceId !== undefined) {
localVarQueryParameter['mediaSourceId'] = mediaSourceId;
}
if (deviceId !== undefined) {
localVarQueryParameter['deviceId'] = deviceId;
}
if (userId !== undefined) {
localVarQueryParameter['userId'] = userId;
}
if (audioCodec !== undefined) {
localVarQueryParameter['audioCodec'] = audioCodec;
}
if (maxAudioChannels !== undefined) {
localVarQueryParameter['maxAudioChannels'] = maxAudioChannels;
}
if (transcodingAudioChannels !== undefined) {
localVarQueryParameter['transcodingAudioChannels'] = transcodingAudioChannels;
}
if (maxStreamingBitrate !== undefined) {
localVarQueryParameter['maxStreamingBitrate'] = maxStreamingBitrate;
}
if (audioBitRate !== undefined) {
localVarQueryParameter['audioBitRate'] = audioBitRate;
}
if (startTimeTicks !== undefined) {
localVarQueryParameter['startTimeTicks'] = startTimeTicks;
}
if (transcodingContainer !== undefined) {
localVarQueryParameter['transcodingContainer'] = transcodingContainer;
}
if (transcodingProtocol !== undefined) {
localVarQueryParameter['transcodingProtocol'] = transcodingProtocol;
}
if (maxAudioSampleRate !== undefined) {
localVarQueryParameter['maxAudioSampleRate'] = maxAudioSampleRate;
}
if (maxAudioBitDepth !== undefined) {
localVarQueryParameter['maxAudioBitDepth'] = maxAudioBitDepth;
}
if (enableRemoteMedia !== undefined) {
localVarQueryParameter['enableRemoteMedia'] = enableRemoteMedia;
}
if (enableAudioVbrEncoding !== undefined) {
localVarQueryParameter['enableAudioVbrEncoding'] = enableAudioVbrEncoding;
}
if (breakOnNonKeyFrames !== undefined) {
localVarQueryParameter['breakOnNonKeyFrames'] = breakOnNonKeyFrames;
}
if (enableRedirection !== undefined) {
localVarQueryParameter['enableRedirection'] = enableRedirection;
}
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @summary Gets an audio stream.
* @param {string} itemId The item id.
* @param {Array<string>} [container] Optional. The audio container.
* @param {string} [mediaSourceId] The media version id, if playing an alternate version.
* @param {string} [deviceId] The device id of the client requesting. Used to stop encoding processes when needed.
* @param {string} [userId] Optional. The user id.
* @param {string} [audioCodec] Optional. The audio codec to transcode to.
* @param {number} [maxAudioChannels] Optional. The maximum number of audio channels.
* @param {number} [transcodingAudioChannels] Optional. The number of how many audio channels to transcode to.
* @param {number} [maxStreamingBitrate] Optional. The maximum streaming bitrate.
* @param {number} [audioBitRate] Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
* @param {number} [startTimeTicks] Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
* @param {string} [transcodingContainer] Optional. The container to transcode to.
* @param {MediaStreamProtocol} [transcodingProtocol] Optional. The transcoding protocol.
* @param {number} [maxAudioSampleRate] Optional. The maximum audio sample rate.
* @param {number} [maxAudioBitDepth] Optional. The maximum audio bit depth.
* @param {boolean} [enableRemoteMedia] Optional. Whether to enable remote media.
* @param {boolean} [enableAudioVbrEncoding] Optional. Whether to enable Audio Encoding.
* @param {boolean} [breakOnNonKeyFrames] Optional. Whether to break on non key frames.
* @param {boolean} [enableRedirection] Whether to enable redirection. Defaults to true.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
headUniversalAudioStream: async (itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options = {}) => {
// verify required parameter 'itemId' is not null or undefined
assertParamExists('headUniversalAudioStream', 'itemId', itemId);
const localVarPath = `/Audio/{itemId}/universal`
.replace(`{${"itemId"}}`, encodeURIComponent(String(itemId)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'HEAD', ...baseOptions, ...options };
const localVarHeaderParameter = {};
const localVarQueryParameter = {};
// authentication CustomAuthentication required
await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration);
if (container) {
localVarQueryParameter['container'] = container;
}
if (mediaSourceId !== undefined) {
localVarQueryParameter['mediaSourceId'] = mediaSourceId;
}
if (deviceId !== undefined) {
localVarQueryParameter['deviceId'] = deviceId;
}
if (userId !== undefined) {
localVarQueryParameter['userId'] = userId;
}
if (audioCodec !== undefined) {
localVarQueryParameter['audioCodec'] = audioCodec;
}
if (maxAudioChannels !== undefined) {
localVarQueryParameter['maxAudioChannels'] = maxAudioChannels;
}
if (transcodingAudioChannels !== undefined) {
localVarQueryParameter['transcodingAudioChannels'] = transcodingAudioChannels;
}
if (maxStreamingBitrate !== undefined) {
localVarQueryParameter['maxStreamingBitrate'] = maxStreamingBitrate;
}
if (audioBitRate !== undefined) {
localVarQueryParameter['audioBitRate'] = audioBitRate;
}
if (startTimeTicks !== undefined) {
localVarQueryParameter['startTimeTicks'] = startTimeTicks;
}
if (transcodingContainer !== undefined) {
localVarQueryParameter['transcodingContainer'] = transcodingContainer;
}
if (transcodingProtocol !== undefined) {
localVarQueryParameter['transcodingProtocol'] = transcodingProtocol;
}
if (maxAudioSampleRate !== undefined) {
localVarQueryParameter['maxAudioSampleRate'] = maxAudioSampleRate;
}
if (maxAudioBitDepth !== undefined) {
localVarQueryParameter['maxAudioBitDepth'] = maxAudioBitDepth;
}
if (enableRemoteMedia !== undefined) {
localVarQueryParameter['enableRemoteMedia'] = enableRemoteMedia;
}
if (enableAudioVbrEncoding !== undefined) {
localVarQueryParameter['enableAudioVbrEncoding'] = enableAudioVbrEncoding;
}
if (breakOnNonKeyFrames !== undefined) {
localVarQueryParameter['breakOnNonKeyFrames'] = breakOnNonKeyFrames;
}
if (enableRedirection !== undefined) {
localVarQueryParameter['enableRedirection'] = enableRedirection;
}
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
};
};
/**
* UniversalAudioApi - functional programming interface
* @export
*/
const UniversalAudioApiFp = function (configuration) {
const localVarAxiosParamCreator = UniversalAudioApiAxiosParamCreator(configuration);
return {
/**
*
* @summary Gets an audio stream.
* @param {string} itemId The item id.
* @param {Array<string>} [container] Optional. The audio container.
* @param {string} [mediaSourceId] The media version id, if playing an alternate version.
* @param {string} [deviceId] The device id of the client requesting. Used to stop encoding processes when needed.
* @param {string} [userId] Optional. The user id.
* @param {string} [audioCodec] Optional. The audio codec to transcode to.
* @param {number} [maxAudioChannels] Optional. The maximum number of audio channels.
* @param {number} [transcodingAudioChannels] Optional. The number of how many audio channels to transcode to.
* @param {number} [maxStreamingBitrate] Optional. The maximum streaming bitrate.
* @param {number} [audioBitRate] Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
* @param {number} [startTimeTicks] Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
* @param {string} [transcodingContainer] Optional. The container to transcode to.
* @param {MediaStreamProtocol} [transcodingProtocol] Optional. The transcoding protocol.
* @param {number} [maxAudioSampleRate] Optional. The maximum audio sample rate.
* @param {number} [maxAudioBitDepth] Optional. The maximum audio bit depth.
* @param {boolean} [enableRemoteMedia] Optional. Whether to enable remote media.
* @param {boolean} [enableAudioVbrEncoding] Optional. Whether to enable Audio Encoding.
* @param {boolean} [breakOnNonKeyFrames] Optional. Whether to break on non key frames.
* @param {boolean} [enableRedirection] Whether to enable redirection. Defaults to true.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async getUniversalAudioStream(itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options) {
var _a, _b, _c;
const localVarAxiosArgs = await localVarAxiosParamCreator.getUniversalAudioStream(itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options);
const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
const localVarOperationServerBasePath = (_c = (_b = operationServerMap['UniversalAudioApi.getUniversalAudioStream']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
/**
*
* @summary Gets an audio stream.
* @param {string} itemId The item id.
* @param {Array<string>} [container] Optional. The audio container.
* @param {string} [mediaSourceId] The media version id, if playing an alternate version.
* @param {string} [deviceId] The device id of the client requesting. Used to stop encoding processes when needed.
* @param {string} [userId] Optional. The user id.
* @param {string} [audioCodec] Optional. The audio codec to transcode to.
* @param {number} [maxAudioChannels] Optional. The maximum number of audio channels.
* @param {number} [transcodingAudioChannels] Optional. The number of how many audio channels to transcode to.
* @param {number} [maxStreamingBitrate] Optional. The maximum streaming bitrate.
* @param {number} [audioBitRate] Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults.
* @param {number} [startTimeTicks] Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms.
* @param {string} [transcodingContainer] Optional. The container to transcode to.
* @param {MediaStreamProtocol} [transcodingProtocol] Optional. The transcoding protocol.
* @param {number} [maxAudioSampleRate] Optional. The maximum audio sample rate.
* @param {number} [maxAudioBitDepth] Optional. The maximum audio bit depth.
* @param {boolean} [enableRemoteMedia] Optional. Whether to enable remote media.
* @param {boolean} [enableAudioVbrEncoding] Optional. Whether to enable Audio Encoding.
* @param {boolean} [breakOnNonKeyFrames] Optional. Whether to break on non key frames.
* @param {boolean} [enableRedirection] Whether to enable redirection. Defaults to true.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async headUniversalAudioStream(itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options) {
var _a, _b, _c;
const localVarAxiosArgs = await localVarAxiosParamCreator.headUniversalAudioStream(itemId, container, mediaSourceId, deviceId, userId, audioCodec, maxAudioChannels, transcodingAudioChannels, maxStreamingBitrate, audioBitRate, startTimeTicks, transcodingContainer, transcodingProtocol, maxAudioSampleRate, maxAudioBitDepth, enableRemoteMedia, enableAudioVbrEncoding, breakOnNonKeyFrames, enableRedirection, options);
const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0;
const localVarOperationServerBasePath = (_c = (_b = operationServerMap['UniversalAudioApi.headUniversalAudioStream']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
};
};
/**
* UniversalAudioApi - factory interface
* @export
*/
const UniversalAudioApiFactory = function (configuration, basePath, axios) {
const localVarFp = UniversalAudioApiFp(configuration);
return {
/**
*
* @summary Gets an audio stream.
* @param {UniversalAudioApiGetUniversalAudioStreamRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getUniversalAudioStream(requestParameters, options) {
return localVarFp.getUniversalAudioStream(requestParameters.itemId, requestParameters.container, requestParameters.mediaSourceId, requestParameters.deviceId, requestParameters.userId, requestParameters.audioCodec, requestParameters.maxAudioChannels, requestParameters.transcodingAudioChannels, requestParameters.maxStreamingBitrate, requestParameters.audioBitRate, requestParameters.startTimeTicks, requestParameters.transcodingContainer, requestParameters.transcodingProtocol, requestParameters.maxAudioSampleRate, requestParameters.maxAudioBitDepth, requestParameters.enableRemoteMedia, requestParameters.enableAudioVbrEncoding, requestParameters.breakOnNonKeyFrames, requestParameters.enableRedirection, options).then((request) => request(axios, basePath));
},
/**
*
* @summary Gets an audio stream.
* @param {UniversalAudioApiHeadUniversalAudioStreamRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
headUniversalAudioStream(requestParameters, options) {
return localVarFp.headUniversalAudioStream(requestParameters.itemId, requestParameters.container, requestParameters.mediaSourceId, requestParameters.deviceId, requestParameters.userId, requestParameters.audioCodec, requestParameters.maxAudioChannels, requestParameters.transcodingAudioChannels, requestParameters.maxStreamingBitrate, requestParameters.audioBitRate, requestParameters.startTimeTicks, requestParameters.transcodingContainer, requestParameters.transcodingProtocol, requestParameters.maxAudioSampleRate, requestParameters.maxAudioBitDepth, requestParameters.enableRemoteMedia, requestParameters.enableAudioVbrEncoding, requestParameters.breakOnNonKeyFrames, requestParameters.enableRedirection, options).then((request) => request(axios, basePath));
},
};
};
/**
* UniversalAudioApi - object-oriented interface
* @export
* @class UniversalAudioApi
* @extends {BaseAPI}
*/
class UniversalAudioApi extends BaseAPI {
/**
*
* @summary Gets an audio stream.
* @param {UniversalAudioApiGetUniversalAudioStreamRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof UniversalAudioApi
*/
getUniversalAudioStream(requestParameters, options) {
return UniversalAudioApiFp(this.configuration).getUniversalAudioStream(requestParameters.itemId, requestParameters.container, requestParameters.mediaSourceId, requestParameters.deviceId, requestParameters.userId, requestParameters.audioCodec, requestParameters.maxAudioChannels, requestParameters.transcodingAudioChannels, requestParameters.maxStreamingBitrate, requestParameters.audioBitRate, requestParameters.startTimeTicks, requestParameters.transcodingContainer, requestParameters.transcodingProtocol, requestParameters.maxAudioSampleRate, requestParameters.maxAudioBitDepth, requestParameters.enableRemoteMedia, requestParameters.enableAudioVbrEncoding, requestParameters.breakOnNonKeyFrames, requestParameters.enableRedirection, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @summary Gets an audio stream.
* @param {UniversalAudioApiHeadUniversalAudioStreamRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof UniversalAudioApi
*/
headUniversalAudioStream(requestParameters, options) {
return UniversalAudioApiFp(this.configuration).headUniversalAudioStream(requestParameters.itemId, requestParameters.container, requestParameters.mediaSourceId, requestParameters.deviceId, requestParameters.userId, requestParameters.audioCodec, requestParameters.maxAudioChannels, requestParameters.transcodingAudioChannels, requestParameters.maxStreamingBitrate, requestParameters.audioBitRate, requestParameters.startTimeTicks, requestParameters.transcodingContainer, requestParameters.transcodingProtocol, requestParameters.maxAudioSampleRate, requestParameters.maxAudioBitDepth, requestParameters.enableRemoteMedia, requestParameters.enableAudioVbrEncoding, requestParameters.breakOnNonKeyFrames, requestParameters.enableRedirection, options).then((request) => request(this.axios, this.basePath));
}
}
export { UniversalAudioApi, UniversalAudioApiAxiosParamCreator, UniversalAudioApiFactory, UniversalAudioApiFp };