fcr-core
Version:
Core APIs for building online scenes
128 lines (127 loc) • 3.96 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FcrVideoEncoderConfig = void 0;
var _imports = require("../imports");
var _schema = require("../schema");
const COMMON_HIGH_CAMERA_CONFIG = {
dimensions: {
width: 1280,
height: 720
},
bitrate: 1250,
frameRate: 24,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const COMMON_LOW_CAMERA_CONFIG = {
dimensions: {
width: 384,
height: 216
},
bitrate: 300,
frameRate: 10,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const COMMON_FULL_HIGH_CAMERA_CONFIG = {
dimensions: {
width: 1920,
height: 1080
},
bitrate: 2500,
frameRate: 20,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const COMMON_CLARITY_SCREEN_CONFIG = {
dimensions: {
width: 1920,
height: 1080
},
bitrate: 1500,
frameRate: 15,
degradationPreference: _schema.FcrDegradationPreference.QUALITY
};
const COMMON_SMOOTH_SCREEN_CONFIG = {
dimensions: {
width: 1920,
height: 1080
},
bitrate: 1500,
frameRate: 30,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const MOBILE_HIGH_CAMERA_CONFIG = {
dimensions: {
width: 960,
height: 540
},
bitrate: 1000,
frameRate: 15,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const LINUX_HIGH_CAMERA_CONFIG = {
dimensions: {
width: 960,
height: 540
},
bitrate: 1000,
frameRate: 15,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
};
const HIGH_CAMERA_CONFIG_MAP = {
[_imports.FcrApplicationPlatform.HARMONY]: MOBILE_HIGH_CAMERA_CONFIG,
[_imports.FcrApplicationPlatform.WEB_MOBILE]: MOBILE_HIGH_CAMERA_CONFIG,
[_imports.FcrApplicationPlatform.LINUX]: LINUX_HIGH_CAMERA_CONFIG
};
const LOW_CAMERA_CONFIG_MAP = {};
const FULL_HIGH_CAMERA_CONFIG_MAP = {};
const CLARITY_SCREEN_CONFIG_MAP = {
[_imports.FcrApplicationPlatform.WEB_DESKTOP]: {
dimensions: {
width: 1920,
height: 1080
},
bitrate: 1950,
frameRate: 15,
degradationPreference: _schema.FcrDegradationPreference.QUALITY
}
};
const SMOOTH_SCREEN_CONFIG_MAP = {
[_imports.FcrApplicationPlatform.WEB_DESKTOP]: {
dimensions: {
width: 1920,
height: 1080
},
bitrate: 1950,
frameRate: 30,
degradationPreference: _schema.FcrDegradationPreference.FRAME_RATE
}
};
let FcrVideoEncoderConfig = exports.FcrVideoEncoderConfig = void 0;
(function (_FcrVideoEncoderConfig) {
function createDefaultHighCameraConfig() {
const platform = (0, _imports.getPlatform)();
return HIGH_CAMERA_CONFIG_MAP[platform] ?? COMMON_HIGH_CAMERA_CONFIG;
}
_FcrVideoEncoderConfig.createDefaultHighCameraConfig = createDefaultHighCameraConfig;
function createDefaultLowCameraConfig() {
const platform = (0, _imports.getPlatform)();
return LOW_CAMERA_CONFIG_MAP[platform] ?? COMMON_LOW_CAMERA_CONFIG;
}
_FcrVideoEncoderConfig.createDefaultLowCameraConfig = createDefaultLowCameraConfig;
function createDefaultFullHighCameraConfig() {
const platform = (0, _imports.getPlatform)();
return FULL_HIGH_CAMERA_CONFIG_MAP[platform] ?? COMMON_FULL_HIGH_CAMERA_CONFIG;
}
_FcrVideoEncoderConfig.createDefaultFullHighCameraConfig = createDefaultFullHighCameraConfig;
function createDefaultClarityScreenConfig() {
const platform = (0, _imports.getPlatform)();
return CLARITY_SCREEN_CONFIG_MAP[platform] ?? COMMON_CLARITY_SCREEN_CONFIG;
}
_FcrVideoEncoderConfig.createDefaultClarityScreenConfig = createDefaultClarityScreenConfig;
function createDefaultSmoothScreenConfig() {
const platform = (0, _imports.getPlatform)();
return SMOOTH_SCREEN_CONFIG_MAP[platform] ?? COMMON_SMOOTH_SCREEN_CONFIG;
}
_FcrVideoEncoderConfig.createDefaultSmoothScreenConfig = createDefaultSmoothScreenConfig;
})(FcrVideoEncoderConfig || (exports.FcrVideoEncoderConfig = FcrVideoEncoderConfig = {}));