[mirotalksfu] - add participant lists + eject
هذا الالتزام موجود في:
10
src/Peer.js
10
src/Peer.js
@@ -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);
|
||||
|
||||
14
src/Room.js
14
src/Room.js
@@ -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
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم