[mirotalksfu] - add participant lists + eject

هذا الالتزام موجود في:
Miroslav Pejic
2021-09-03 14:09:38 +02:00
الأصل bfeb4a914a
التزام 57e925ea20
8 ملفات معدلة مع 195 إضافات و64 حذوفات

عرض الملف

@@ -6,10 +6,10 @@ const log = new Logger('Peer');
module.exports = class Peer {
constructor(socket_id, data) {
this.id = socket_id;
this.peer_name = data.peer_name;
this.peer_audio = data.peer_audio;
this.peer_video = data.peer_video;
this.peer_info = data.peer_info;
this.peer_name = data.peer_info.peer_name;
this.peer_audio = data.peer_info.peer_audio;
this.peer_video = data.peer_info.peer_video;
this.transports = new Map();
this.consumers = new Map();
this.producers = new Map();
@@ -55,7 +55,7 @@ module.exports = class Peer {
'transportclose',
function () {
log.debug('Producer transport close', {
peer_name: this.peer_name,
peer_name: this.peer_info.peer_name,
consumer_id: producer.id,
});
producer.close();
@@ -107,7 +107,7 @@ module.exports = class Peer {
'transportclose',
function () {
log.debug('Consumer transport close', {
peer_name: this.peer_name,
peer_name: this.peer_info.peer_name,
consumer_id: consumer.id,
});
this.consumers.delete(consumer.id);

عرض الملف

@@ -203,13 +203,19 @@ module.exports = class Room {
// SENDER
// ####################################################
broadCast(socket_id, peer_name, data) {
broadCast(socket_id, action, data) {
for (let otherID of Array.from(this.peers.keys()).filter((id) => id !== socket_id)) {
this.send(otherID, peer_name, data);
this.send(otherID, action, data);
}
}
send(socket_id, peer_name, data) {
this.io.to(socket_id).emit(peer_name, data);
sendTo(socket_id, action, data) {
for (let peer_id of Array.from(this.peers.keys()).filter((id) => id === socket_id)) {
this.send(peer_id, action, data);
}
}
send(socket_id, action, data) {
this.io.to(socket_id).emit(action, data);
}
};

عرض الملف

@@ -213,10 +213,14 @@ io.on('connection', (socket) => {
break;
}
log.debug('Room locked:', roomList.get(socket.room_id).isLocked());
// send to all participants
roomList.get(socket.room_id).broadCast(socket.id, 'roomAction', action);
});
socket.on('peerAction', (data) => {
log.debug('Peer action:', data);
roomList.get(socket.room_id).sendTo(data.peer_id, 'peerAction', data);
});
socket.on('join', (data, cb) => {
if (!roomList.has(socket.room_id)) {
return cb({
@@ -329,7 +333,7 @@ io.on('connection', (socket) => {
callback();
});
socket.on('getMyRoomInfo', (_, cb) => {
socket.on('getRoomInfo', (_, cb) => {
cb(roomList.get(socket.room_id).toJson());
});
@@ -378,9 +382,12 @@ io.on('connection', (socket) => {
if (json) {
return {
peer_name:
roomList.get(socket.room_id) && roomList.get(socket.room_id).getPeers().get(socket.id).peer_name,
roomList.get(socket.room_id) &&
roomList.get(socket.room_id).getPeers().get(socket.id).peer_info.peer_name,
};
}
return roomList.get(socket.room_id) && roomList.get(socket.room_id).getPeers().get(socket.id).peer_name;
return (
roomList.get(socket.room_id) && roomList.get(socket.room_id).getPeers().get(socket.id).peer_info.peer_name
);
}
});