diff --git a/package.json b/package.json index 1067e616..c82ce101 100644 --- a/package.json +++ b/package.json @@ -20,11 +20,11 @@ "cors": "2.8.5", "express": "4.18.1", "httpolyglot": "0.1.2", - "mediasoup": "3.9.16", + "mediasoup": "3.9.17", "mediasoup-client": "3.6.52", "ngrok": "4.3.1", - "@sentry/node": "7.0.0", - "@sentry/integrations": "7.0.0", + "@sentry/node": "7.1.1", + "@sentry/integrations": "7.1.1", "socket.io": "4.5.1", "swagger-ui-express": "4.4.0", "uuid": "8.3.2", diff --git a/public/js/RoomClient.js b/public/js/RoomClient.js index cae25fd6..b6da54e3 100644 --- a/public/js/RoomClient.js +++ b/public/js/RoomClient.js @@ -846,7 +846,13 @@ class RoomClient { this.handleTS(elem.id, ts.id); this.popupPeerInfo(p.id, this.peer_info); this.checkPeerInfoStatus(this.peer_info); - handleAspectRatio(); + if (participantsCount <= 3 && type === mediaType.screen) { + this.peerAction('me', this.peer_id + '___sStart', 'screenStart', true, true); + setAspectRatio(2); // 16:9 + } else { + this.peerAction('me', this.peer_id + '___sStop', 'screenStop', true, true); + handleAspectRatio(); + } console.log('[addProducer] Video-element-count', this.videoMediaContainer.childElementCount); if (!this.isMobileDevice) { this.setTippy(elem.id, 'Full Screen', 'top-end'); @@ -2741,6 +2747,12 @@ class RoomClient { ); } break; + case 'screenStart': + if (!this.isMobileDevice) setAspectRatio(2); + break; + case 'screenStop': + if (!this.isMobileDevice) handleAspectRatio(); + break; // ... } } @@ -2865,6 +2877,10 @@ class RoomClient { if (muteHideConfirmed) this.peerActionProgress(action, 'In progress, wait...', 2000, 'refresh'); }); break; + case 'screenStart': + case 'screenStop': + this.socket.emit('peerAction', data); + break; } }