From 2a5174a7b5d9713f0f249d2792742e67d545a43d Mon Sep 17 00:00:00 2001 From: Juan Navarro Date: Tue, 15 Feb 2022 14:05:14 +0100 Subject: [PATCH] openvidu-browser: Catch errors on WebRTC calls --- .../OpenViduInternal/WebRtcPeer/WebRtcPeer.ts | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts index 52e40a03..964b2272 100644 --- a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts +++ b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts @@ -275,8 +275,16 @@ export class WebRtcPeer { } if (needSetParams) { - logger.debug(`[createOffer] Setting new RTCRtpSendParameters`); - await tc.sender.setParameters(sendParams); + logger.debug(`[createOffer] Setting new RTCRtpSendParameters to video sender`); + try { + await tc.sender.setParameters(sendParams); + } catch (error) { + let message = `[WebRtcPeer.createOffer] Cannot set RTCRtpSendParameters to video sender`; + if (error instanceof Error) { + message += `: ${error.message}`; + } + throw new Error(message); + } } } @@ -311,7 +319,18 @@ export class WebRtcPeer { } } - return this.pc.createOffer(); + let sdpOffer: RTCSessionDescriptionInit; + try { + sdpOffer = await this.pc.createOffer(); + } catch (error) { + let message = `[WebRtcPeer.createOffer] Browser failed creating an SDP Offer`; + if (error instanceof Error) { + message += `: ${error.message}`; + } + throw new Error(message); + } + + return sdpOffer; } deprecatedPeerConnectionTrackApi() {