From b726b9604fb2dd47bedbe841839ff088420ace6f Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Mon, 17 Apr 2017 18:38:46 +0200 Subject: [PATCH] 'checkSystemRequirements()' method supported. adapter.js updated to 3.3.2 --- .../src/main/resources/package.json | 2 +- .../ts/OpenViduTokBox/OpenViduTokBox.ts | 49 ++++++++++++++----- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/openvidu-browser/src/main/resources/package.json b/openvidu-browser/src/main/resources/package.json index 8710cc60..e1a3b151 100644 --- a/openvidu-browser/src/main/resources/package.json +++ b/openvidu-browser/src/main/resources/package.json @@ -17,7 +17,7 @@ "kurento-jsonrpc": "5.1.3", "wolfy87-eventemitter": "4.2.9", "@types/wolfy87-eventemitter": "4.2.31", - "webrtc-adapter": "3.2.0", + "webrtc-adapter": "3.3.2", "kurento-utils": "6.6.1", "uuid": "~2.0.1", "sdp-translator": "^0.1.15" diff --git a/openvidu-browser/src/main/resources/ts/OpenViduTokBox/OpenViduTokBox.ts b/openvidu-browser/src/main/resources/ts/OpenViduTokBox/OpenViduTokBox.ts index da8b4b8f..b1a452bc 100644 --- a/openvidu-browser/src/main/resources/ts/OpenViduTokBox/OpenViduTokBox.ts +++ b/openvidu-browser/src/main/resources/ts/OpenViduTokBox/OpenViduTokBox.ts @@ -19,6 +19,12 @@ import { OpenVidu } from '../OpenVidu/OpenVidu'; import { SessionTokBox } from './SessionTokBox'; import { PublisherTokBox } from './PublisherTokBox'; +import * as adapter from 'webrtc-adapter'; + +if (window) { + window["adapter"] = adapter; +} + export class OpenViduTokBox { openVidu: OpenVidu; @@ -31,30 +37,47 @@ export class OpenViduTokBox { initSession(sessionId: string): SessionTokBox; initSession(param1, param2?): any { - if (typeof param2 == "string") { - return new SessionTokBox(this.openVidu.initSession(param2), this); + if (this.checkSystemRequirements()){ + if (typeof param2 == "string") { + return new SessionTokBox(this.openVidu.initSession(param2), this); + } else { + return new SessionTokBox(this.openVidu.initSession(param1), this); + } } else { - return new SessionTokBox(this.openVidu.initSession(param1), this); + alert("Browser not supported"); } } initPublisher(parentId: string, cameraOptions: any): PublisherTokBox; initPublisher(parentId: string, cameraOptions: any, callback: any): PublisherTokBox; - initPublisher(parentId: string, cameraOptions: any, callback?): PublisherTokBox { - if (!("audio" in cameraOptions && "data" in cameraOptions && "mediaConstraints" in cameraOptions && - "video" in cameraOptions && (Object.keys(cameraOptions).length === 4))) { - cameraOptions = { - audio: true, - video: true, - data: true, - mediaConstraints: { + initPublisher(parentId: string, cameraOptions: any, callback?): any { + if (this.checkSystemRequirements()){ + if (!("audio" in cameraOptions && "data" in cameraOptions && "mediaConstraints" in cameraOptions && + "video" in cameraOptions && (Object.keys(cameraOptions).length === 4))) { + cameraOptions = { audio: true, - video: { width: { ideal: 1280 } } + video: true, + data: true, + mediaConstraints: { + audio: true, + video: { width: { ideal: 1280 } } + } } } + return new PublisherTokBox(this.openVidu.initPublisherTagged(parentId, cameraOptions, callback)); + } else { + alert("Browser not supported"); } - return new PublisherTokBox(this.openVidu.initPublisherTagged(parentId, cameraOptions, callback)); } + checkSystemRequirements(): number { + let browser = adapter.browserDetails.browser; + let version = adapter.browserDetails.version; + if ((version == null) && ((browser != 'chrome') && (browser != 'firefox') && (browser != 'edge') && (browser != 'safari'))) { + return 0; + } else { + return 1; + } + } }