cloudhub-electron-sdk
Version:
cloudhub-electron-sdk
74 lines (73 loc) • 2.81 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const log_1 = __importDefault(require("../helpers/log"));
const event_1 = require("../helpers/event");
const StreamController_1 = __importDefault(require("../controllers/StreamController"));
const RoomController_1 = __importDefault(require("../controllers/RoomController"));
const MessageController_1 = __importDefault(require("./MessageController"));
class BaseChannelController {
constructor(rtcChannel) {
this.rtcChannel = rtcChannel;
this.room = new RoomController_1.default();
this.streamInstance = new StreamController_1.default();
this.rtcChannel.streamInstance = this.streamInstance;
this.RtcChannelEvent = new event_1.Event();
this.rtcChannel.RtcChannelEvent = this.RtcChannelEvent;
this.message = new MessageController_1.default(this.rtcChannel, this.room);
this.message.apiCallback();
}
_initialize(appId = '', config = {}) {
log_1.default.info('channel初始化initialize');
this.message.apiCallback();
}
_getVersion() {
return this.rtcChannel.getVersion();
}
_registerDeliverFrame(onCallback) {
this.rtcChannel.registerDeliverFrame(onCallback);
}
_removeLocalVideo(deviceId, streamId) {
log_1.default.info('_removeLocalVideo', 'deviceId:', deviceId, 'streamId:', streamId);
this._destroyRender(streamId);
this.rtcChannel.removeLocalVideo(deviceId, streamId);
}
_removeRemoteVideo(uid, streamId) {
if (!uid)
return;
const stream = this.streamInstance.getStream(streamId);
if (stream) {
this._destroyRender(streamId);
this.rtcChannel.removeRemoteVideo(uid, stream.streamId);
}
}
_setVideoMode(viewId = '', mode = 0) {
const stream = this.streamInstance.getStreamByViewId(viewId);
if (stream) {
stream.renderer.setContentMode(mode);
}
}
_initRender(renderer, view) {
log_1.default.info(renderer, view);
if (!renderer) {
return;
}
renderer.bind(view);
}
_destroyRender(streamId, onFailure) {
if (!this.streamInstance.getStream(streamId)) {
return;
}
const { renderer } = this.streamInstance.getStream(streamId);
try {
renderer.unbind();
this.streamInstance.delStream(streamId);
}
catch (e) {
onFailure && onFailure(e);
}
}
}
exports.default = BaseChannelController;