UNPKG

fcr-core

Version:

Core APIs for building online scenes

128 lines (127 loc) 3.96 kB
"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 = {}));