fcr-core
Version:
Core APIs for building online scenes
75 lines (65 loc) • 2.15 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FcrCoreEngineConfig = void 0;
var _dualVideoStreamConfig = require("./utilities/dual-video-stream-config");
var _parameters = require("./utilities/parameters");
/** 引擎配置类 */
class FcrCoreEngineConfig {
__json_serializable__ = true;
/** 应用唯一标识 */
/** 身份验证令牌 */
/** 用户唯一标识 */
/** 服务区域 */
/** 双摄像头视频流配置 */
/** 双屏幕视频流配置 */
/** 额外参数配置 */
constructor(params) {
this.appId = params.appId;
this.token = params.token;
this.userId = params.userId;
this.region = params.region;
this.dualCameraVideoStreamConfig = params.dualCameraVideoStreamConfig;
this.dualScreenVideoStreamConfig = params.dualScreenVideoStreamConfig;
this.parameters = params.parameters;
this._prependInternalParameters();
}
static createDefaultConfig(appId, token, region, userId, parameters) {
return new FcrCoreEngineConfig({
appId,
token,
userId,
region,
dualCameraVideoStreamConfig: _dualVideoStreamConfig.FcrDualVideoStreamConfig.createDefaultCameraConfig(),
dualScreenVideoStreamConfig: _dualVideoStreamConfig.FcrDualVideoStreamConfig.createDefaultScreenConfig(),
parameters
});
}
// @internal
normalize() {
return {
appId: this.appId,
token: this.token,
userId: this.userId,
region: this.region,
dualCameraVideoStreamConfig: this.dualCameraVideoStreamConfig,
dualScreenVideoStreamConfig: this.dualScreenVideoStreamConfig,
parameters: this.parameters
};
}
_prependInternalParameters() {
const rtcPresetParameters = (0, _parameters.getRtcPresetParameters)();
if (!this.parameters) {
this.parameters = {
rtc: rtcPresetParameters
};
} else if (!this.parameters.rtc) {
this.parameters.rtc = rtcPresetParameters;
} else {
// 将内部参数插入到数组前列
this.parameters.rtc.unshift(...rtcPresetParameters);
}
}
}
exports.FcrCoreEngineConfig = FcrCoreEngineConfig;