From 706da24681ae01a463fdfa305b909e8d1948c987 Mon Sep 17 00:00:00 2001 From: Martin Schleyer Date: Mon, 13 Aug 2018 13:10:49 +0200 Subject: [PATCH 1/2] fix double consent --- openvidu-browser/src/OpenVidu/Publisher.ts | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/openvidu-browser/src/OpenVidu/Publisher.ts b/openvidu-browser/src/OpenVidu/Publisher.ts index 0b4ddf13..fbd9ac03 100644 --- a/openvidu-browser/src/OpenVidu/Publisher.ts +++ b/openvidu-browser/src/OpenVidu/Publisher.ts @@ -374,6 +374,29 @@ export class Publisher extends StreamManager { resolve(); }; + // Check if new constraints need to be generated + // No constraints needed if... + // - video track is given and no audio + // - audio track is given and no video + // - both video and audio tracks are given + if ((this.openvidu.isMediaStreamTrack(this.properties.videoSource) && !this.properties.audioSource) + || (!this.properties.videoSource && this.openvidu.isMediaStreamTrack(this.properties.audioSource)) + || (this.openvidu.isMediaStreamTrack(this.properties.videoSource) && this.openvidu.isMediaStreamTrack(this.properties.audioSource))) { + var mediaStream = new MediaStream; + + if (this.openvidu.isMediaStreamTrack(this.properties.videoSource)) + mediaStream.addTrack((this.properties.videoSource)); + + if (this.openvidu.isMediaStreamTrack(this.properties.audioSource)) + mediaStream.addTrack((this.properties.audioSource)); + + // MediaStreamTracks are handled within callback - just call callback with new MediaStream() and let it + // handle the sources + + successCallback(mediaStream); + } + + this.openvidu.generateMediaConstraints(this.properties) .then(constraints => { From 4457b654aef261694f172cde6f3abcb14f1d202c Mon Sep 17 00:00:00 2001 From: Martin Schleyer Date: Mon, 13 Aug 2018 15:29:46 +0200 Subject: [PATCH 2/2] added missing return --- openvidu-browser/src/OpenVidu/Publisher.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openvidu-browser/src/OpenVidu/Publisher.ts b/openvidu-browser/src/OpenVidu/Publisher.ts index fbd9ac03..c0de8ef0 100644 --- a/openvidu-browser/src/OpenVidu/Publisher.ts +++ b/openvidu-browser/src/OpenVidu/Publisher.ts @@ -392,8 +392,10 @@ export class Publisher extends StreamManager { // MediaStreamTracks are handled within callback - just call callback with new MediaStream() and let it // handle the sources - successCallback(mediaStream); + + // Return as we do not need to process further + return; }