129 lines
4.3 KiB
TypeScript
129 lines
4.3 KiB
TypeScript
// Module ID: 4217
|
|
// Function ID: 36788
|
|
// Name: round
|
|
// Dependencies: []
|
|
|
|
// Module 4217 (round)
|
|
function round(arg0) {
|
|
let num = arg1;
|
|
if (arg1 === undefined) {
|
|
num = 0;
|
|
}
|
|
if (null != arg0) {
|
|
const _Math = Math;
|
|
num = Math.round(arg0);
|
|
}
|
|
return num;
|
|
}
|
|
let closure_2 = importDefault(dependencyMap[0]);
|
|
let closure_3 = importDefault(dependencyMap[1]);
|
|
let closure_4 = importDefault(dependencyMap[2]);
|
|
const StreamLayouts = arg1(dependencyMap[3]).StreamLayouts;
|
|
const tmp2 = () => {
|
|
class VideoStreamStats {
|
|
constructor(arg0, arg1) {
|
|
VideoStreamStats = this;
|
|
tmp = closure_2(this, VideoStreamStats);
|
|
this._targetResolution = 0;
|
|
this._targetFPS = 0;
|
|
this._streamSettingsChanged = false;
|
|
this._lastLayoutChanged = 0;
|
|
this._layoutChanges = 0;
|
|
this._automaticQualityChanges = 0;
|
|
this._incrementLayout = (arg0, arg1) => {
|
|
if (null == self._layoutBuckets[arg0]) {
|
|
self._layoutBuckets[arg0] = 0;
|
|
}
|
|
const _layoutBuckets = self._layoutBuckets;
|
|
_layoutBuckets[arg0] = _layoutBuckets[arg0] + arg1;
|
|
};
|
|
this._sampleStats = () => {
|
|
const state = state.getState();
|
|
let tmp4 = state.resolution !== self._targetResolution;
|
|
if (!tmp4) {
|
|
tmp4 = tmp2 !== self._targetFPS;
|
|
}
|
|
self._streamSettingsChanged = tmp4;
|
|
};
|
|
this._isSender = arg1;
|
|
interval = new VideoStreamStats(closure_1[4]).Interval();
|
|
this._statInterval = interval;
|
|
this._lastLayout = arg0;
|
|
this._layoutBuckets = {};
|
|
return;
|
|
}
|
|
}
|
|
const arg1 = VideoStreamStats;
|
|
let obj = {
|
|
key: "start",
|
|
value() {
|
|
const state = state.getState();
|
|
({ resolution: this._targetResolution, fps: this._targetFPS } = state);
|
|
const _statInterval = this._statInterval;
|
|
_statInterval.start(1000, this._sampleStats);
|
|
this._lastLayoutChanged = VideoStreamStats(closure_1[5]).now();
|
|
}
|
|
};
|
|
const items = [obj, , , , , ];
|
|
obj = {
|
|
key: "stop",
|
|
value() {
|
|
const _statInterval = this._statInterval;
|
|
_statInterval.stop();
|
|
this._streamEnd = VideoStreamStats(closure_1[5]).now();
|
|
this._incrementLayout(this._lastLayout, (this._streamEnd - this._lastLayoutChanged) / 1000);
|
|
}
|
|
};
|
|
items[1] = obj;
|
|
obj = {
|
|
key: "autoQualityChange",
|
|
value() {
|
|
this._automaticQualityChanges = this._automaticQualityChanges + 1;
|
|
}
|
|
};
|
|
items[2] = obj;
|
|
items[3] = {
|
|
key: "layoutChange",
|
|
value(_lastLayout) {
|
|
const self = this;
|
|
if (_lastLayout !== this._lastLayout) {
|
|
if (null == self._streamEnd) {
|
|
const nowResult = VideoStreamStats(closure_1[5]).now();
|
|
self._incrementLayout(self._lastLayout, (nowResult - self._lastLayoutChanged) / 1000);
|
|
self._layoutChanges = self._layoutChanges + 1;
|
|
self._lastLayout = _lastLayout;
|
|
self._lastLayoutChanged = nowResult;
|
|
const obj = VideoStreamStats(closure_1[5]);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
items[4] = {
|
|
key: "getLayout",
|
|
value() {
|
|
return this._lastLayout;
|
|
}
|
|
};
|
|
items[5] = {
|
|
key: "getStats",
|
|
value() {
|
|
const self = this;
|
|
let obj = { num_layout_changes: this._layoutChanges, duration_layout_fullscreen: callback2(this._layoutBuckets[closure_5.FULL_SCREEN]), duration_layout_theatre: callback2(this._layoutBuckets[closure_5.THEATRE]), duration_layout_pip: callback2(this._layoutBuckets[closure_5.PIP]), duration_layout_popout: callback2(this._layoutBuckets[closure_5.POPOUT]), duration_layout_portrait: callback2(this._layoutBuckets[closure_5.PORTRAIT]), duration_layout_landscape: callback2(this._layoutBuckets[closure_5.LANDSCAPE]), duration_layout_minimized: callback2(this._layoutBuckets[closure_5.MINIMIZED]) };
|
|
let tmp = obj;
|
|
if (this._isSender) {
|
|
obj = {};
|
|
const merged = Object.assign(obj);
|
|
obj["target_fps"] = self._targetFPS;
|
|
obj["target_resolution_height"] = self._targetResolution;
|
|
obj["stream_settings_changed"] = self._streamSettingsChanged;
|
|
obj["num_auto_quality_changes"] = self._automaticQualityChanges;
|
|
tmp = obj;
|
|
}
|
|
return tmp;
|
|
}
|
|
};
|
|
return callback(VideoStreamStats, items);
|
|
}();
|
|
const result = arg1(dependencyMap[6]).fileFinishedImporting("modules/go_live/VideoStreamStats.tsx");
|
|
|
|
export default tmp2;
|