From d3ce48afa4a568ce820aa64ecad3431b92c88e77 Mon Sep 17 00:00:00 2001 From: Sawyer Summerville <143439752+Sawyerville@users.noreply.github.com> Date: Sun, 9 Mar 2025 18:29:30 -0400 Subject: [PATCH] Updated contraints def code to allow share screen Updated "constraints" Variable to "DisplayMediaStreamConstraints" (Uncommented code) Updated to include system audio (Uncommented code) Added link to Browser compatability API webdoc --- packages/simplex-chat-webrtc/src/call.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/simplex-chat-webrtc/src/call.ts b/packages/simplex-chat-webrtc/src/call.ts index 5e991ecb63..c42a99b523 100644 --- a/packages/simplex-chat-webrtc/src/call.ts +++ b/packages/simplex-chat-webrtc/src/call.ts @@ -1379,11 +1379,11 @@ const processCommand = (function () { async function getLocalMediaStream(mic: boolean, camera: boolean, facingMode: VideoCamera): Promise { if (!mic && !camera) return new MediaStream() const constraints = callMediaConstraints(mic, camera, facingMode) - return await navigator.mediaDevices.getDisplayMedia(constraints) + return await navigator.mediaDevices.getDisplayMedia(DisplayMediaStreamConstraints) } function getLocalScreenCaptureStream(): Promise { - const constraints: any /* DisplayMediaStreamConstraints */ = { + const DisplayMediaStreamConstraints = { video: { frameRate: 24, //width: { @@ -1394,10 +1394,10 @@ const processCommand = (function () { //aspectRatio: 1.33, }, audio: allowSendScreenAudio, - // This works with Chrome, Edge, Opera, but not with Firefox and Safari - // systemAudio: "include" + // This works with Chrome, Edge, Opera, but not with Firefox and Safari (https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API/Using_Screen_Capture#browser_compatibility) + systemAudio: "include" } - return navigator.mediaDevices.getDisplayMedia(constraints) + return navigator.mediaDevices.getDisplayMedia(DisplayMediaStreamConstraints) } async function browserHasCamera(): Promise {