decord/stable/source/modules/video-qoe/SimpleMuxWrapper.tsx
2026-10-06 22:12:49 +00:00

83 lines
2.6 KiB
TypeScript

// Module ID: 14656
// Function ID: 14657
// Name: modules/SimpleMuxWrapper
// Dependencies: [4, 14657, 14658, 14659, 2]
// Module 14656 (modules/SimpleMuxWrapper)
import logger_Logger from "logger/Logger" /* 4 */;
import SessionManager2 from "SessionManager" /* 14657 */;
import MuxIntegration2 from "MuxIntegration" /* 14658 */;
import _modDef14659 from "module_14659" /* 14659 */;
import size from "module_2" /* 2 */;
const logger = new logger_Logger.Logger("SimpleMuxWrapper");
const result = size.fileFinishedImporting("modules/video-qoe/SimpleMuxWrapper.tsx");
class SimpleMuxWrapper {
constructor(config) {
const merged = Object.assign({ isMonitoring: false });
merged.config = config;
merged.videoElement = config.videoElement;
const SessionManager = SessionManager2.SessionManager;
merged.sessionId = SessionManager.generateSessionId();
merged.hlsInstance = config.hlsInstance;
return merged;
}
initialize() {
let MuxIntegration;
const self = this;
let flag = this.config.debug;
if (flag == null) {
flag = false;
}
const obj = { debug: flag, disableCookies: true, respectDoNotTrack: true, data: MuxIntegration.mapDiscordToMuxMetadata(self.config, self.sessionId) };
MuxIntegration = MuxIntegration2.MuxIntegration;
if (null != self.hlsInstance) {
obj.hlsjs = self.hlsInstance;
obj.Hls = self.hlsInstance.constructor;
}
try {
const obj2 = _modDef14659;
obj2.monitor(self.videoElement, obj);
self.isMonitoring = true;
} catch (tmp4) {
logger.error("Error creating Mux monitor", tmp4);
self.isMonitoring = false;
}
}
endSession() {
const self = this;
if (this.isMonitoring) {
try {
const tmp = importDefault;
if (typeof _modDef14659.destroyMonitor === "function") {
const tmpResult = tmp(14659);
tmpResult.destroyMonitor(self.videoElement);
}
self.isMonitoring = false;
} catch (tmp3) {
logger.error("Error ending Mux session", tmp3);
}
}
}
destroy() {
const self = this;
if (this.isMonitoring) {
try {
const tmp = importDefault;
if (typeof _modDef14659.destroyMonitor === "function") {
const tmpResult = tmp(14659);
tmpResult.destroyMonitor(self.videoElement);
}
self.isMonitoring = false;
} catch (tmp3) {
logger.error("Error destroying Mux monitor", tmp3);
}
}
}
getSessionId() {
return this.sessionId;
}
}
const prototype = SimpleMuxWrapper.prototype;
export { SimpleMuxWrapper };