[mirotalksfu] - improvements

هذا الالتزام موجود في:
Miroslav Pejic
2022-09-12 15:42:41 +02:00
الأصل fa8896c118
التزام be11558751
4 ملفات معدلة مع 15 إضافات و18 حذوفات

عرض الملف

@@ -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,