[mirotalksfu] - improvements
هذا الالتزام موجود في:
@@ -23,14 +23,17 @@ module.exports = class Peer {
|
||||
updatePeerInfo(data) {
|
||||
log.debug('Update peer info', data);
|
||||
switch (data.type) {
|
||||
case 'audio':
|
||||
case 'audioType':
|
||||
this.peer_info.peer_audio = data.status;
|
||||
this.peer_audio = data.status;
|
||||
break;
|
||||
case 'video':
|
||||
case 'videoType':
|
||||
this.peer_info.peer_video = data.status;
|
||||
this.peer_video = data.status;
|
||||
break;
|
||||
case 'screen':
|
||||
case 'screenType':
|
||||
this.peer_info.peer_screen = data.status;
|
||||
break;
|
||||
@@ -69,12 +72,14 @@ module.exports = class Peer {
|
||||
return this.producers.get(producer_id);
|
||||
}
|
||||
|
||||
async createProducer(producerTransportId, rtpParameters, kind) {
|
||||
async createProducer(producerTransportId, rtpParameters, kind, type) {
|
||||
let producer = await this.transports.get(producerTransportId).produce({
|
||||
kind,
|
||||
rtpParameters,
|
||||
});
|
||||
|
||||
producer.appData.mediaType = type;
|
||||
|
||||
this.producers.set(producer.id, producer);
|
||||
|
||||
producer.on(
|
||||
|
||||
@@ -122,6 +122,7 @@ module.exports = class Room {
|
||||
producer_id: producer.id,
|
||||
peer_name: peer.peer_name,
|
||||
peer_info: peer.peer_info,
|
||||
type: producer.appData.mediaType,
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -189,10 +190,12 @@ module.exports = class Room {
|
||||
// PRODUCE
|
||||
// ####################################################
|
||||
|
||||
async produce(socket_id, producerTransportId, rtpParameters, kind) {
|
||||
async produce(socket_id, producerTransportId, rtpParameters, kind, type) {
|
||||
return new Promise(
|
||||
async function (resolve, reject) {
|
||||
let producer = await this.peers.get(socket_id).createProducer(producerTransportId, rtpParameters, kind);
|
||||
let producer = await this.peers
|
||||
.get(socket_id)
|
||||
.createProducer(producerTransportId, rtpParameters, kind, type);
|
||||
resolve(producer.id);
|
||||
this.broadCast(socket_id, 'newProducers', [
|
||||
{
|
||||
@@ -200,6 +203,7 @@ module.exports = class Room {
|
||||
producer_socket_id: socket_id,
|
||||
peer_name: this.peers.get(socket_id).peer_name,
|
||||
peer_info: this.peers.get(socket_id).peer_info,
|
||||
type: type,
|
||||
},
|
||||
]);
|
||||
}.bind(this),
|
||||
|
||||
@@ -670,7 +670,7 @@ io.on('connection', (socket) => {
|
||||
|
||||
let producer_id = await roomList
|
||||
.get(socket.room_id)
|
||||
.produce(socket.id, producerTransportId, rtpParameters, kind);
|
||||
.produce(socket.id, producerTransportId, rtpParameters, kind, appData.mediaType);
|
||||
|
||||
log.debug('Produce', {
|
||||
kind: kind,
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم