[mirotalksfu] - refactoring

هذا الالتزام موجود في:
Miroslav Pejic
2024-03-29 16:54:23 +01:00
الأصل c2f4857746
التزام 3fd239c37d
2 ملفات معدلة مع 18 إضافات و4 حذوفات

عرض الملف

@@ -115,6 +115,7 @@ module.exports = class Peer {
} }
const producerTransport = this.transports.get(producerTransportId); const producerTransport = this.transports.get(producerTransportId);
if (!producerTransport) { if (!producerTransport) {
return `Producer transport with ID ${producerTransportId} not found`; return `Producer transport with ID ${producerTransportId} not found`;
} }

عرض الملف

@@ -77,19 +77,28 @@ module.exports = class Room {
.then((router) => { .then((router) => {
this.router = router; this.router = router;
if (this.audioLevelObserverEnabled) { if (this.audioLevelObserverEnabled) {
this.startAudioLevelObservation(router); this.startAudioLevelObservation();
} }
this.router.observer.on('close', () => {
log.info('---------------> Router is now closed as the last peer has left the room', {
room: this.id,
}); });
});
});
}
closeRouter() {
this.router.close();
} }
// #################################################### // ####################################################
// PRODUCER AUDIO LEVEL OBSERVER // PRODUCER AUDIO LEVEL OBSERVER
// #################################################### // ####################################################
async startAudioLevelObservation(router) { async startAudioLevelObservation() {
log.debug('Start audioLevelObserver for signaling active speaker...'); log.debug('Start audioLevelObserver for signaling active speaker...');
this.audioLevelObserver = await router.createAudioLevelObserver({ this.audioLevelObserver = await this.router.createAudioLevelObserver({
maxEntries: 1, maxEntries: 1,
threshold: -70, threshold: -70,
interval: 100, interval: 100,
@@ -257,6 +266,10 @@ module.exports = class Room {
peer.close(); peer.close();
this.peers.delete(socket_id); this.peers.delete(socket_id);
if (this.getPeers().size === 0) {
this.closeRouter();
}
} }
// #################################################### // ####################################################
@@ -328,7 +341,7 @@ module.exports = class Room {
} }
}); });
transport.observer.on('close', () => { transport.on('close', () => {
log.debug('Transport closed', { peer_name: peer_name, transport_id: transport.id }); log.debug('Transport closed', { peer_name: peer_name, transport_id: transport.id });
}); });