From e83afb99949546265ddacfd62ea29c5a5d17ca33 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Sat, 18 Nov 2017 15:43:27 +0100 Subject: [PATCH] Dev dependencies updated. 'streamCreated' event restored for Publisher --- openvidu-browser/package.json | 8 ++++---- .../kurento-utils-js/WebRtcPeer.js | 8 ++++---- openvidu-browser/ts/OpenVidu/OpenVidu.ts | 20 +++++++++++-------- openvidu-browser/ts/OpenVidu/Publisher.ts | 10 ++++++++++ .../ts/OpenViduInternal/Stream.ts | 11 +++++----- 5 files changed, 36 insertions(+), 21 deletions(-) diff --git a/openvidu-browser/package.json b/openvidu-browser/package.json index dfa673e8..ca4613f5 100644 --- a/openvidu-browser/package.json +++ b/openvidu-browser/package.json @@ -31,9 +31,9 @@ "sdp-translator": "0.1.24" }, "devDependencies": { - "typescript": "2.5.2", - "browserify": "14.4.0", - "tsify": "3.0.1", - "uglify-js": "3.0.15" + "typescript": "2.6.1", + "browserify": "14.5.0", + "tsify": "3.0.3", + "uglify-js": "3.1.9" } } diff --git a/openvidu-browser/ts/KurentoUtils/kurento-utils-js/WebRtcPeer.js b/openvidu-browser/ts/KurentoUtils/kurento-utils-js/WebRtcPeer.js index cd75fcfc..94cc17b2 100644 --- a/openvidu-browser/ts/KurentoUtils/kurento-utils-js/WebRtcPeer.js +++ b/openvidu-browser/ts/KurentoUtils/kurento-utils-js/WebRtcPeer.js @@ -105,13 +105,13 @@ function bufferizeCandidates(pc, onerror) { switch (pc.signalingState) { case 'closed': - callback(new Error('PeerConnection object is closed')) - break + callback(new Error('PeerConnection object is closed')); + break; case 'stable': if (pc.remoteDescription) { - pc.addIceCandidate(candidate, callback, callback) - break + pc.addIceCandidate(candidate, callback, callback); } + break; default: candidatesQueue.push({ candidate: candidate, diff --git a/openvidu-browser/ts/OpenVidu/OpenVidu.ts b/openvidu-browser/ts/OpenVidu/OpenVidu.ts index c99f551c..73c573fe 100644 --- a/openvidu-browser/ts/OpenVidu/OpenVidu.ts +++ b/openvidu-browser/ts/OpenVidu/OpenVidu.ts @@ -60,14 +60,18 @@ export class OpenVidu { if (this.checkSystemRequirements()) { let publisher: Publisher; if (cameraOptions != null) { + + cameraOptions.audio = cameraOptions.audio != null ? cameraOptions.audio : true; + cameraOptions.video = cameraOptions.video != null ? cameraOptions.video : true; + if (!cameraOptions.screen) { // Webcam and/or microphone is being requested let cameraOptionsAux = { sendAudio: cameraOptions.audio != null ? cameraOptions.audio : true, sendVideo: cameraOptions.video != null ? cameraOptions.video : true, - activeAudio: cameraOptions.activeAudio != null ? cameraOptions.activeAudio : true, - activeVideo: cameraOptions.activeVideo != null ? cameraOptions.activeVideo : true, + activeAudio: cameraOptions.audioActive != null ? cameraOptions.audioActive : true, + activeVideo: cameraOptions.videoActive != null ? cameraOptions.videoActive : true, data: true, mediaConstraints: this.openVidu.generateMediaConstraints(cameraOptions) }; @@ -81,10 +85,10 @@ export class OpenVidu { publisher = new Publisher(this.openVidu.initPublisherScreen(parentId, callback), parentId, true); screenSharingAuto.getScreenId((error, sourceId, screenConstraints) => { cameraOptions = { - sendAudio: cameraOptions.audio != null ? cameraOptions.audio : true, - sendVideo: cameraOptions.video != null ? cameraOptions.video : true, - activeAudio: cameraOptions.activeAudio != null ? cameraOptions.activeAudio : true, - activeVideo: cameraOptions.activeVideo != null ? cameraOptions.activeVideo : true, + sendAudio: cameraOptions.audio, + sendVideo: cameraOptions.video, + activeAudio: cameraOptions.audioActive != null ? cameraOptions.audioActive : true, + activeVideo: cameraOptions.videoActive != null ? cameraOptions.videoActive : true, data: true, mediaConstraints: { video: screenConstraints.video, @@ -138,8 +142,8 @@ export class OpenVidu { cameraOptions = { sendAudio: cameraOptions.audio != null ? cameraOptions.audio : true, sendVideo: cameraOptions.video != null ? cameraOptions.video : true, - activeAudio: cameraOptions.activeAudio != null ? cameraOptions.activeAudio : true, - activeVideo: cameraOptions.activeVideo != null ? cameraOptions.activeVideo : true, + activeAudio: cameraOptions.audioActive != null ? cameraOptions.audioActive : true, + activeVideo: cameraOptions.videoActive != null ? cameraOptions.videoActive : true, data: true, mediaConstraints: { video: screenConstraints.video, diff --git a/openvidu-browser/ts/OpenVidu/Publisher.ts b/openvidu-browser/ts/OpenVidu/Publisher.ts index 34dcad07..fd398232 100644 --- a/openvidu-browser/ts/OpenVidu/Publisher.ts +++ b/openvidu-browser/ts/OpenVidu/Publisher.ts @@ -67,6 +67,16 @@ export class Publisher { } callback(event); }); + if (eventName == 'streamCreated') { + if (this.stream.isPublisherPublished) { + this.ee.emitEvent('streamCreated', [{ stream: this.stream }]); + } else { + this.stream.addEventListener('stream-created-by-publisher', () => { + console.warn('Publisher emitting streamCreated'); + this.ee.emitEvent('streamCreated', [{ stream: this.stream }]); + }); + } + } if (eventName == 'videoElementCreated') { if (this.stream.isVideoELementCreated) { this.ee.emitEvent('videoElementCreated', [{ diff --git a/openvidu-browser/ts/OpenViduInternal/Stream.ts b/openvidu-browser/ts/OpenViduInternal/Stream.ts index 87d1e0d7..278d4a6d 100644 --- a/openvidu-browser/ts/OpenViduInternal/Stream.ts +++ b/openvidu-browser/ts/OpenViduInternal/Stream.ts @@ -78,7 +78,8 @@ export class Stream { private videoSrcObject: MediaStream | null; private parentId: string; - public isReady: boolean = false; + public isReadyToPublish: boolean = false; + public isPublisherPublished: boolean = false; public isVideoELementCreated: boolean = false; public accessIsAllowed: boolean = false; public accessIsDenied: boolean = false; @@ -253,8 +254,6 @@ export class Stream { playOnlyVideo(parentElement, thumbnailId) { - // TO-DO: check somehow if the stream is audio only, so the element created is