[mirotalksfu] - refactoring
هذا الالتزام موجود في:
@@ -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 });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم