openvidu-browser RpcBuilder import in OpenVidu.ts change to 'require'

pull/73/head
pabloFuente 2018-06-04 14:33:57 +02:00
parent 6939ca3a9c
commit 3066662ef4
38 changed files with 282 additions and 1192 deletions

View File

@ -79,5 +79,5 @@ export declare class LocalRecorder {
* @returns A Promise (to which you can optionally subscribe to) that is resolved with the `http.responseText` from server if the operation was successful and rejected with the failed `http.status` if not:
*/
uploadAsMultipartfile(endpoint: string, headers?: any): Promise<any>;
private onStopDefault();
private onStopDefault;
}

File diff suppressed because one or more lines are too long

View File

@ -1,18 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var MediaElement = (function () {
function MediaElement() {
}
MediaElement.prototype.on = function (type, handler) {
throw new Error("Method not implemented.");
};
MediaElement.prototype.once = function (type, handler) {
throw new Error("Method not implemented.");
};
MediaElement.prototype.off = function (type, handler) {
throw new Error("Method not implemented.");
};
return MediaElement;
}());
exports.MediaElement = MediaElement;
//# sourceMappingURL=MediaElement.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"MediaElement.js","sourceRoot":"","sources":["../../src/OpenVidu/MediaElement.ts"],"names":[],"mappings":";;AAuBA;IAAA;IAaA,CAAC;IAXG,yBAAE,GAAF,UAAG,IAAY,EAAE,OAA+B;QAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,2BAAI,GAAJ,UAAK,IAAY,EAAE,OAA+B;QAC9C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,0BAAG,GAAH,UAAI,IAAY,EAAE,OAA8C;QAC5D,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACL,mBAAC;AAAD,CAAC,AAbD,IAaC;AAbY,oCAAY"}

View File

@ -1,81 +0,0 @@
import { Stream } from './Stream';
import { EventDispatcher } from '../OpenViduInternal/Interfaces/Public/EventDispatcher';
import { Event } from '../OpenViduInternal/Events/Event';
import { VideoInsertMode } from '../OpenViduInternal/Enums/VideoInsertMode';
import EventEmitter = require('wolfy87-eventemitter');
/**
* Interface in charge of displaying the media streams in the HTML DOM. This wraps any Publisher and Subscriber object, as well as
* any extra representation in the DOM you assign to some Stream by calling [[Stream.addVideoElement]].
*
* The use of this interface is useful when you don't need to differentiate between streams and just want to directly manage videos
*/
export declare class MediaManager implements EventDispatcher {
/**
* The Stream represented in the DOM by the MediaManager
*/
stream: Stream;
/**
* Whether the MediaManager is representing in the DOM a local Stream ([[Publisher]]) or a remote Stream ([[Subscriber]])
*/
remote: boolean;
/**
* The DOM HTMLElement assigned as target element when initializing the MediaManager. This property is defined when [[OpenVidu.initPublisher]]
* or [[Session.subscribe]] methods have been called passing a valid `targetElement` parameter. It is undefined when [[OpenVidu.initPublisher]]
* or [[Session.subscribe]] methods have been called passing *null* or *undefined* as `targetElement` parameter or when the MediaManager hass been
* created by calling [[Stream.addVideoElement]]
*/
targetElement?: HTMLElement;
/**
* The DOM HTMLVideoElement displaying the MediaManager's stream
*/
video: HTMLVideoElement;
/**
* `id` attribute of the DOM HTMLVideoElement displaying the MediaManager's stream
*/
id: string;
/**
* @hidden
*/
isVideoElementCreated: boolean;
/**
* @hidden
*/
protected ee: EventEmitter;
/**
* @hidden
*/
protected customEe: EventEmitter;
/**
* @hidden
*/
constructor(stream: Stream, targetElement?: HTMLElement | string);
/**
* See [[EventDispatcher.on]]
*/
on(type: string, handler: (event: Event) => void): EventDispatcher;
/**
* See [[EventDispatcher.once]]
*/
once(type: string, handler: (event: Event) => void): MediaManager;
/**
* See [[EventDispatcher.off]]
*/
off(type: string, handler?: (event: Event) => void): MediaManager;
/**
* @hidden
*/
insertVideo(targetElement?: HTMLElement, insertMode?: VideoInsertMode): HTMLVideoElement;
/**
* @hidden
*/
insertVideoWithMode(insertMode: VideoInsertMode): void;
/**
* @hidden
*/
removeVideo(): void;
/**
* @hidden
*/
addOnCanPlayEvent(): void;
private mirrorVideo();
}

View File

@ -1,242 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var VideoElementEvent_1 = require("../OpenViduInternal/Events/VideoElementEvent");
var VideoInsertMode_1 = require("../OpenViduInternal/Enums/VideoInsertMode");
var EventEmitter = require("wolfy87-eventemitter");
var StreamManager = (function () {
function StreamManager(stream, targetElement) {
var _this = this;
this.videos = [];
this.isVideoElementCreated = false;
this.ee = new EventEmitter();
this.customEe = new EventEmitter();
this.stream = stream;
this.stream.streamManager = this;
if (typeof targetElement === 'string') {
var e = document.getElementById(targetElement);
if (!!e) {
this.targetElement = e;
}
}
else if (targetElement instanceof HTMLElement) {
this.targetElement = targetElement;
}
else if (!!this.targetElement) {
console.warn("The provided 'targetElement' couldn't be resolved to any HTML element: " + targetElement);
}
this.customEe.on('video-removed', function (element) {
_this.ee.emitEvent('videoElementDestroyed', [new VideoElementEvent_1.VideoElementEvent(element, _this, 'videoElementDestroyed')]);
});
}
StreamManager.prototype.on = function (type, handler) {
var _this = this;
this.ee.on(type, function (event) {
if (event) {
console.info("Event '" + type + "' triggered", event);
}
else {
console.info("Event '" + type + "' triggered");
}
handler(event);
});
if (type === 'videoElementCreated') {
if (!!this.stream && this.isVideoElementCreatedAsync) {
this.isVideoElementCreated = false;
this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(this.videos[0], this, 'videoElementCreated')]);
}
else {
this.customEe.on('video-element-created', function (element) {
_this.id = element.id;
_this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoElementCreated')]);
});
}
}
if (type === 'videoPlaying') {
if (!this.stream.displayMyRemote() && !!this.video &&
this.video.currentTime > 0 &&
this.video.paused === false &&
this.video.ended === false &&
this.video.readyState === 4) {
this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(this.videos[0], this, 'videoPlaying')]);
}
else {
this.customEe.on('video-is-playing', function (element) {
_this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoPlaying')]);
});
}
}
return this;
};
StreamManager.prototype.once = function (type, handler) {
var _this = this;
this.ee.once(type, function (event) {
if (event) {
console.info("Event '" + type + "' triggered once", event);
}
else {
console.info("Event '" + type + "' triggered once");
}
handler(event);
});
if (type === 'videoElementCreated') {
if (!!this.stream && this.isVideoElementCreated) {
this.isVideoElementCreated = false;
this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(this.videos[0], this, 'videoElementCreated')]);
}
else {
this.customEe.once('video-element-created', function (element) {
_this.id = element.id;
_this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoElementCreated')]);
});
}
}
if (type === 'videoPlaying') {
if (!this.stream.displayMyRemote() && this.video &&
this.video.currentTime > 0 &&
this.video.paused === false &&
this.video.ended === false &&
this.video.readyState === 4) {
this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(this.video, this, 'videoPlaying')]);
}
else {
this.customEe.once('video-is-playing', function (element) {
_this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoPlaying')]);
});
}
}
return this;
};
StreamManager.prototype.off = function (type, handler) {
if (!handler) {
this.ee.removeAllListeners(type);
}
else {
this.ee.off(type, handler);
}
return this;
};
StreamManager.prototype.addVideoElement = function (video) {
this.initializeVideoProperties(video);
video.srcObject = this.stream.getMediaStream();
video.autoplay = true;
video.muted = this.stream.isLocal() ? true : false;
this.remote = !this.stream.isLocal();
streamManager.id = video.id;
};
StreamManager.prototype.createVideoElement = function (targetElement, insertMode) {
var tar;
if (typeof targetElement === 'string') {
var e = document.getElementById(targetElement);
if (!!e) {
tar = e;
}
else {
console.error("The provided 'targetElement' couldn't be resolved to any HTML element: " + targetElement);
return;
}
}
else if (targetElement instanceof HTMLElement) {
tar = targetElement;
}
else if (!!this.targetElement) {
console.error("The provided 'targetElement' couldn't be resolved to any HTML element: " + targetElement);
return;
}
this.insertVideo(tar, insertMode);
};
StreamManager.prototype.insertVideo = function (targetElement, insertMode) {
if (!!targetElement) {
var video = document.createElement('video');
this.initializeVideoProperties(video);
this.targetElement = targetElement;
var insMode = !!insertMode ? insertMode : VideoInsertMode_1.VideoInsertMode.APPEND;
this.insertVideoElementWithMode(video, insMode);
this.videos.push(video);
this.stream.session.videos[this.stream.connection.connectionId].push(video);
this.customEe.emitEvent('video-element-created', [{
element: video
}]);
this.isVideoElementCreated = true;
}
if (this.stream.isLocal()) {
this.stream.isLocalStreamReadyToPublish = true;
this.stream.ee.emitEvent('stream-ready-to-publish', []);
}
};
StreamManager.prototype.initializeVideoProperties = function (video) {
video.srcObject = this.stream.getMediaStream();
video.autoplay = true;
video.controls = false;
if (!video.id) {
video.id = (this.stream.isLocal() ? 'local-' : 'remote-') + 'video-' + this.stream.streamId;
}
if (this.stream.isLocal() && !this.stream.displayMyRemote()) {
video.muted = true;
if (this.stream.outboundStreamOpts.publisherProperties.mirror) {
this.mirrorVideo(video);
}
this.addOnCanPlayLocalVideoEvent(video);
}
};
StreamManager.prototype.insertVideoElementWithMode = function (video, insertMode) {
if (!!this.targetElement) {
switch (insertMode) {
case VideoInsertMode_1.VideoInsertMode.AFTER:
this.targetElement.parentNode.insertBefore(video, this.targetElement.nextSibling);
break;
case VideoInsertMode_1.VideoInsertMode.APPEND:
this.targetElement.appendChild(video);
break;
case VideoInsertMode_1.VideoInsertMode.BEFORE:
this.targetElement.parentNode.insertBefore(video, this.targetElement);
break;
case VideoInsertMode_1.VideoInsertMode.PREPEND:
this.targetElement.insertBefore(video, this.targetElement.childNodes[0]);
break;
case VideoInsertMode_1.VideoInsertMode.REPLACE:
this.targetElement.parentNode.replaceChild(video, this.targetElement);
break;
default:
this.insertVideoElementWithMode(video, VideoInsertMode_1.VideoInsertMode.APPEND);
}
}
};
StreamManager.prototype.removeVideos = function () {
var _this = this;
this.videos.forEach(function (video) {
video.parentNode.removeChild(video);
_this.customEe.emitEvent('video-removed', [video]);
});
this.videos = [];
delete this.stream.session.videos[this.stream.connection.connectionId];
};
StreamManager.prototype.addOnCanPlayLocalVideoEvent = function (video) {
var _this = this;
video.oncanplay = function () {
if (_this.stream.isLocal() && _this.stream.displayMyRemote()) {
console.info("Your own remote 'Stream' with id [" + _this.stream.streamId + '] video is now playing');
_this.customEe.emitEvent('remote-video-is-playing', [{
element: video
}]);
}
else if (!_this.stream.isLocal() && !_this.stream.displayMyRemote()) {
console.info("Remote 'Stream' with id [" + _this.stream.streamId + '] video is now playing');
_this.customEe.emitEvent('video-is-playing', [{
element: video
}]);
}
};
};
StreamManager.prototype.updateMediaStream = function (mediaStream) {
this.videos.forEach(function (video) {
video.srcObject = mediaStream;
});
};
StreamManager.prototype.mirrorVideo = function (video) {
video.style.transform = 'rotateY(180deg)';
video.style.webkitTransform = 'rotateY(180deg)';
};
return StreamManager;
}());
exports.StreamManager = StreamManager;
//# sourceMappingURL=MediaManager.js.map

File diff suppressed because one or more lines are too long

View File

@ -152,8 +152,8 @@ export declare class OpenVidu {
* @hidden
*/
getRecorder(): boolean;
private disconnectCallback();
private reconnectingCallback();
private reconnectedCallback();
private isRoomAvailable();
private disconnectCallback;
private reconnectingCallback;
private reconnectedCallback;
private isRoomAvailable;
}

View File

@ -21,9 +21,9 @@ var Publisher_1 = require("./Publisher");
var Session_1 = require("./Session");
var OpenViduError_1 = require("../OpenViduInternal/Enums/OpenViduError");
var VideoInsertMode_1 = require("../OpenViduInternal/Enums/VideoInsertMode");
var RpcBuilder = require("../OpenViduInternal/KurentoUtils/kurento-jsonrpc");
var screenSharingAuto = require("../OpenViduInternal/ScreenSharing/Screen-Capturing-Auto");
var screenSharing = require("../OpenViduInternal/ScreenSharing/Screen-Capturing");
var RpcBuilder = require("../OpenViduInternal/KurentoUtils/kurento-jsonrpc");
var platform = require("platform");
/**
* Entrypoint of OpenVidu Browser library.

File diff suppressed because one or more lines are too long

View File

@ -66,6 +66,6 @@ export declare class Publisher extends StreamManager {
* @hidden
*/
reestablishStreamPlayingEvent(): void;
private setPermissionDialogTimer(waitTime);
private clearPermissionDialogTimer(startTime, waitTime);
private setPermissionDialogTimer;
private clearPermissionDialogTimer;
}

View File

@ -223,9 +223,9 @@ export declare class Session implements EventDispatcher {
* @hidden
*/
leave(forced: boolean, reason: string): void;
private connectAux(token);
private stringClientMetadata(metadata);
private getConnection(connectionId, errorMessage);
private getRemoteConnection(connectionId, errorMessage);
private processToken(token);
private connectAux;
private stringClientMetadata;
private getConnection;
private getRemoteConnection;
private processToken;
}

View File

@ -151,11 +151,11 @@ export declare class Stream {
* @hidden
*/
disableSpeakingEvents(): void;
private initWebRtcPeerSend();
private initWebRtcPeerReceive();
private processSdpAnswer(sdpAnswer);
private initWebRtcStats();
private stopWebRtcStats();
private initWebRtcPeerSend;
private initWebRtcPeerReceive;
private processSdpAnswer;
private initWebRtcStats;
private stopWebRtcStats;
/**
* @hidden
*/

View File

@ -119,6 +119,6 @@ export declare class StreamManager implements EventDispatcher {
* @hidden
*/
updateMediaStream(mediaStream: MediaStream): void;
private pushNewStreamManagerVideo(streamManagerVideo);
private mirrorVideo(video);
private pushNewStreamManagerVideo;
private mirrorVideo;
}

File diff suppressed because one or more lines are too long

View File

@ -2,5 +2,5 @@ export declare enum LocalRecorderState {
READY = "READY",
RECORDING = "RECORDING",
PAUSED = "PAUSED",
FINISHED = "FINISHED",
FINISHED = "FINISHED"
}

View File

@ -64,7 +64,7 @@ export declare enum OpenViduErrorName {
/**
* _Not in use yet_
*/
GENERIC_ERROR = "GENERIC_ERROR",
GENERIC_ERROR = "GENERIC_ERROR"
}
/**
* Simple object to identify runtime errors on the client side

View File

@ -21,5 +21,5 @@ export declare enum VideoInsertMode {
/**
* Video replaces target element
*/
REPLACE = "REPLACE",
REPLACE = "REPLACE"
}

View File

@ -1,22 +0,0 @@
import { Event } from './Event';
import { Stream } from '../../OpenVidu/Stream';
/**
* Defines the following events:
* - `mediaStreamSet`: dispatched by [[Stream]]
*
* This is useful if you decide to manage the DOM video elements on your own instead of letting OpenVidu take care of them (passing _null_ or _undefined_ as `targetElement` on [[OpenVidu.initPublisher]] or [[Session.subscribe]])
*/
export declare class MediaStreamSetEvent extends Event {
/**
* The [MediaStream](https://developer.mozilla.org/en-US/docs/Web/API/MediaStream) object recently initialized in the [[Stream]] object. You can directly set `HTMLMediaElement.srcObject = MediaStreamEvent.mediaStream;`
*/
mediaStream: MediaStream;
/**
* @hidden
*/
constructor(mediaStream: MediaStream, target: Stream);
/**
* @hidden
*/
callDefaultBehaviour(): void;
}

View File

@ -1,54 +0,0 @@
"use strict";
/*
* (C) Copyright 2017-2018 OpenVidu (https://openvidu.io/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var Event_1 = require("./Event");
/**
* Defines the following events:
* - `mediaStreamSet`: dispatched by [[Stream]]
*
* This is useful if you decide to manage the DOM video elements on your own instead of letting OpenVidu take care of them (passing _null_ or _undefined_ as `targetElement` on [[OpenVidu.initPublisher]] or [[Session.subscribe]])
*/
var MediaStreamSetEvent = /** @class */ (function (_super) {
__extends(MediaStreamSetEvent, _super);
/**
* @hidden
*/
function MediaStreamSetEvent(mediaStream, target) {
var _this = _super.call(this, false, target, 'mediaStreamSet') || this;
_this.mediaStream = mediaStream;
return _this;
}
/**
* @hidden
*/
// tslint:disable-next-line:no-empty
MediaStreamSetEvent.prototype.callDefaultBehaviour = function () { };
return MediaStreamSetEvent;
}(Event_1.Event));
exports.MediaStreamSetEvent = MediaStreamSetEvent;
//# sourceMappingURL=MediaStreamSetEvent.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"MediaStreamSetEvent.js","sourceRoot":"","sources":["../../../src/OpenViduInternal/Events/MediaStreamSetEvent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAEH,iCAAgC;AAIhC;;;;;GAKG;AACH;IAAyC,uCAAK;IAO1C;;OAEG;IACH,6BAAY,WAAwB,EAAE,MAAc;QAApD,YACI,kBAAM,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,SAEzC;QADG,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;;IACnC,CAAC;IAED;;OAEG;IACH,oCAAoC;IACpC,kDAAoB,GAApB,cAAyB,CAAC;IAE9B,0BAAC;AAAD,CAAC,AArBD,CAAyC,aAAK,GAqB7C;AArBY,kDAAmB"}

View File

@ -1,17 +0,0 @@
import { Event } from './Event';
import { Session } from '../..';
export declare class SessionDisconnectEvent extends Event {
/**
* - "disconnect"
* - "networkDisconnect"
*/
reason: string;
/**
* @hidden
*/
constructor(target: Session, reason: string);
/**
* @hidden
*/
callDefaultBehaviour(): void;
}

View File

@ -1,61 +0,0 @@
"use strict";
/*
* (C) Copyright 2017-2018 OpenVidu (http://openvidu.io/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var Event_1 = require("./Event");
var SessionDisconnectEvent = /** @class */ (function (_super) {
__extends(SessionDisconnectEvent, _super);
/**
* @hidden
*/
function SessionDisconnectEvent(target, reason) {
var _this = _super.call(this, true, target, 'sessionDisconnected') || this;
_this.reason = reason;
return _this;
}
/**
* @hidden
*/
SessionDisconnectEvent.prototype.callDefaultBehaviour = function () {
console.info("Calling default behaviour upon '" + this.type + "' event dispatched by 'Session'");
var session = this.target;
// Dispose and delete all remote Connections
for (var connectionId in session.remoteConnections) {
if (!!session.remoteConnections[connectionId].stream) {
session.remoteConnections[connectionId].stream.disposeWebRtcPeer();
session.remoteConnections[connectionId].stream.disposeMediaStream();
session.remoteConnections[connectionId].stream.removeVideo();
delete session.remoteStreamsCreated[session.remoteConnections[connectionId].stream.streamId];
session.remoteConnections[connectionId].dispose();
}
delete session.remoteConnections[connectionId];
}
};
return SessionDisconnectEvent;
}(Event_1.Event));
exports.SessionDisconnectEvent = SessionDisconnectEvent;
//# sourceMappingURL=SessionDisconnectEvent.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"SessionDisconnectEvent.js","sourceRoot":"","sources":["../../../src/OpenViduInternal/Events/SessionDisconnectEvent.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAEH,iCAAgC;AAGhC;IAA4C,0CAAK;IAQ7C;;OAEG;IACH,gCAAY,MAAe,EAAE,MAAc;QAA3C,YACI,kBAAM,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,SAE7C;QADG,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;IACzB,CAAC;IAED;;OAEG;IACH,qDAAoB,GAApB;QAEI,OAAO,CAAC,IAAI,CAAC,kCAAkC,GAAG,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,CAAC;QAEjG,IAAM,OAAO,GAAY,IAAI,CAAC,MAAM,CAAC;QAErC,4CAA4C;QAC5C,GAAG,CAAC,CAAC,IAAM,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACnD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACnE,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACpE,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC7D,OAAO,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7F,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;YACtD,CAAC;YACD,OAAO,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAEL,6BAAC;AAAD,CAAC,AAtCD,CAA4C,aAAK,GAsChD;AAtCY,wDAAsB"}

View File

@ -1,23 +0,0 @@
import { EventDispatcher } from './EventDispatcher';
import { Stream } from '../../../OpenVidu/Stream';
/**
* Interface representing a media element of the DOM. Can be local ([[Publisher]]) or remote ([[Subscriber]])
*/
export interface MediaElement extends EventDispatcher {
/**
* DOM id of the MediaElement's video
*/
id: string;
/**
* Wheter the MediaElement refers to a local stream ([[Publisher]]) or a remote stream ([[Subscriber]])
*/
remote: boolean;
/**
* The [[Stream]] of the MediaElement
*/
stream: Stream;
/**
* HTML DOM element in which the MediaElement's video has been inserted
*/
element: HTMLElement;
}

View File

@ -1,19 +0,0 @@
"use strict";
/*
* (C) Copyright 2017-2018 OpenVidu (https://openvidu.io/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
exports.__esModule = true;
//# sourceMappingURL=MediaElement.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"MediaElement.js","sourceRoot":"","sources":["../../../../src/OpenViduInternal/Interfaces/Public/MediaElement.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}

View File

@ -1,75 +0,0 @@
import { Stream } from '../../../OpenVidu/Stream';
import { EventDispatcher } from './EventDispatcher';
import { Event } from '../../Events/Event';
import { VideoInsertMode } from '../../Enums/VideoInsertMode';
import EventEmitter = require('wolfy87-eventemitter');
/**
* Interface in charge of displaying the media streams in the HTML DOM. This wraps any Publisher and Subscriber object, as well as
* any extra representation in the DOM you assign to some Stream by calling [[Stream.addVideoElement]].
*
* The use of this interface is useful when you don't need to differentiate between streams and just want to directly manage videos
*/
export declare class MediaManager implements EventDispatcher {
/**
* The Stream represented in the DOM by the MediaManager
*/
stream: Stream;
/**
* Whether the MediaManager is representing in the DOM a local Stream ([[Publisher]]) or a remote Stream ([[Subscriber]])
*/
remote: boolean;
/**
* The DOM HTMLElement assigned as targetElement when initializing the MediaManager. This property is defined when [[OpenVidu.initPublisher]]
* or [[Session.subscribe]] methods have been called passing a valid `targetElement` parameter. It is undefined when [[OpenVidu.initPublisher]]
* or [[Session.subscribe]] methods have been called passing *null* or *undefined* as `targetElement` parameter or when the MediaManager hass been
* created by calling [[Stream.addVideoElement]]
*/
targetElement?: HTMLElement;
/**
* The DOM HTMLVideoElement displaying the MediaManager's stream
*/
video: HTMLVideoElement;
/**
* `id` attribute of the DOM HTMLVideoElement displaying the MediaManager's stream
*/
id: string;
/**
* @hidden
*/
isVideoElementCreated: boolean;
protected ee: EventEmitter;
protected customEe: EventEmitter;
/**
* @hidden
*/
constructor(stream: Stream, targetElement?: HTMLElement | string);
/**
* See [[EventDispatcher.on]]
*/
on(type: string, handler: (event: Event) => void): EventDispatcher;
/**
* See [[EventDispatcher.once]]
*/
once(type: string, handler: (event: Event) => void): MediaManager;
/**
* See [[EventDispatcher.off]]
*/
off(type: string, handler?: (event: Event) => void): MediaManager;
/**
* @hidden
*/
insertVideo(targetElement?: HTMLElement, insertMode?: VideoInsertMode): HTMLVideoElement;
/**
* @hidden
*/
insertVideoWithMode(insertMode: VideoInsertMode): void;
/**
* @hidden
*/
removeVideo(): void;
/**
* @hidden
*/
addOnCanPlayEvent(): void;
private mirrorVideo();
}

View File

@ -1,261 +0,0 @@
"use strict";
/*
* (C) Copyright 2017-2018 OpenVidu (https://openvidu.io/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
exports.__esModule = true;
var VideoInsertMode_1 = require("../../Enums/VideoInsertMode");
var VideoElementEvent_1 = require("../../Events/VideoElementEvent");
var EventEmitter = require("wolfy87-eventemitter");
/**
* Interface in charge of displaying the media streams in the HTML DOM. This wraps any Publisher and Subscriber object, as well as
* any extra representation in the DOM you assign to some Stream by calling [[Stream.addVideoElement]].
*
* The use of this interface is useful when you don't need to differentiate between streams and just want to directly manage videos
*/
var MediaManager = /** @class */ (function () {
/**
* @hidden
*/
function MediaManager(stream, targetElement) {
var _this = this;
/**
* @hidden
*/
this.isVideoElementCreated = false;
this.ee = new EventEmitter();
this.customEe = new EventEmitter();
this.stream = stream;
this.stream.mediaManagers.push(this);
if (typeof targetElement === 'string') {
var e = document.getElementById(targetElement);
if (!!e) {
this.targetElement = e;
}
}
else if (targetElement instanceof HTMLElement) {
this.targetElement = targetElement;
}
if (!this.targetElement) {
console.warn("The provided 'targetElement' couldn't be resolved to any HTML element: " + targetElement);
}
this.customEe.on('video-removed', function (element) {
_this.ee.emitEvent('videoElementDestroyed', [new VideoElementEvent_1.VideoElementEvent(element, _this, 'videoElementDestroyed')]);
});
}
/**
* See [[EventDispatcher.on]]
*/
MediaManager.prototype.on = function (type, handler) {
var _this = this;
this.ee.on(type, function (event) {
if (event) {
console.info("Event '" + type + "' triggered", event);
}
else {
console.info("Event '" + type + "' triggered");
}
handler(event);
});
if (type === 'videoElementCreated') {
if (!!this.stream && this.isVideoElementCreated) {
this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(this.video, this, 'videoElementCreated')]);
}
else {
this.customEe.on('video-element-created', function (element) {
_this.id = element.id;
_this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoElementCreated')]);
});
}
}
if (type === 'videoPlaying') {
if (!this.stream.displayMyRemote() && !!this.video &&
this.video.currentTime > 0 &&
this.video.paused === false &&
this.video.ended === false &&
this.video.readyState === 4) {
this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(this.video, this, 'videoPlaying')]);
}
else {
this.customEe.once('video-is-playing', function (element) {
_this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoPlaying')]);
});
}
}
return this;
};
/**
* See [[EventDispatcher.once]]
*/
MediaManager.prototype.once = function (type, handler) {
var _this = this;
this.ee.once(type, function (event) {
if (event) {
console.info("Event '" + type + "' triggered once", event);
}
else {
console.info("Event '" + type + "' triggered once");
}
handler(event);
});
if (type === 'videoElementCreated') {
if (!!this.stream && this.isVideoElementCreated) {
this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(this.video, this, 'videoElementCreated')]);
}
else {
this.customEe.once('video-element-created', function (element) {
_this.id = element.id;
_this.ee.emitEvent('videoElementCreated', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoElementCreated')]);
});
}
}
if (type === 'videoPlaying') {
if (!this.stream.displayMyRemote() && this.video &&
this.video.currentTime > 0 &&
this.video.paused === false &&
this.video.ended === false &&
this.video.readyState === 4) {
this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(this.video, this, 'videoPlaying')]);
}
else {
this.customEe.once('video-is-playing', function (element) {
_this.ee.emitEvent('videoPlaying', [new VideoElementEvent_1.VideoElementEvent(element.element, _this, 'videoPlaying')]);
});
}
}
return this;
};
/**
* See [[EventDispatcher.off]]
*/
MediaManager.prototype.off = function (type, handler) {
if (!handler) {
this.ee.removeAllListeners(type);
}
else {
this.ee.off(type, handler);
}
return this;
};
/**
* @hidden
*/
MediaManager.prototype.insertVideo = function (targetElement, insertMode) {
var _this = this;
if (!!targetElement) {
this.video = document.createElement('video');
this.video.id = (this.stream.isLocal() ? 'local-' : 'remote-') + 'video-' + this.stream.streamId;
this.video.autoplay = true;
this.video.controls = false;
this.video.srcObject = this.stream.getMediaStream();
if (this.stream.isLocal() && !this.stream.displayMyRemote()) {
this.video.muted = true;
if (this.stream.outboundStreamOpts.publisherProperties.mirror) {
this.mirrorVideo();
}
this.video.oncanplay = function () {
console.info("Local 'Stream' with id [" + _this.stream.streamId + '] video is now playing');
_this.customEe.emitEvent('video-is-playing', [{
element: _this.video
}]);
};
}
else {
this.video.title = this.stream.streamId;
}
this.targetElement = targetElement;
var insMode = !!insertMode ? insertMode : VideoInsertMode_1.VideoInsertMode.APPEND;
this.insertVideoWithMode(insMode);
this.customEe.emitEvent('video-element-created', [{
element: this.video
}]);
this.isVideoElementCreated = true;
}
this.stream.isReadyToPublish = true;
this.customEe.emitEvent('stream-ready-to-publish');
return this.video;
};
/**
* @hidden
*/
MediaManager.prototype.insertVideoWithMode = function (insertMode) {
if (!!this.targetElement) {
switch (insertMode) {
case VideoInsertMode_1.VideoInsertMode.AFTER:
this.targetElement.parentNode.insertBefore(this.video, this.targetElement.nextSibling);
break;
case VideoInsertMode_1.VideoInsertMode.APPEND:
this.targetElement.appendChild(this.video);
break;
case VideoInsertMode_1.VideoInsertMode.BEFORE:
this.targetElement.parentNode.insertBefore(this.video, this.targetElement);
break;
case VideoInsertMode_1.VideoInsertMode.PREPEND:
this.targetElement.insertBefore(this.video, this.targetElement.childNodes[0]);
break;
case VideoInsertMode_1.VideoInsertMode.REPLACE:
this.targetElement.parentNode.replaceChild(this.video, this.targetElement);
break;
default:
this.insertVideoWithMode(VideoInsertMode_1.VideoInsertMode.APPEND);
}
}
};
/**
* @hidden
*/
MediaManager.prototype.removeVideo = function () {
if (!!this.video) {
var videoDOM = document.getElementById(this.id);
if (!!videoDOM) {
videoDOM.parentNode.removeChild(videoDOM);
this.customEe.emitEvent('video-removed', [this.video]);
}
delete this.video;
}
};
/**
* @hidden
*/
MediaManager.prototype.addOnCanPlayEvent = function () {
var _this = this;
if (!!this.video) {
// let thumbnailId = this.video.thumb;
this.video.oncanplay = function () {
if (_this.stream.isLocal() && _this.stream.displayMyRemote()) {
console.info("Your own remote 'Stream' with id [" + _this.stream.streamId + '] video is now playing');
_this.customEe.emitEvent('remote-video-is-playing', [{
element: _this.video
}]);
}
else if (!_this.stream.isLocal() && !_this.stream.displayMyRemote()) {
console.info("Remote 'Stream' with id [" + _this.stream.streamId + '] video is now playing');
_this.customEe.emitEvent('video-is-playing', [{
element: _this.video
}]);
}
// show(thumbnailId);
// this.hideSpinner(this.streamId);
};
}
};
MediaManager.prototype.mirrorVideo = function () {
this.video.style.transform = 'rotateY(180deg)';
this.video.style.webkitTransform = 'rotateY(180deg)';
};
return MediaManager;
}());
exports.MediaManager = MediaManager;
//# sourceMappingURL=MediaManager.js.map

File diff suppressed because one or more lines are too long

View File

@ -1,3 +0,0 @@
import { PublisherProperties } from './Interfaces/Public/PublisherProperties';
export declare function solveIfCallback(methodName: string, completionHandler: ((error: Error | undefined) => void) | undefined, promise: Promise<any>): Promise<any>;
export declare function adaptPublisherProperties(properties: any): PublisherProperties;

View File

@ -1,79 +0,0 @@
"use strict";
/*
* (C) Copyright 2017-2018 OpenVidu (https://openvidu.io/)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
exports.__esModule = true;
var VideoInsertMode_1 = require("./Enums/VideoInsertMode");
function solveIfCallback(methodName, completionHandler, promise) {
if (!!completionHandler) {
console.warn("DEPRECATION WANING: In future releases the 'completionHandler' parameter will be removed from method '" + methodName + "'. Refactor your callbacks to Promise API (see https://openvidu.io/api/openvidu-browser/index.html)");
}
return new Promise(function (resolve, reject) {
if (!!completionHandler && typeof completionHandler === 'function') {
promise.then(function () {
completionHandler(undefined);
})["catch"](function (error) {
completionHandler(error);
});
}
else {
promise.then(function () {
return resolve();
})["catch"](function (error) {
return reject(error);
});
}
});
}
exports.solveIfCallback = solveIfCallback;
function adaptPublisherProperties(properties) {
if ('audio' in properties ||
'video' in properties ||
'audioActive' in properties ||
'videoActive' in properties ||
'quality' in properties ||
'screen' in properties) {
console.warn("DEPRECATION WANING: In future releases the properties passed to 'OpenVidu.initPublisher' method must match PublisherProperties interface (see https://openvidu.io/api/openvidu-browser/interfaces/publisherproperties.html)");
}
var scr = (typeof properties.screen !== 'undefined' && properties.screen === true);
var res = '';
if (typeof properties.quality === 'string') {
switch (properties.quality) {
case 'LOW':
res = '320x240';
break;
case 'MEDIUM':
res = '640x480';
break;
case 'HIGH':
res = '1280x720';
break;
}
}
var publisherProperties = {
audioSource: (typeof properties.audio !== 'undefined' && properties.audio === false) ? false : ((typeof properties.audioSource !== 'undefined') ? properties.audioSource : undefined),
frameRate: (typeof properties.frameRate !== 'undefined') ? properties.frameRate : undefined,
insertMode: (typeof properties.insertMode !== 'undefined') ? properties.insertMode : VideoInsertMode_1.VideoInsertMode.APPEND,
mirror: (typeof properties.mirror !== 'undefined') ? properties.mirror : true,
publishAudio: (typeof properties.audioActive !== 'undefined' && properties.audioActive === false) ? false : (typeof properties.publishAudio !== 'undefined') ? properties.publishAudio : true,
publishVideo: (typeof properties.videoActive !== 'undefined' && properties.videoActive === false) ? false : (typeof properties.publishVideo !== 'undefined') ? properties.publishVideo : true,
resolution: !!res ? res : ((typeof properties.resolution !== 'undefined') ? properties.resolution : '640x480'),
videoSource: scr ? 'screen' : ((typeof properties.video !== 'undefined' && properties.video === false) ? false : ((typeof properties.videoSource !== 'undefined') ? properties.videoSource : undefined))
};
return publisherProperties;
}
exports.adaptPublisherProperties = adaptPublisherProperties;
//# sourceMappingURL=VersionAdapter.js.map

View File

@ -1 +0,0 @@
{"version":3,"file":"VersionAdapter.js","sourceRoot":"","sources":["../../src/OpenViduInternal/VersionAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAGH,2DAA0D;AAE1D,yBAAgC,UAAkB,EAAE,iBAAmE,EAAE,OAAqB;IAE1I,IAAI,CAAC,CAAC,iBAAiB,EAAE;QACrB,OAAO,CAAC,IAAI,CAAC,wGAAwG,GAAG,UAAU,GAAG,qGAAqG,CAAC,CAAC;KAC/O;IAED,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;QAC/B,IAAI,CAAC,CAAC,iBAAiB,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE;YAChE,OAAO,CAAC,IAAI,CAAC;gBACT,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC,OAAK,CAAA,CAAC,UAAA,KAAK;gBACV,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;SACN;aAAM;YACH,OAAO,CAAC,IAAI,CAAC;gBACT,OAAA,OAAO,EAAE;YAAT,CAAS,CACZ,CAAC,OAAK,CAAA,CAAC,UAAA,KAAK;gBACT,OAAA,MAAM,CAAC,KAAK,CAAC;YAAb,CAAa,CAChB,CAAC;SACL;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AArBD,0CAqBC;AAED,kCAAyC,UAAe;IAEpD,IACI,OAAO,IAAI,UAAU;QACrB,OAAO,IAAI,UAAU;QACrB,aAAa,IAAI,UAAU;QAC3B,aAAa,IAAI,UAAU;QAC3B,SAAS,IAAI,UAAU;QACvB,QAAQ,IAAI,UAAU,EACxB;QACE,OAAO,CAAC,IAAI,CAAC,6NAA6N,CAAC,CAAC;KAC/O;IAED,IAAM,GAAG,GAAY,CAAC,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;IAC9F,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE;QACxC,QAAQ,UAAU,CAAC,OAAO,EAAE;YACxB,KAAK,KAAK;gBACN,GAAG,GAAG,SAAS,CAAC;gBAChB,MAAM;YACV,KAAK,QAAQ;gBACT,GAAG,GAAG,SAAS,CAAC;gBAChB,MAAM;YACV,KAAK,MAAM;gBACP,GAAG,GAAG,UAAU,CAAC;gBACjB,MAAM;SACb;KACJ;IAED,IAAM,mBAAmB,GAAG;QACxB,WAAW,EAAE,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QACrL,SAAS,EAAE,CAAC,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC3F,UAAU,EAAE,CAAC,OAAO,UAAU,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,iCAAe,CAAC,MAAM;QAC3G,MAAM,EAAE,CAAC,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QAC7E,YAAY,EAAE,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,IAAI,UAAU,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAC7L,YAAY,EAAE,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,IAAI,UAAU,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI;QAC7L,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,IAAI,UAAU,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;KAC3M,CAAC;IAEF,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAzCD,4DAyCC"}

View File

@ -9,7 +9,7 @@ export declare class WebRtcStats {
isEnabled(): boolean;
initWebRtcStats(): void;
stopWebRtcStats(): void;
private sendStatsToHttpEndpoint(instrumentation);
private standardizeReport(response);
private getStatsAgnostic(pc, successCb, failureCb);
private sendStatsToHttpEndpoint;
private standardizeReport;
private getStatsAgnostic;
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"name": "openvidu-browser",
"version": "2.0.0",
"version": "2.1.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -61,9 +61,9 @@
"dev": true
},
"@types/node": {
"version": "9.6.16",
"resolved": "http://r.cnpmjs.org/@types/node/download/@types/node-9.6.16.tgz",
"integrity": "sha1-ogYWNIwwBid9RYlyrhb+O0OyTsE="
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.0.tgz",
"integrity": "sha512-hWzNviaVFIr1TqcRA8ou49JaSHp+Rfabmnqg2kNvusKqLhPU0rIsGPUj5WJJ7ld4Bb7qdgLmIhLfCD1qS08IVA=="
},
"@types/platform": {
"version": "1.3.1",
@ -81,9 +81,9 @@
}
},
"JSONStream": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz",
"integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=",
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz",
"integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==",
"dev": true,
"requires": {
"jsonparse": "^1.2.0",
@ -105,7 +105,7 @@
"acorn-node": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz",
"integrity": "sha1-X4bXM0Z0OBDvEmm5AdvL3tAghhs=",
"integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==",
"dev": true,
"requires": {
"acorn": "^5.4.1",
@ -113,9 +113,9 @@
},
"dependencies": {
"acorn": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz",
"integrity": "sha1-9HPdR+AnegjijpvsWu6wR1HwuMk=",
"version": "5.6.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.1.tgz",
"integrity": "sha512-XH4o5BK5jmw9PzSGK7mNf+/xV+mPxQxGZoeC36OVsJZYV77JAG9NnI7T90hoUpI/C1TOfXWTvugRdZ9ZR3iE2Q==",
"dev": true
}
}
@ -222,7 +222,7 @@
"asn1.js": {
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=",
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
"dev": true,
"requires": {
"bn.js": "^4.0.0",
@ -237,6 +237,23 @@
"dev": true,
"requires": {
"util": "0.10.3"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
},
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
"inherits": "2.0.1"
}
}
}
},
"astw": {
@ -292,7 +309,7 @@
"base64-js": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
"integrity": "sha1-yrHmEY8FEJXli1KBrqjBzSK/wOM=",
"integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
"dev": true
},
"binary-extensions": {
@ -304,7 +321,7 @@
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
"integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=",
"integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
"dev": true
},
"body": {
@ -349,7 +366,7 @@
"browser-pack": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
"integrity": "sha1-w0uhDQuc4WK1ryJ8cTHJLC7NV3Q=",
"integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
@ -378,9 +395,9 @@
}
},
"browserify": {
"version": "16.1.1",
"resolved": "https://registry.npmjs.org/browserify/-/browserify-16.1.1.tgz",
"integrity": "sha1-eQXsB+AUfE2Q+SABlEBQpuHChE4=",
"version": "16.2.2",
"resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.2.tgz",
"integrity": "sha512-fMES05wq1Oukts6ksGUU2TMVHHp06LyQt0SIwbXIHm7waSrQmNBZePsU0iM/4f94zbvb/wHma+D1YrdzWYnF/A==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
@ -421,7 +438,7 @@
"shell-quote": "^1.6.1",
"stream-browserify": "^2.0.0",
"stream-http": "^2.0.0",
"string_decoder": "~1.0.0",
"string_decoder": "^1.1.1",
"subarg": "^1.0.0",
"syntax-error": "^1.1.1",
"through2": "^2.0.0",
@ -429,14 +446,14 @@
"tty-browserify": "0.0.1",
"url": "~0.11.0",
"util": "~0.10.1",
"vm-browserify": "~0.0.1",
"vm-browserify": "^1.0.0",
"xtend": "^4.0.0"
}
},
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
"dev": true,
"requires": {
"buffer-xor": "^1.0.3",
@ -450,7 +467,7 @@
"browserify-cipher": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
"dev": true,
"requires": {
"browserify-aes": "^1.0.4",
@ -461,7 +478,7 @@
"browserify-des": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz",
"integrity": "sha1-M0MSTbbXrVPiaogmMYcSvchFD5w=",
"integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==",
"dev": true,
"requires": {
"cipher-base": "^1.0.1",
@ -497,7 +514,7 @@
"browserify-zlib": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"dev": true,
"requires": {
"pako": "~1.0.5"
@ -515,7 +532,7 @@
"buffer": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz",
"integrity": "sha1-yRPkNnjHy3yL0Wr7zdtsVQXo+f4=",
"integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==",
"dev": true,
"requires": {
"base64-js": "^1.0.2",
@ -624,7 +641,7 @@
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
@ -740,9 +757,9 @@
"dev": true
},
"create-ecdh": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.1.tgz",
"integrity": "sha1-RCI9/tUzGTululTg31cJuJrPH4I=",
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
"integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
@ -752,7 +769,7 @@
"create-hash": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
"dev": true,
"requires": {
"cipher-base": "^1.0.1",
@ -765,7 +782,7 @@
"create-hmac": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
"dev": true,
"requires": {
"cipher-base": "^1.0.3",
@ -788,7 +805,7 @@
"crypto-browserify": {
"version": "3.12.0",
"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
"integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
"dev": true,
"requires": {
"browserify-cipher": "^1.0.0",
@ -919,7 +936,7 @@
"detective": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
"integrity": "sha1-eiDYkjbXszHM6mWDLnEjtVUbt8s=",
"integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==",
"dev": true,
"requires": {
"acorn-node": "^1.3.0",
@ -936,7 +953,7 @@
"diffie-hellman": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
"integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
"integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
@ -947,7 +964,7 @@
"domain-browser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
"integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=",
"integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
"dev": true
},
"duplexer2": {
@ -1024,15 +1041,15 @@
"dev": true
},
"events": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/events/-/events-2.0.0.tgz",
"integrity": "sha1-y7tWvzqxrBjXHEO7MshiVQYnafI=",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz",
"integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
"dev": true
},
"evp_bytestokey": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"dev": true,
"requires": {
"md5.js": "^1.3.4",
@ -1722,7 +1739,7 @@
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
"gaze": {
@ -1797,9 +1814,9 @@
"dev": true
},
"grunt": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.2.tgz",
"integrity": "sha1-TmpeaVtwRy/VME9fqeNCNoNqc7w=",
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.3.tgz",
"integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==",
"dev": true,
"requires": {
"coffeescript": "~1.10.0",
@ -1810,14 +1827,15 @@
"glob": "~7.0.0",
"grunt-cli": "~1.2.0",
"grunt-known-options": "~1.1.0",
"grunt-legacy-log": "~1.0.0",
"grunt-legacy-util": "~1.0.0",
"grunt-legacy-log": "~2.0.0",
"grunt-legacy-util": "~1.1.1",
"iconv-lite": "~0.4.13",
"js-yaml": "~3.5.2",
"minimatch": "~3.0.2",
"mkdirp": "~0.5.1",
"nopt": "~3.0.6",
"path-is-absolute": "~1.0.0",
"rimraf": "~2.2.8"
"rimraf": "~2.6.2"
},
"dependencies": {
"glob": {
@ -1955,6 +1973,24 @@
"maxmin": "^1.1.0",
"uglify-js": "~3.3.0",
"uri-path": "^1.0.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"uglify-js": {
"version": "3.3.28",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.28.tgz",
"integrity": "sha512-68Rc/aA6cswiaQ5SrE979UJcXX+ADA1z33/ZsPd+fbAiVdjZ16OXdbtGO+rJUUBgK6qdf3SOPhQf3K/ybF5Miw==",
"dev": true,
"requires": {
"commander": "~2.15.0",
"source-map": "~0.6.1"
}
}
}
},
"grunt-contrib-watch": {
@ -1987,55 +2023,81 @@
"dev": true
},
"grunt-legacy-log": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.2.tgz",
"integrity": "sha1-fXRAQmrOd7IG50+ZPjMuKhWjkE4=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
"integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
"dev": true,
"requires": {
"colors": "~1.1.2",
"grunt-legacy-log-utils": "~1.0.0",
"grunt-legacy-log-utils": "~2.0.0",
"hooker": "~0.2.3",
"lodash": "~4.17.5"
}
},
"grunt-legacy-log-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz",
"integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
"integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
"dev": true,
"requires": {
"chalk": "~1.1.1",
"lodash": "~4.3.0"
"chalk": "~2.4.1",
"lodash": "~4.17.10"
},
"dependencies": {
"lodash": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
"integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
"dev": true
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"grunt-legacy-util": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz",
"integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
"integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
"dev": true,
"requires": {
"async": "~1.5.2",
"exit": "~0.1.1",
"getobject": "~0.1.0",
"hooker": "~0.2.3",
"lodash": "~4.3.0",
"underscore.string": "~3.2.3",
"which": "~1.2.1"
"lodash": "~4.17.10",
"underscore.string": "~3.3.4",
"which": "~1.3.0"
},
"dependencies": {
"lodash": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
"integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=",
"dev": true
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
@ -2173,12 +2235,12 @@
}
},
"has": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
"integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.2.tgz",
"integrity": "sha512-D5/WxwX+SrGfs/fiQn34RAoIZkCLJBDEfBWS1kmTI6G/1mtjhxTBiIiJi8EsKhwaQqKqj7lpKOi3i69tg3P+OQ==",
"dev": true,
"requires": {
"function-bind": "^1.0.2"
"function-bind": "^1.1.1"
}
},
"has-ansi": {
@ -2209,7 +2271,7 @@
"hash.js": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
"integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=",
"integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@ -2264,18 +2326,18 @@
"dev": true
},
"iconv-lite": {
"version": "0.4.21",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
"integrity": "sha1-xH+HM9AhcRievEpADzIY00gJR5g=",
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"dev": true,
"requires": {
"safer-buffer": "^2.1.0"
"safer-buffer": ">= 2.1.2 < 3"
}
},
"ieee754": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz",
"integrity": "sha1-wWOE/+APW3g1gk5ntvK9RKUilFU=",
"integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==",
"dev": true
},
"indent-string": {
@ -2287,12 +2349,6 @@
"repeating": "^2.0.0"
}
},
"indexof": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@ -2318,9 +2374,9 @@
}
},
"insert-module-globals": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.6.tgz",
"integrity": "sha1-FaMdnTlOdtCIOLkXMBaRHX/U6hs=",
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.1.0.tgz",
"integrity": "sha512-LbYZdybvKjbbcKLp03lB323Cgc8f0iL0Rjh8U6JZ7K1gZSf7MxQH191iCNUcLX4qIQ6/yWe4Q4ZsQ+opcReNFg==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
@ -2533,7 +2589,7 @@
"labeled-stream-splicer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz",
"integrity": "sha1-nP+jL9meFhL9HYao25YkFtUpKSY=",
"integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
@ -2544,7 +2600,7 @@
"isarray": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz",
"integrity": "sha1-OOe8uw87obeTPIa6GJTd/DeBu7c=",
"integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==",
"dev": true
}
}
@ -2705,7 +2761,7 @@
"miller-rabin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
"integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"dev": true,
"requires": {
"bn.js": "^4.0.0",
@ -2715,7 +2771,7 @@
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
"integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=",
"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
"dev": true
},
"minimalistic-crypto-utils": {
@ -2757,9 +2813,9 @@
}
},
"module-deps": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.0.2.tgz",
"integrity": "sha1-ZgIX0WArhjrI1NFpUaNyDdmqTIA=",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.1.0.tgz",
"integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==",
"dev": true,
"requires": {
"JSONStream": "^1.0.3",
@ -2897,7 +2953,7 @@
"pako": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
"integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=",
"integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==",
"dev": true
},
"parents": {
@ -2912,7 +2968,7 @@
"parse-asn1": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
"integrity": "sha1-9r8pOBgzK9DatU77Fgh3JHRebKg=",
"integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
"dev": true,
"requires": {
"asn1.js": "^4.0.0",
@ -2990,7 +3046,7 @@
"pbkdf2": {
"version": "3.0.16",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz",
"integrity": "sha1-dAQgjsawG2LYW/g4U6gGT42cKlw=",
"integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==",
"dev": true,
"requires": {
"create-hash": "^1.1.2",
@ -3085,7 +3141,7 @@
"public-encrypt": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz",
"integrity": "sha1-RuuRByBr9zSJ+LhbadkTNMZhCZQ=",
"integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==",
"dev": true,
"requires": {
"bn.js": "^4.1.0",
@ -3147,7 +3203,7 @@
"randombytes": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
"integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=",
"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
"dev": true,
"requires": {
"safe-buffer": "^5.1.0"
@ -3156,7 +3212,7 @@
"randomfill": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"dev": true,
"requires": {
"randombytes": "^2.0.5",
@ -3324,15 +3380,18 @@
}
},
"rimraf": {
"version": "2.2.8",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
"dev": true
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"requires": {
"glob": "^7.0.5"
}
},
"ripemd160": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"dev": true,
"requires": {
"hash-base": "^3.0.0",
@ -3341,8 +3400,8 @@
},
"rtcpeerconnection-shim": {
"version": "1.2.11",
"resolved": "http://r.cnpmjs.org/rtcpeerconnection-shim/download/rtcpeerconnection-shim-1.2.11.tgz",
"integrity": "sha1-3yskVgIDZdrya/jBNVI7yi3rJSs=",
"resolved": "https://registry.npmjs.org/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.11.tgz",
"integrity": "sha512-Vns4aLKXTrLZCjDOlPZL1nymFiSpqs15TeF+wG1TSLO1kXRrCuT5SjL+Zb8RCP7t3JNfnCuTn+qMlCGQu5NvhQ==",
"requires": {
"sdp": "^2.6.0"
}
@ -3362,7 +3421,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"sax": {
@ -3372,9 +3431,9 @@
"dev": true
},
"sdp": {
"version": "2.7.3",
"resolved": "http://r.cnpmjs.org/sdp/download/sdp-2.7.3.tgz",
"integrity": "sha1-7Rd+tAdKoyE+FQ50qastBq5uXb8="
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/sdp/-/sdp-2.7.4.tgz",
"integrity": "sha512-0+wTfgvUUEGcvvFoHIC0aiGbx6gzwAUm8FkKt5Oqqkjf9mEEDLgwnoDKX7MYTGXrNNwzikVbutJ+OVNAGmJBQw=="
},
"sdp-transform": {
"version": "1.5.3",
@ -3404,7 +3463,7 @@
"sha.js": {
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
@ -3515,14 +3574,14 @@
}
},
"stream-http": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.1.tgz",
"integrity": "sha1-0EQb4aRXpzpzOop7U1cL69nvZqQ=",
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
"integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
"dev": true,
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.3.3",
"readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
}
@ -3544,9 +3603,9 @@
"dev": true
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
@ -3603,7 +3662,7 @@
"syntax-error": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
"integrity": "sha1-LZ1P9cBkrLcRWUo+O5UFStUdkHw=",
"integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
"dev": true,
"requires": {
"acorn-node": "^1.2.0"
@ -3777,7 +3836,7 @@
"tty-browserify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
"integrity": "sha1-PwUlHuF5BN/QZ3VGZw25ZRaCuBE=",
"integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
"dev": true
},
"typedarray": {
@ -3832,9 +3891,9 @@
"dev": true
},
"typescript": {
"version": "2.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz",
"integrity": "sha1-XYF/m28xu4cYNfTt8AifIavmwXA=",
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.1.tgz",
"integrity": "sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA==",
"dev": true
},
"ua-parser-js": {
@ -3843,9 +3902,9 @@
"integrity": "sha1-p7/ZL1bt+xFwg7aeMdKqiILUse0="
},
"uglify-js": {
"version": "3.3.25",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.25.tgz",
"integrity": "sha512-hobogryjDV36VrLK3Y69ou4REyrTApzUblVFmdQOYRe8cYaSmFJXMb4dR9McdvYDSbeNdzUgYr2YVukJaErJcA==",
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.0.tgz",
"integrity": "sha512-Jcf5naPkX3rVPSQpRn9Vm6Rr572I1gTtR9LnqKgXjmOgfYQ/QS0V2WRStFR53Bdj520M66aCZqt9uzYXgtGrJQ==",
"dev": true,
"requires": {
"commander": "~2.15.0",
@ -3870,14 +3929,18 @@
"umd": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
"integrity": "sha1-qp/mU8QrkJdnhInAEACstp8LJs8=",
"integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
"dev": true
},
"underscore.string": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
"integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=",
"dev": true
"version": "3.3.4",
"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
"integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
"dev": true,
"requires": {
"sprintf-js": "^1.0.3",
"util-deprecate": "^1.0.2"
}
},
"universalify": {
"version": "0.1.1",
@ -3910,20 +3973,12 @@
}
},
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"version": "0.10.4",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
"integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
"dev": true,
"requires": {
"inherits": "2.0.1"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
}
"inherits": "2.0.3"
}
},
"util-deprecate": {
@ -3948,18 +4003,15 @@
}
},
"vm-browserify": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
"dev": true,
"requires": {
"indexof": "0.0.1"
}
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.0.1.tgz",
"integrity": "sha512-EqzLchIMYLBjRPoqVsEkZOa/4Vr2RfOWbd58F+I/Gj79AYTrsseMunxbbSkbYfrqZaXSuPBBXNSOhtJgg0PpmA==",
"dev": true
},
"webrtc-adapter": {
"version": "6.1.5",
"resolved": "http://r.cnpmjs.org/webrtc-adapter/download/webrtc-adapter-6.1.5.tgz",
"integrity": "sha1-33Lkr1y2Z1ZWyJbbDRGHaVNZIgs=",
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-6.2.1.tgz",
"integrity": "sha1-TQ7aWS8n1fMojqiuEcEkWsFW1nY=",
"requires": {
"rtcpeerconnection-shim": "^1.2.10",
"sdp": "^2.7.0"

View File

@ -1,52 +1,52 @@
{
"author": "OpenVidu",
"author": "OpenVidu",
"dependencies": {
"@types/node": "^9.6.7",
"@types/platform": "^1.3.1",
"freeice": "2.2.0",
"hark": "1.2.0",
"inherits": "2.0.3",
"merge": "1.2.0",
"platform": "^1.3.5",
"sdp-translator": "0.1.24",
"ua-parser-js": "0.7.18",
"uuid": "3.2.1",
"webrtc-adapter": "6.1.5",
"@types/node": "10.3.0",
"@types/platform": "1.3.1",
"freeice": "2.2.0",
"hark": "1.2.0",
"inherits": "2.0.3",
"merge": "1.2.0",
"platform": "^1.3.5",
"sdp-translator": "0.1.24",
"ua-parser-js": "0.7.18",
"uuid": "3.2.1",
"webrtc-adapter": "6.2.1",
"wolfy87-eventemitter": "5.2.4"
},
"description": "OpenVidu Browser",
},
"description": "OpenVidu Browser",
"devDependencies": {
"browserify": "16.1.1",
"grunt": "1.0.2",
"grunt-autoprefixer": "3.0.4",
"grunt-cli": "1.2.0",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-sass": "1.0.0",
"grunt-contrib-uglify": "3.3.0",
"grunt-contrib-watch": "1.1.0",
"grunt-string-replace": "1.3.1",
"grunt-ts": "6.0.0-beta.19",
"tsify": "4.0.0",
"tslint": "5.10.0",
"typedoc": "0.11.1",
"typedoc-plugin-sourcefile-url": "1.0.3",
"typescript": "2.8.3",
"uglify-js": "3.3.25"
},
"license": "Apache-2.0",
"main": "lib/index.js",
"name": "openvidu-browser",
"browserify": "16.2.2",
"grunt": "1.0.3",
"grunt-autoprefixer": "3.0.4",
"grunt-cli": "1.2.0",
"grunt-contrib-copy": "1.0.0",
"grunt-contrib-sass": "1.0.0",
"grunt-contrib-uglify": "3.3.0",
"grunt-contrib-watch": "1.1.0",
"grunt-string-replace": "1.3.1",
"grunt-ts": "6.0.0-beta.19",
"tsify": "4.0.0",
"tslint": "5.10.0",
"typedoc": "0.11.1",
"typedoc-plugin-sourcefile-url": "1.0.3",
"typescript": "2.9.1",
"uglify-js": "3.4.0"
},
"license": "Apache-2.0",
"main": "lib/index.js",
"name": "openvidu-browser",
"repository": {
"type": "git",
"type": "git",
"url": "git://github.com/OpenVidu/openvidu"
},
},
"scripts": {
"browserify": "VERSION=${VERSION:-}; cd src && browserify Main.ts -p [ tsify ] --exclude kurento-browser-extensions --debug -o ../static/js/openvidu-browser-$VERSION.js -v",
"browserify-prod": "VERSION=${VERSION:-}; cd src && browserify --debug Main.ts -p [ tsify ] --exclude kurento-browser-extensions | uglifyjs --source-map content=inline --output ../static/js/openvidu-browser-$VERSION.min.js",
"build": "cd src/OpenVidu && tsc && cd ../.. && tsc --declaration src/index.ts --outDir ./lib --sourceMap --lib dom,es5,es2015.promise,scripthost",
"docs": "grunt --gruntfile config/typedoc/custom-theme/gruntfile.js && typedoc --options ./config/typedoc/typedoc.js --out ./docs ./src && rm -rf ../../openvidu.io/api/openvidu-browser/* && cp -R ./docs/. ../../openvidu.io/api/openvidu-browser",
"browserify": "VERSION=${VERSION:-}; cd src && browserify Main.ts -p [ tsify ] --exclude kurento-browser-extensions --debug -o ../static/js/openvidu-browser-$VERSION.js -v",
"browserify-prod": "VERSION=${VERSION:-}; cd src && browserify --debug Main.ts -p [ tsify ] --exclude kurento-browser-extensions | uglifyjs --source-map content=inline --output ../static/js/openvidu-browser-$VERSION.min.js",
"build": "cd src/OpenVidu && tsc && cd ../.. && tsc --declaration src/index.ts --outDir ./lib --sourceMap --lib dom,es5,es2015.promise,scripthost",
"docs": "grunt --gruntfile config/typedoc/custom-theme/gruntfile.js && typedoc --options ./config/typedoc/typedoc.js --out ./docs ./src && rm -rf ../../openvidu.io/api/openvidu-browser/* && cp -R ./docs/. ../../openvidu.io/api/openvidu-browser",
"test": "echo \"Error: no test specified\" && exit 1"
},
"types": "lib/index.d.ts",
},
"types": "lib/index.d.ts",
"version": "2.1.0"
}

View File

@ -25,10 +25,10 @@ import { PublisherProperties } from '../OpenViduInternal/Interfaces/Public/Publi
import { OpenViduError, OpenViduErrorName } from '../OpenViduInternal/Enums/OpenViduError';
import { VideoInsertMode } from '../OpenViduInternal/Enums/VideoInsertMode';
import * as RpcBuilder from '../OpenViduInternal/KurentoUtils/kurento-jsonrpc';
import * as screenSharingAuto from '../OpenViduInternal/ScreenSharing/Screen-Capturing-Auto';
import * as screenSharing from '../OpenViduInternal/ScreenSharing/Screen-Capturing';
import RpcBuilder = require('../OpenViduInternal/KurentoUtils/kurento-jsonrpc');
import platform = require('platform');