|
|
@@ -351,6 +351,13 @@ JitsiConference.prototype.addTrack = function (track) {
|
|
351
|
351
|
track.audioLevelHandler);
|
|
352
|
352
|
//FIXME: This dependacy is not necessary. This is quick fix.
|
|
353
|
353
|
track._setConference(this);
|
|
|
354
|
+
|
|
|
355
|
+ // send event for starting screen sharing
|
|
|
356
|
+ // FIXME: we assume we have only one screen sharing track
|
|
|
357
|
+ // if we change this we need to fix this check
|
|
|
358
|
+ if (track.isVideoTrack() && track.videoType === "desktop")
|
|
|
359
|
+ this.statistics.sendScreenSharingEvent(true);
|
|
|
360
|
+
|
|
354
|
361
|
this.eventEmitter.emit(JitsiConferenceEvents.TRACK_ADDED, track);
|
|
355
|
362
|
resolve(track);
|
|
356
|
363
|
}.bind(this));
|
|
|
@@ -391,6 +398,7 @@ JitsiConference.prototype.removeTrack = function (track) {
|
|
391
|
398
|
{
|
|
392
|
399
|
throw new Error(JitsiTrackErrors.TRACK_IS_DISPOSED);
|
|
393
|
400
|
}
|
|
|
401
|
+
|
|
394
|
402
|
if(!this.room){
|
|
395
|
403
|
if(this.rtc) {
|
|
396
|
404
|
this.rtc.removeLocalStream(track);
|
|
|
@@ -410,6 +418,13 @@ JitsiConference.prototype.removeTrack = function (track) {
|
|
410
|
418
|
track.audioLevelHandler);
|
|
411
|
419
|
this.room.removeListener(XMPPEvents.SENDRECV_STREAMS_CHANGED,
|
|
412
|
420
|
track.ssrcHandler);
|
|
|
421
|
+
|
|
|
422
|
+ // send event for stopping screen sharing
|
|
|
423
|
+ // FIXME: we assume we have only one screen sharing track
|
|
|
424
|
+ // if we change this we need to fix this check
|
|
|
425
|
+ if (track.isVideoTrack() && track.videoType === "desktop")
|
|
|
426
|
+ this.statistics.sendScreenSharingEvent(false);
|
|
|
427
|
+
|
|
413
|
428
|
this.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
|
|
414
|
429
|
resolve();
|
|
415
|
430
|
}.bind(this), {
|