[mirotalksfu] - improvements
هذا الالتزام موجود في:
@@ -23,12 +23,10 @@ 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;
|
||||
|
||||
@@ -502,16 +502,6 @@ io.on('connection', (socket) => {
|
||||
|
||||
log.debug('Peer action', data);
|
||||
|
||||
if (data.action == 'screenStart') {
|
||||
let screenData = {
|
||||
peer_name: getPeerName(),
|
||||
peer_id: socket.id,
|
||||
type: 'screenType',
|
||||
status: true,
|
||||
};
|
||||
roomList.get(socket.room_id).getPeers().get(socket.id).updatePeerInfo(screenData);
|
||||
}
|
||||
|
||||
if (data.broadcast) {
|
||||
roomList.get(socket.room_id).broadCast(data.peer_id, 'peerAction', data);
|
||||
} else {
|
||||
@@ -661,7 +651,7 @@ io.on('connection', (socket) => {
|
||||
callback('success');
|
||||
});
|
||||
|
||||
socket.on('produce', async ({ kind, rtpParameters, producerTransportId }, callback) => {
|
||||
socket.on('produce', async ({ producerTransportId, kind, appData, rtpParameters }, callback) => {
|
||||
if (!roomList.has(socket.room_id)) {
|
||||
return callback({ error: 'Room not found' });
|
||||
}
|
||||
@@ -672,7 +662,8 @@ io.on('connection', (socket) => {
|
||||
let data = {
|
||||
peer_name: peer_name,
|
||||
peer_id: socket.id,
|
||||
type: kind,
|
||||
kind: kind,
|
||||
type: appData.mediaType,
|
||||
status: true,
|
||||
};
|
||||
await roomList.get(socket.room_id).getPeers().get(socket.id).updatePeerInfo(data);
|
||||
@@ -683,6 +674,7 @@ io.on('connection', (socket) => {
|
||||
|
||||
log.debug('Produce', {
|
||||
kind: kind,
|
||||
type: appData.mediaType,
|
||||
peer_name: peer_name,
|
||||
peer_id: socket.id,
|
||||
producer_id: producer_id,
|
||||
|
||||
@@ -869,13 +869,11 @@ function handleButtons() {
|
||||
setAudioButtonsDisabled(true);
|
||||
if (!isEnumerateAudioDevices) initEnumerateAudioDevices();
|
||||
rc.produce(RoomClient.mediaType.audio, microphoneSelect.value);
|
||||
rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', true);
|
||||
// rc.resumeProducer(RoomClient.mediaType.audio);
|
||||
};
|
||||
stopAudioButton.onclick = () => {
|
||||
setAudioButtonsDisabled(true);
|
||||
rc.closeProducer(RoomClient.mediaType.audio);
|
||||
rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', false);
|
||||
// rc.pauseProducer(RoomClient.mediaType.audio);
|
||||
};
|
||||
startVideoButton.onclick = () => {
|
||||
|
||||
@@ -355,11 +355,17 @@ class RoomClient {
|
||||
|
||||
this.producerTransport.on(
|
||||
'produce',
|
||||
async function ({ kind, rtpParameters }, callback, errback) {
|
||||
async function ({ kind, appData, rtpParameters }, callback, errback) {
|
||||
console.log('Going to produce', {
|
||||
kind: kind,
|
||||
appData: appData,
|
||||
rtpParameters: rtpParameters,
|
||||
});
|
||||
try {
|
||||
const { producer_id } = await this.socket.request('produce', {
|
||||
producerTransportId: this.producerTransport.id,
|
||||
kind,
|
||||
appData,
|
||||
rtpParameters,
|
||||
});
|
||||
callback({
|
||||
@@ -703,6 +709,9 @@ class RoomClient {
|
||||
const track = audio ? stream.getAudioTracks()[0] : stream.getVideoTracks()[0];
|
||||
const params = {
|
||||
track,
|
||||
appData: {
|
||||
mediaType: type,
|
||||
},
|
||||
};
|
||||
|
||||
if (!audio && !screen) {
|
||||
@@ -848,7 +857,7 @@ class RoomClient {
|
||||
|
||||
getScreenConstraints() {
|
||||
return {
|
||||
audio: false,
|
||||
audio: true,
|
||||
video: {
|
||||
frameRate: {
|
||||
ideal: 15,
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم