decord/source/lib/WindowVisibilityVideoManager.tsx
github-actions cd74c1f217 chore: update source for alpha 345.5
Skipped 1 file(s) >100MB (GitHub limit): source/__vendor/09xxx/9667_m.js (378 MB)
2026-09-05 10:56:28 +00:00

76 lines
3.3 KiB
TypeScript

// Module ID: 9609
// Function ID: 9610
// Name: isIncomingVideoEnabled
// Dependencies: [4618, 4447, 3, 1090, 573, 9610, 9611, 2]
// Module 9609 (isIncomingVideoEnabled)
import timestampDefault from "timestamp" /* 3 */;
import dispatcherDefault from "dispatcher" /* 573 */;
import setDefault from "set" /* 1090 */;
import onDefault from "on" /* 4618 */;
import NativeEventEmitterDefault from "NativeEventEmitter" /* 9610 */;
const require = arg1;
let obj = { WindowVisibilityChanged: "window-visibility-changed", IncomingVideoEnabledChanged: "incoming-video-enabled-changed" };
onDefault;
class WindowVisibilityVideoManager extends tmp2 {
constructor() {
tmp6 = new WindowVisibilityVideoManager(tmp5, tmp4, tmp3, tmp2, tmp);
// ThrowIfThisInitialized (0x7c)
closure_0 = tmp6;
timeout = new require("start").Timeout();
tmp6.disableVideoTimer = timeout;
tmp6.discordVisible = true;
tmp6.incomingVideoEnabled = true;
tmp6.lastEnabledChange = performance.now();
tmp8 = new require("timestamp")("WindowVisibilityVideoManager");
tmp6.logger = tmp8;
tmp6.HIDDEN_WINDOW_DISABLE_VIDEO_DURATION_MS = 30 * require("set").Millis.SECOND;
tmp6.update = function update() {
if (discordVisible.discordVisible !== closure_1_1(closure_1_2[6])()) {
obj.discordVisible = closure_1_1(closure_1_2[6])();
obj.emit(closure_1_3.WindowVisibilityChanged, obj.discordVisible);
const disableVideoTimer = obj.disableVideoTimer;
if (obj.discordVisible) {
disableVideoTimer.stop();
let result = obj.setIncomingVideoEnabled(true);
} else {
disableVideoTimer.start(obj.HIDDEN_WINDOW_DISABLE_VIDEO_DURATION_MS, () => {
const result = incomingVideoEnabled.setIncomingVideoEnabled(false);
});
}
}
};
obj = require("dispatcher");
subscription = obj.subscribe("WINDOW_VISIBILITY_CHANGE", tmp6.update);
obj2 = require("dispatcher");
subscription1 = obj2.subscribe("APP_STATE_UPDATE", tmp6.update);
obj3 = require("NativeEventEmitter");
result = obj3.addOnPipModeChangedListener(tmp6.update);
return tmp6;
}
}
const prototype = WindowVisibilityVideoManager.prototype;
prototype["isIncomingVideoEnabled"] = function isIncomingVideoEnabled() {
return this.incomingVideoEnabled;
};
prototype["lastIncomingVideoEnabledChangeTime"] = function lastIncomingVideoEnabledChangeTime() {
return this.lastEnabledChange;
};
prototype["setIncomingVideoEnabled"] = function setIncomingVideoEnabled(incomingVideoEnabled) {
const self = this;
this.incomingVideoEnabled = incomingVideoEnabled;
if (this.incomingVideoEnabled !== incomingVideoEnabled) {
const logger = self.logger;
const _HermesInternal = HermesInternal;
logger.info("Incoming video enabled changed, incomingVideoEnabled = " + self.incomingVideoEnabled);
const _performance = performance;
self.lastEnabledChange = performance.now();
self.emit(obj.IncomingVideoEnabledChanged, self.incomingVideoEnabled);
}
};
const windowVisibilityVideoManager = new WindowVisibilityVideoManager();
let result = require("set").fileFinishedImporting("lib/WindowVisibilityVideoManager.tsx");
export const WindowVisibilityEvent = obj;
export const WindowVisibilityVideoManager = windowVisibilityVideoManager;