From 53550e96f9c477fee8dc4c49319236d87a4cc14c Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 19 Sep 2019 16:23:47 +0200 Subject: [PATCH 1/2] Ionic IOS test --- openvidu-browser/src/OpenVidu/Stream.ts | 6 +++--- .../src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/openvidu-browser/src/OpenVidu/Stream.ts b/openvidu-browser/src/OpenVidu/Stream.ts index 0706f976..ec208bd2 100644 --- a/openvidu-browser/src/OpenVidu/Stream.ts +++ b/openvidu-browser/src/OpenVidu/Stream.ts @@ -817,11 +817,11 @@ export class Stream implements EventDispatcher { } private remotePeerSuccessfullyEstablished(): void { - if (platform['isIonicIos']) { + /*if (platform['isIonicIos']) { // iOS Ionic. LIMITATION: must use deprecated WebRTC API const pc1: any = this.webRtcPeer.pc; this.mediaStream = pc1.getRemoteStreams()[0]; - } else { + } else {*/ this.mediaStream = new MediaStream(); let receiver: RTCRtpReceiver; for (receiver of this.webRtcPeer.pc.getReceivers()) { @@ -829,7 +829,7 @@ export class Stream implements EventDispatcher { this.mediaStream.addTrack(receiver.track); } } - } + // } console.debug('Peer remote stream', this.mediaStream); if (!!this.mediaStream) { diff --git a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts index f23043a1..1e40c171 100644 --- a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts +++ b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts @@ -86,15 +86,15 @@ export class WebRtcPeer { reject('The peer connection object is in "closed" state. This is most likely due to an invocation of the dispose method before accepting in the dialogue'); } if (!!this.configuration.mediaStream) { - if (platform['isIonicIos']) { + /*if (platform['isIonicIos']) { // iOS Ionic. LIMITATION: must use deprecated WebRTC API const pc2: any = this.pc; pc2.addStream(this.configuration.mediaStream); - } else { + } else {*/ for (const track of this.configuration.mediaStream.getTracks()) { this.pc.addTrack(track, this.configuration.mediaStream); } - } + // } resolve(); } }); @@ -113,7 +113,7 @@ export class WebRtcPeer { this.remoteCandidatesQueue = []; this.localCandidatesQueue = []; - if (platform['isIonicIos']) { + /* if (platform['isIonicIos']) { // iOS Ionic. LIMITATION: must use deprecated WebRTC API // Stop senders deprecated const pc1: any = this.pc; @@ -129,7 +129,7 @@ export class WebRtcPeer { receiver.stop(); } } - } else { + } else {*/ // Stop senders for (const sender of this.pc.getSenders()) { if (!videoSourceIsMediaStreamTrack) { @@ -145,7 +145,7 @@ export class WebRtcPeer { receiver.track.stop(); } } - } + // } this.pc.close(); } From 86f288cfe292e6f762ca553239df3045a19fe066 Mon Sep 17 00:00:00 2001 From: CSantos <4a.santos@gmail.com> Date: Thu, 5 Dec 2019 12:21:42 +0100 Subject: [PATCH 2/2] openvidu-browser: prepare iosrtc new version --- openvidu-browser/src/OpenVidu/Stream.ts | 6 +- .../OpenViduInternal/WebRtcPeer/WebRtcPeer.ts | 56 +++++-------------- 2 files changed, 18 insertions(+), 44 deletions(-) diff --git a/openvidu-browser/src/OpenVidu/Stream.ts b/openvidu-browser/src/OpenVidu/Stream.ts index ec208bd2..0706f976 100644 --- a/openvidu-browser/src/OpenVidu/Stream.ts +++ b/openvidu-browser/src/OpenVidu/Stream.ts @@ -817,11 +817,11 @@ export class Stream implements EventDispatcher { } private remotePeerSuccessfullyEstablished(): void { - /*if (platform['isIonicIos']) { + if (platform['isIonicIos']) { // iOS Ionic. LIMITATION: must use deprecated WebRTC API const pc1: any = this.webRtcPeer.pc; this.mediaStream = pc1.getRemoteStreams()[0]; - } else {*/ + } else { this.mediaStream = new MediaStream(); let receiver: RTCRtpReceiver; for (receiver of this.webRtcPeer.pc.getReceivers()) { @@ -829,7 +829,7 @@ export class Stream implements EventDispatcher { this.mediaStream.addTrack(receiver.track); } } - // } + } console.debug('Peer remote stream', this.mediaStream); if (!!this.mediaStream) { diff --git a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts index 1e40c171..44769d13 100644 --- a/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts +++ b/openvidu-browser/src/OpenViduInternal/WebRtcPeer/WebRtcPeer.ts @@ -86,15 +86,9 @@ export class WebRtcPeer { reject('The peer connection object is in "closed" state. This is most likely due to an invocation of the dispose method before accepting in the dialogue'); } if (!!this.configuration.mediaStream) { - /*if (platform['isIonicIos']) { - // iOS Ionic. LIMITATION: must use deprecated WebRTC API - const pc2: any = this.pc; - pc2.addStream(this.configuration.mediaStream); - } else {*/ - for (const track of this.configuration.mediaStream.getTracks()) { - this.pc.addTrack(track, this.configuration.mediaStream); - } - // } + for (const track of this.configuration.mediaStream.getTracks()) { + this.pc.addTrack(track, this.configuration.mediaStream); + } resolve(); } }); @@ -112,41 +106,21 @@ export class WebRtcPeer { } this.remoteCandidatesQueue = []; this.localCandidatesQueue = []; - - /* if (platform['isIonicIos']) { - // iOS Ionic. LIMITATION: must use deprecated WebRTC API - // Stop senders deprecated - const pc1: any = this.pc; - for (const sender of pc1.getLocalStreams()) { - if (!videoSourceIsMediaStreamTrack) { - sender.stop(); - } - pc1.removeStream(sender); - } - // Stop receivers deprecated - for (const receiver of pc1.getRemoteStreams()) { - if (!!receiver.track) { - receiver.stop(); + // Stop senders + for (const sender of this.pc.getSenders()) { + if (!videoSourceIsMediaStreamTrack) { + if (!!sender.track) { + sender.track.stop(); } } - } else {*/ - // Stop senders - for (const sender of this.pc.getSenders()) { - if (!videoSourceIsMediaStreamTrack) { - if (!!sender.track) { - sender.track.stop(); - } - } - this.pc.removeTrack(sender); + this.pc.removeTrack(sender); + } + // Stop receivers + for (const receiver of this.pc.getReceivers()) { + if (!!receiver.track) { + receiver.track.stop(); } - // Stop receivers - for (const receiver of this.pc.getReceivers()) { - if (!!receiver.track) { - receiver.track.stop(); - } - } - // } - + } this.pc.close(); } } catch (err) {