Просмотр исходного кода

Merge pull request #160 from tsareg/fix_track_dispose_and_conference_leave

Fix JitsiLocalTrack dispose() method
dev1
hristoterezov 9 лет назад
Родитель
Сommit
30351f7cd1
1 измененных файлов: 8 добавлений и 8 удалений
  1. 8
    8
      JitsiConference.js

+ 8
- 8
JitsiConference.js Просмотреть файл

@@ -314,7 +314,8 @@ JitsiConference.prototype.setSubject = function (subject) {
314 314
  */
315 315
 JitsiConference.prototype.addTrack = function (track) {
316 316
     if (track.disposed) {
317
-        throw new JitsiTrackError(JitsiTrackErrors.TRACK_IS_DISPOSED);
317
+        return Promise.reject(
318
+            new JitsiTrackError(JitsiTrackErrors.TRACK_IS_DISPOSED));
318 319
     }
319 320
 
320 321
     if (track.isVideoTrack()) {
@@ -326,8 +327,8 @@ JitsiConference.prototype.addTrack = function (track) {
326 327
             if (track === localVideoTrack) {
327 328
                 return Promise.resolve(track);
328 329
             } else {
329
-                throw new Error(
330
-                        "cannot add second video track to the conference");
330
+                return Promise.reject(new Error(
331
+                    "cannot add second video track to the conference"));
331 332
             }
332 333
         }
333 334
     }
@@ -430,9 +431,9 @@ JitsiConference.prototype._fireMuteChangeEvent = function (track) {
430 431
  * @returns {Promise}
431 432
  */
432 433
 JitsiConference.prototype.removeTrack = function (track) {
433
-    if(track.disposed)
434
-    {
435
-        throw new Error(JitsiTrackErrors.TRACK_IS_DISPOSED);
434
+    if (track.disposed) {
435
+        return Promise.reject(
436
+            new JitsiTrackError(JitsiTrackErrors.TRACK_IS_DISPOSED));
436 437
     }
437 438
 
438 439
     if(!this.room){
@@ -445,8 +446,7 @@ JitsiConference.prototype.removeTrack = function (track) {
445 446
     return new Promise(function (resolve, reject) {
446 447
         this.room.removeStream(track.getOriginalStream(), function(){
447 448
             track._setSSRC(null);
448
-            //FIXME: This dependacy is not necessary. This is quick fix.
449
-            track._setConference(this);
449
+            track._setConference(null);
450 450
             this.rtc.removeLocalTrack(track);
451 451
             track.removeEventListener(JitsiTrackEvents.TRACK_MUTE_CHANGED,
452 452
                 track.muteHandler);

Загрузка…
Отмена
Сохранить