decord/source/modules/rtc/RTCLatencyTestManager.tsx
2026-08-25 06:04:03 +00:00

84 lines
3.8 KiB
TypeScript

// Module ID: 16822
// Function ID: 16823
// Name: _terminate
// Dependencies: [4431, 4475, 4444, 687, 3, 5367, 16823, 500, 2]
// Module 16822 (_terminate)
import timestampDefault from "timestamp" /* 3 */;
import setDefault from "set" /* 687 */;
import initializeDefault from "initialize" /* 5367 */;
import closure_3 from "_detectH265HardwareDecode" /* 4431 */;
import closure_4 from "initialize" /* 4475 */;
import { Features } from "DesktopSources" /* 4444 */;
let require = arg1;
const SECOND = setDefault.Millis.SECOND;
let closure_7 = 30 * setDefault.Millis.SECOND;
let obj = new timestampDefault("RTCLatencyTestManager");
obj.enableNativeLogger(true);
initializeDefault;
class RTCLatencyTestManager extends tmp3 {
constructor() {
applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
closure_0 = applyArgumentsResult;
applyArgumentsResult.actions = {
POST_CONNECTION_OPEN() {
return applyArgumentsResult._handleConnectionOpen();
}
};
applyArgumentsResult._handleTestRegionsResponse = function _handleTestRegionsResponse(body) {
const mapped = body.map((region) => region.region);
if (closure_4.shouldPerformLatencyTest(mapped)) {
mediaEngine = mediaEngine.getMediaEngine();
const rankRtcRegionsResult = mediaEngine.rankRtcRegions(body);
mediaEngine.rankRtcRegions(body).then((url) => {
closure_1_8.verbose("RTC region latency test completed, ranked regions are: ", url);
const result = mapped(closure_1_2[6]).completeRTCLatencyTest(url, mapped);
}).catch((arg0) => logger.warn(arg0));
const nextPromise = mediaEngine.rankRtcRegions(body).then((url) => {
closure_1_8.verbose("RTC region latency test completed, ranked regions are: ", url);
const result = mapped(closure_1_2[6]).completeRTCLatencyTest(url, mapped);
});
} else {
const _HermesInternal = HermesInternal;
closure_8.verbose("RTC cached ranked preferred regions are " + closure_4.getPreferredRegions());
}
};
applyArgumentsResult._fetchAndScheduleRefetch = function _fetchAndScheduleRefetch() {
let num = 1;
if (closure_1_3.supports(closure_1_5.PORT_AWARE_LATENCY_TESTING)) {
num = 2;
}
const rTCLatencyTestRegions = applyArgumentsResult(closure_1_2[6]).fetchRTCLatencyTestRegions(num);
obj = applyArgumentsResult(closure_1_2[6]);
rTCLatencyTestRegions.then((body) => closure_0._handleTestRegionsResponse(body.body)).catch((arg0) => logger.warn(arg0));
applyArgumentsResult.refetchTimeout = setTimeout(applyArgumentsResult._fetchAndScheduleRefetch, 360 * closure_1_1(closure_1_2[3]).Millis.MINUTE);
};
applyArgumentsResult._handleConnectionOpen = function _handleConnectionOpen() {
if (null != window.GLOBAL_ENV.RTC_LATENCY_ENDPOINT) {
if (applyArgumentsResult(closure_1_2[7]).isPlatformEmbedded) {
const _Math = Math;
const _Math2 = Math;
const rounded = Math.floor(closure_1_6 + Math.random() * closure_1_7);
if (null != applyArgumentsResult.refetchTimeout) {
const _clearTimeout = clearTimeout;
clearTimeout(tmp4.refetchTimeout);
}
const _setTimeout = setTimeout;
applyArgumentsResult.refetchTimeout = setTimeout(applyArgumentsResult._fetchAndScheduleRefetch, rounded);
}
}
};
return applyArgumentsResult;
}
}
RTCLatencyTestManager.prototype["_terminate"] = function _terminate() {
if (null != this.refetchTimeout) {
const _clearTimeout = clearTimeout;
clearTimeout(tmp.refetchTimeout);
}
};
const rTCLatencyTestManager = new RTCLatencyTestManager();
let result = require("set").fileFinishedImporting("modules/rtc/RTCLatencyTestManager.tsx");
export default rTCLatencyTestManager;