[mirotalksfu] - improvements

هذا الالتزام موجود في:
Miroslav Pejic
2024-03-15 08:43:29 +01:00
الأصل 869a4fcf4e
التزام 4a888505ce
3 ملفات معدلة مع 21 إضافات و13 حذوفات

عرض الملف

@@ -180,6 +180,10 @@ module.exports = class Peer {
return JSON.parse(JSON.stringify([...this.consumers])); return JSON.parse(JSON.stringify([...this.consumers]));
} }
getConsumer(consumer_id) {
return this.consumers.get(consumer_id);
}
async createConsumer(consumer_transport_id, producer_id, rtpCapabilities) { async createConsumer(consumer_transport_id, producer_id, rtpCapabilities) {
try { try {
const consumerTransport = this.transports.get(consumer_transport_id); const consumerTransport = this.transports.get(consumer_transport_id);
@@ -205,6 +209,7 @@ module.exports = class Peer {
const { scalabilityMode } = rtpParameters.encodings[0]; const { scalabilityMode } = rtpParameters.encodings[0];
const spatialLayer = parseInt(scalabilityMode.substring(1, 2)); // 1/2/3 const spatialLayer = parseInt(scalabilityMode.substring(1, 2)); // 1/2/3
const temporalLayer = parseInt(scalabilityMode.substring(3, 4)); // 1/2/3 const temporalLayer = parseInt(scalabilityMode.substring(3, 4)); // 1/2/3
try {
await consumer.setPreferredLayers({ await consumer.setPreferredLayers({
spatialLayer: spatialLayer, spatialLayer: spatialLayer,
temporalLayer: temporalLayer, temporalLayer: temporalLayer,
@@ -214,10 +219,15 @@ module.exports = class Peer {
spatialLayer, spatialLayer,
temporalLayer, temporalLayer,
}); });
} catch (error) {
return `Error to set Consumer preferred layers: ${error.message}`;
}
} else { } else {
log.debug('Consumer ----->', { type: type, kind: kind }); log.debug('Consumer ----->', { type: type, kind: kind });
} }
this.consumers.set(id, consumer);
consumer.on('transportclose', () => { consumer.on('transportclose', () => {
log.debug('Consumer transport close', { log.debug('Consumer transport close', {
peer_name: this.peer_info?.peer_name, peer_name: this.peer_info?.peer_name,
@@ -226,8 +236,6 @@ module.exports = class Peer {
this.removeConsumer(id); this.removeConsumer(id);
}); });
this.consumers.set(id, consumer);
return { return {
consumer, consumer,
params: { params: {

عرض الملف

@@ -241,7 +241,7 @@ module.exports = class Room {
} }
// #################################################### // ####################################################
// WEBRTC TRANSPORT // WebRTC TRANSPORT
// #################################################### // ####################################################
async createWebRtcTransport(socket_id) { async createWebRtcTransport(socket_id) {

عرض الملف

@@ -158,9 +158,9 @@ access to use this app.
<div id="control" class="fadein"> <div id="control" class="fadein">
<button id="shareButton" class="hidden"><i class="fas fa-share-alt"></i></button> <button id="shareButton" class="hidden"><i class="fas fa-share-alt"></i></button>
<button id="hideMeButton" class="hidden"><i id="hideMeIcon" class="fas fa-user"></i></button> <button id="hideMeButton" class="hidden"><i id="hideMeIcon" class="fas fa-user"></i></button>
<button id="swapCameraButton" class="hidden"><i class="fas fa-camera-rotate"></i></button>
<button id="startVideoButton" class="hidden"><i class="fas fa-video-slash"></i></button> <button id="startVideoButton" class="hidden"><i class="fas fa-video-slash"></i></button>
<button id="stopVideoButton" class="hidden"><i class="fas fa-video"></i></button> <button id="stopVideoButton" class="hidden"><i class="fas fa-video"></i></button>
<button id="swapCameraButton" class="hidden"><i class="fas fa-camera-rotate"></i></button>
<button id="startAudioButton" class="hidden"><i class="fas fa-microphone-slash"></i></button> <button id="startAudioButton" class="hidden"><i class="fas fa-microphone-slash"></i></button>
<button id="stopAudioButton" class="hidden"><i class="fas fa-microphone"></i></button> <button id="stopAudioButton" class="hidden"><i class="fas fa-microphone"></i></button>
<button id="startScreenButton" class="hidden"><i class="fas fa-desktop"></i></button> <button id="startScreenButton" class="hidden"><i class="fas fa-desktop"></i></button>