mirror of https://github.com/OpenVidu/openvidu.git
openvidu-browser: all dependencies updated
parent
da084e2b31
commit
3c1d4fd69f
|
@ -1,31 +1,31 @@
|
|||
{
|
||||
"author": "OpenVidu",
|
||||
"dependencies": {
|
||||
"@types/node": "13.13.2",
|
||||
"@types/platform": "1.3.2",
|
||||
"@types/node": "14.14.7",
|
||||
"@types/platform": "1.3.3",
|
||||
"freeice": "2.2.2",
|
||||
"hark": "1.2.3",
|
||||
"platform": "1.3.5",
|
||||
"uuid": "7.0.3",
|
||||
"platform": "1.3.6",
|
||||
"uuid": "8.3.1",
|
||||
"wolfy87-eventemitter": "5.2.9"
|
||||
},
|
||||
"description": "OpenVidu Browser",
|
||||
"devDependencies": {
|
||||
"browserify": "16.5.1",
|
||||
"grunt": "1.1.0",
|
||||
"browserify": "17.0.0",
|
||||
"grunt": "1.3.0",
|
||||
"grunt-cli": "1.3.2",
|
||||
"grunt-contrib-copy": "1.0.0",
|
||||
"grunt-contrib-sass": "1.0.0",
|
||||
"grunt-contrib-uglify": "4.0.1",
|
||||
"grunt-contrib-sass": "2.0.0",
|
||||
"grunt-contrib-uglify": "5.0.0",
|
||||
"grunt-contrib-watch": "1.1.0",
|
||||
"grunt-postcss": "0.9.0",
|
||||
"grunt-string-replace": "1.3.1",
|
||||
"grunt-ts": "6.0.0-beta.22",
|
||||
"terser": "4.6.11",
|
||||
"tsify": "4.0.1",
|
||||
"tslint": "6.1.1",
|
||||
"typedoc": "0.17.4",
|
||||
"typescript": "3.8.3"
|
||||
"terser": "5.3.8",
|
||||
"tsify": "5.0.2",
|
||||
"tslint": "6.1.3",
|
||||
"typedoc": "0.19.2",
|
||||
"typescript": "4.0.5"
|
||||
},
|
||||
"license": "Apache-2.0",
|
||||
"main": "lib/index.js",
|
||||
|
|
|
@ -71,7 +71,7 @@ export class Connection {
|
|||
/**
|
||||
* @hidden
|
||||
*/
|
||||
stream: Stream;
|
||||
stream?: Stream;
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
|
@ -132,7 +132,7 @@ export class Connection {
|
|||
*/
|
||||
sendIceCandidate(candidate: RTCIceCandidate): void {
|
||||
|
||||
logger.debug((!!this.stream.outboundStreamOpts ? 'Local' : 'Remote') + 'candidate for' +
|
||||
logger.debug((!!this.stream!.outboundStreamOpts ? 'Local' : 'Remote') + 'candidate for' +
|
||||
this.connectionId, candidate);
|
||||
|
||||
this.session.openvidu.sendRequest('onIceCandidate', {
|
||||
|
@ -174,7 +174,7 @@ export class Connection {
|
|||
this.addStream(stream);
|
||||
});
|
||||
|
||||
logger.info("Remote 'Connection' with 'connectionId' [" + this.connectionId + '] is now configured for receiving Streams with options: ', this.stream.inboundStreamOpts);
|
||||
logger.info("Remote 'Connection' with 'connectionId' [" + this.connectionId + '] is now configured for receiving Streams with options: ', this.stream!.inboundStreamOpts);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -119,9 +119,9 @@ export class Filter {
|
|||
} else {
|
||||
logger.info('Filter method successfully executed on Stream ' + this.stream.streamId);
|
||||
const oldValue = (<any>Object).assign({}, this.stream.filter);
|
||||
this.stream.filter.lastExecMethod = { method, params: JSON.parse(stringParams) };
|
||||
this.stream.session.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.stream.session, this.stream, 'filter', this.stream.filter, oldValue, 'execFilterMethod')]);
|
||||
this.stream.streamManager.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.stream.streamManager, this.stream, 'filter', this.stream.filter, oldValue, 'execFilterMethod')]);
|
||||
this.stream.filter!.lastExecMethod = { method, params: JSON.parse(stringParams) };
|
||||
this.stream.session.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.stream.session, this.stream, 'filter', this.stream.filter!, oldValue, 'execFilterMethod')]);
|
||||
this.stream.streamManager.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.stream.streamManager, this.stream, 'filter', this.stream.filter!, oldValue, 'execFilterMethod')]);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ export class LocalRecorder {
|
|||
private connectionId: string;
|
||||
private mediaRecorder: any;
|
||||
private chunks: any[] = [];
|
||||
private blob: Blob;
|
||||
private blob?: Blob;
|
||||
private id: string;
|
||||
private videoPreviewSrc: string;
|
||||
private videoPreview: HTMLVideoElement;
|
||||
|
@ -281,7 +281,7 @@ export class LocalRecorder {
|
|||
if (this.state !== LocalRecorderState.FINISHED) {
|
||||
throw (Error('Call \'LocalRecord.stop()\' before getting Blob file'));
|
||||
} else {
|
||||
return this.blob;
|
||||
return this.blob!;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,7 +351,7 @@ export class LocalRecorder {
|
|||
}
|
||||
|
||||
const sendable = new FormData();
|
||||
sendable.append('file', this.blob, this.id + '.webm');
|
||||
sendable.append('file', this.blob!, this.id + '.webm');
|
||||
|
||||
http.onreadystatechange = () => {
|
||||
if (http.readyState === 4) {
|
||||
|
|
|
@ -127,7 +127,7 @@ export class Publisher extends StreamManager {
|
|||
*/
|
||||
publishAudio(value: boolean): void {
|
||||
if (this.stream.audioActive !== value) {
|
||||
const affectedMediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote : this.stream.getMediaStream();
|
||||
const affectedMediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote! : this.stream.getMediaStream();
|
||||
affectedMediaStream.getAudioTracks().forEach((track) => {
|
||||
track.enabled = value;
|
||||
});
|
||||
|
@ -175,7 +175,7 @@ export class Publisher extends StreamManager {
|
|||
*/
|
||||
publishVideo(value: boolean): void {
|
||||
if (this.stream.videoActive !== value) {
|
||||
const affectedMediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote : this.stream.getMediaStream();
|
||||
const affectedMediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote! : this.stream.getMediaStream();
|
||||
affectedMediaStream.getVideoTracks().forEach((track) => {
|
||||
track.enabled = value;
|
||||
});
|
||||
|
@ -304,7 +304,7 @@ export class Publisher extends StreamManager {
|
|||
replaceTrack(track: MediaStreamTrack): Promise<any> {
|
||||
|
||||
const replaceMediaStreamTrack = () => {
|
||||
const mediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote : this.stream.getMediaStream();
|
||||
const mediaStream: MediaStream = this.stream.displayMyRemote() ? this.stream.localMediaStreamWhenSubscribedToRemote! : this.stream.getMediaStream();
|
||||
let removedTrack: MediaStreamTrack;
|
||||
if (track.kind === 'video') {
|
||||
removedTrack = mediaStream.getVideoTracks()[0];
|
||||
|
|
|
@ -802,12 +802,12 @@ export class Session extends EventDispatcher {
|
|||
|
||||
.then(connection => {
|
||||
|
||||
const streamEvent = new StreamEvent(true, this, 'streamDestroyed', connection.stream, msg.reason);
|
||||
const streamEvent = new StreamEvent(true, this, 'streamDestroyed', connection.stream!, msg.reason);
|
||||
this.ee.emitEvent('streamDestroyed', [streamEvent]);
|
||||
streamEvent.callDefaultBehavior();
|
||||
|
||||
// Deleting the remote stream
|
||||
const streamId: string = connection.stream.streamId;
|
||||
const streamId: string = connection.stream!.streamId;
|
||||
delete this.remoteStreamsCreated[streamId];
|
||||
|
||||
if (Object.keys(this.remoteStreamsCreated).length === 0) {
|
||||
|
@ -993,9 +993,9 @@ export class Session extends EventDispatcher {
|
|||
};
|
||||
this.getConnection(msg.senderConnectionId, 'Connection not found for connectionId ' + msg.senderConnectionId + ' owning endpoint ' + msg.endpointName + '. Ice candidate will be ignored: ' + candidate)
|
||||
.then(connection => {
|
||||
const stream = connection.stream;
|
||||
const stream: Stream = connection.stream!;
|
||||
stream.getWebRtcPeer().addIceCandidate(candidate).catch(error => {
|
||||
logger.error('Error adding candidate for ' + stream.streamId
|
||||
logger.error('Error adding candidate for ' + stream!.streamId
|
||||
+ ' stream of endpoint ' + msg.endpointName + ': ' + error);
|
||||
});
|
||||
})
|
||||
|
@ -1077,8 +1077,8 @@ export class Session extends EventDispatcher {
|
|||
this.getConnection(connectionId, 'No connection found for connectionId ' + connectionId)
|
||||
.then(connection => {
|
||||
logger.info('Filter event dispatched');
|
||||
const stream: Stream = connection.stream;
|
||||
stream.filter.handlers[response.eventType](new FilterEvent(stream.filter, response.eventType, response.data));
|
||||
const stream: Stream = connection.stream!;
|
||||
stream.filter!.handlers[response.eventType](new FilterEvent(stream.filter!, response.eventType, response.data));
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -139,10 +139,10 @@ export class Stream extends EventDispatcher {
|
|||
* [[Filter.execMethod]] and remove it with [[Stream.removeFilter]]. Be aware that the client calling this methods must have the
|
||||
* necessary permissions: the token owned by the client must have been initialized with the appropriated `allowedFilters` array.
|
||||
*/
|
||||
filter: Filter;
|
||||
filter?: Filter;
|
||||
|
||||
protected webRtcPeer: WebRtcPeer;
|
||||
protected mediaStream: MediaStream;
|
||||
protected mediaStream?: MediaStream;
|
||||
private webRtcStats: WebRtcStats;
|
||||
|
||||
private isSubscribeToRemote = false;
|
||||
|
@ -206,7 +206,7 @@ export class Stream extends EventDispatcher {
|
|||
/**
|
||||
* @hidden
|
||||
*/
|
||||
localMediaStreamWhenSubscribedToRemote: MediaStream;
|
||||
localMediaStreamWhenSubscribedToRemote?: MediaStream;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -265,7 +265,7 @@ export class Stream extends EventDispatcher {
|
|||
}
|
||||
|
||||
this.ee.on('mediastream-updated', () => {
|
||||
this.streamManager.updateMediaStream(this.mediaStream);
|
||||
this.streamManager.updateMediaStream(this.mediaStream!);
|
||||
logger.debug('Video srcObject [' + this.mediaStream + '] updated in stream [' + this.streamId + ']');
|
||||
});
|
||||
}
|
||||
|
@ -326,7 +326,7 @@ export class Stream extends EventDispatcher {
|
|||
}
|
||||
} else {
|
||||
logger.info('Filter successfully applied on Stream ' + this.streamId);
|
||||
const oldValue: Filter = this.filter;
|
||||
const oldValue: Filter = this.filter!;
|
||||
this.filter = new Filter(type, options);
|
||||
this.filter.stream = this;
|
||||
this.session.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.session, this, 'filter', this.filter, oldValue, 'applyFilter')]);
|
||||
|
@ -359,10 +359,10 @@ export class Stream extends EventDispatcher {
|
|||
}
|
||||
} else {
|
||||
logger.info('Filter successfully removed from Stream ' + this.streamId);
|
||||
const oldValue = this.filter;
|
||||
const oldValue = this.filter!;
|
||||
delete this.filter;
|
||||
this.session.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.session, this, 'filter', this.filter, oldValue, 'applyFilter')]);
|
||||
this.streamManager.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.streamManager, this, 'filter', this.filter, oldValue, 'applyFilter')]);
|
||||
this.session.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.session, this, 'filter', this.filter!, oldValue, 'applyFilter')]);
|
||||
this.streamManager.emitEvent('streamPropertyChanged', [new StreamPropertyChangedEvent(this.streamManager, this, 'filter', this.filter!, oldValue, 'applyFilter')]);
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
|
@ -385,7 +385,7 @@ export class Stream extends EventDispatcher {
|
|||
* @returns Native MediaStream Web API object
|
||||
*/
|
||||
getMediaStream(): MediaStream {
|
||||
return this.mediaStream;
|
||||
return this.mediaStream!;
|
||||
}
|
||||
|
||||
/* Hidden methods */
|
||||
|
@ -1005,7 +1005,7 @@ export class Stream extends EventDispatcher {
|
|||
}
|
||||
|
||||
private initHarkEvents(): void {
|
||||
if (!!this.mediaStream.getAudioTracks()[0]) {
|
||||
if (!!this.mediaStream!.getAudioTracks()[0]) {
|
||||
// Hark events can only be set if audio track is available
|
||||
if (this.streamManager.remote) {
|
||||
// publisherStartSpeaking/publisherStopSpeaking is only defined for remote streams
|
||||
|
|
|
@ -87,7 +87,7 @@ export class StreamManager extends EventDispatcher {
|
|||
/**
|
||||
* @hidden
|
||||
*/
|
||||
firstVideoElement: StreamManagerVideo;
|
||||
firstVideoElement?: StreamManagerVideo;
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
|
|
|
@ -62,12 +62,12 @@ export class SessionDisconnectedEvent extends Event {
|
|||
// Dispose and delete all remote Connections
|
||||
for (const connectionId in session.remoteConnections) {
|
||||
if (!!session.remoteConnections[connectionId].stream) {
|
||||
session.remoteConnections[connectionId].stream.disposeWebRtcPeer();
|
||||
session.remoteConnections[connectionId].stream.disposeMediaStream();
|
||||
if (session.remoteConnections[connectionId].stream.streamManager) {
|
||||
session.remoteConnections[connectionId].stream.streamManager.removeAllVideos();
|
||||
session.remoteConnections[connectionId].stream!.disposeWebRtcPeer();
|
||||
session.remoteConnections[connectionId].stream!.disposeMediaStream();
|
||||
if (session.remoteConnections[connectionId].stream!.streamManager) {
|
||||
session.remoteConnections[connectionId].stream!.streamManager.removeAllVideos();
|
||||
}
|
||||
delete session.remoteStreamsCreated[session.remoteConnections[connectionId].stream.streamId];
|
||||
delete session.remoteStreamsCreated[session.remoteConnections[connectionId].stream!.streamId];
|
||||
session.remoteConnections[connectionId].dispose();
|
||||
}
|
||||
delete session.remoteConnections[connectionId];
|
||||
|
|
Loading…
Reference in New Issue