decord/alpha/source/stores/RTCRegionStore.tsx

105 lines
3 KiB
TypeScript
Raw Normal View History

2026-10-10 08:08:14 +00:00
// Module ID: 5211
// Function ID: 5212
// Name: RTCRegionStore
2026-10-03 08:58:59 +00:00
// Dependencies: [1102, 504, 12, 584, 2]
2026-07-23 10:11:24 +00:00
2026-10-10 08:08:14 +00:00
// Module 5211 (RTCRegionStore)
import _modDef12 from "module_12" /* 12 */;
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import DurationsDefault from "Durations" /* 1102 */;
import size from "module_2" /* 2 */;
2026-07-20 16:05:17 +00:00
2026-10-03 08:58:59 +00:00
let closure_3;
const obj = { preferredRegions: null, lastTestTimestamp: null, lastGeoRankedOrder: null };
const _false = obj;
const HOUR = DurationsDefault.Millis.HOUR;
2026-10-03 08:58:59 +00:00
const DeviceSettingsStore = get_initializedDefault.DeviceSettingsStore;
2026-07-29 08:29:29 +00:00
class RTCRegionStore extends DeviceSettingsStore {
2026-10-03 08:58:59 +00:00
initialize(arg0) {
let tmp = arg0;
if (arg0 == null) {
tmp = obj;
}
closure_3 = tmp;
2026-08-24 06:08:38 +00:00
}
2026-10-03 08:58:59 +00:00
shouldIncludePreferredRegion() {
return null != closure_3.preferredRegions;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
getPreferredRegion() {
const preferredRegions = closure_3.preferredRegions;
let first;
if (preferredRegions != null) {
first = preferredRegions[0];
}
if (first == null) {
first = null;
}
return first;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getPreferredRegions() {
return closure_3.preferredRegions;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getRegion(str) {
if (null != str) {
return str.substr(0, str.search(/\d/));
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
getUserAgnosticState() {
return closure_3;
}
shouldPerformLatencyTest(mapped) {
let tmp = null === closure_3.preferredRegions;
if (!tmp) {
let lastGeoRankedOrder = closure_3.lastGeoRankedOrder;
const isEqual = _modDef12.isEqual;
_modDef12;
if (lastGeoRankedOrder == null) {
lastGeoRankedOrder = [];
}
tmp = !isEqual(mapped, lastGeoRankedOrder);
}
if (!tmp) {
const _Date = Date;
let num = closure_3.lastTestTimestamp;
const timestamp = Date.now();
if (num == null) {
num = 0;
}
tmp = timestamp - num >= HOUR;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
return tmp;
2026-07-29 08:29:29 +00:00
}
2026-10-03 08:58:59 +00:00
}
const prototype = RTCRegionStore.prototype;
2026-07-29 08:29:29 +00:00
RTCRegionStore.displayName = "RTCRegionStore";
RTCRegionStore.persistKey = "RTCRegionStore";
2026-07-23 10:11:24 +00:00
let items = [
2026-07-20 16:05:17 +00:00
(preferredRegion) => {
2026-10-03 08:58:59 +00:00
const tmp = preferredRegion;
2026-07-20 16:05:17 +00:00
if (preferredRegion.preferredRegion) {
const items = [preferredRegion.preferredRegion];
preferredRegion.preferredRegions = items;
} else {
preferredRegion.preferredRegions = null;
}
2026-10-03 08:58:59 +00:00
delete tmp["preferredRegion"];
2026-07-20 16:05:17 +00:00
return preferredRegion;
}
];
2026-07-29 08:29:29 +00:00
RTCRegionStore.migrations = items;
2026-10-03 08:58:59 +00:00
const obj2 = {
2026-07-20 16:05:17 +00:00
RTC_LATENCY_TEST_COMPLETE: function handleCompletedRTCLatencyTest(latencyRankedRegions) {
if (latencyRankedRegions.latencyRankedRegions.length > 0) {
closure_3.lastGeoRankedOrder = latencyRankedRegions.geoRankedRegions;
closure_3.preferredRegions = latencyRankedRegions.latencyRankedRegions;
2026-07-20 16:05:17 +00:00
}
closure_3.lastTestTimestamp = Date.now();
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
};
const rTCRegionStore = new RTCRegionStore(DispatcherDefault, obj2);
const result = size.fileFinishedImporting("stores/RTCRegionStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default rTCRegionStore;