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

Merge pull request #251 from jitsi/start_muted_fix

fix(start_muted): Fixes start muted feature
dev1
Paweł Domas 9 лет назад
Родитель
Сommit
cdadca18d5
1 измененных файлов: 23 добавлений и 22 удалений
  1. 23
    22
      modules/RTC/JitsiLocalTrack.js

+ 23
- 22
modules/RTC/JitsiLocalTrack.js Просмотреть файл

@@ -211,14 +211,17 @@ JitsiLocalTrack.prototype._setMute = function (mute) {
211 211
     } else {
212 212
         if(mute) {
213 213
             this.dontFireRemoveEvent = true;
214
-
215
-            promise = this._removeStreamFromConferenceAsMute()
216
-                .then(function() {
214
+            promise = new Promise( (resolve, reject) => {
215
+                this._removeStreamFromConferenceAsMute(() => {
217 216
                     //FIXME: Maybe here we should set the SRC for the containers
218 217
                     // to something
219
-                    RTCUtils.stopMediaStream(self.stream);
220
-                    self._setStream(null);
218
+                    RTCUtils.stopMediaStream(this.stream);
219
+                    this._setStream(null);
220
+                    resolve();
221
+                }, (err) => {
222
+                    reject(err);
221 223
                 });
224
+            });
222 225
         } else {
223 226
             // This path is only for camera.
224 227
             var streamOptions = {
@@ -298,28 +301,26 @@ JitsiLocalTrack.prototype._addStreamToConferenceAsUnmute = function () {
298 301
 
299 302
 /**
300 303
  * Removes stream from conference and marks it as "mute" operation.
301
- *
304
+ * @param {Function} successCallback will be called on success
305
+ * @param {Function} errorCallback will be called on error
302 306
  * @private
303
- * @returns {Promise}
304 307
  */
305
-JitsiLocalTrack.prototype._removeStreamFromConferenceAsMute = function () {
308
+JitsiLocalTrack.prototype._removeStreamFromConferenceAsMute =
309
+function (successCallback, errorCallback) {
306 310
     if (!this.conference || !this.conference.room) {
307
-        return Promise.resolve();
311
+        successCallback();
312
+        return;
308 313
     }
309 314
 
310
-    var self = this;
311
-
312
-    return new Promise(function(resolve, reject) {
313
-        self.conference.room.removeStream(
314
-            self.stream,
315
-            resolve,
316
-            reject,
317
-            {
318
-                mtype: self.type,
319
-                type: "mute",
320
-                ssrc: self.ssrc
321
-            });
322
-    });
315
+    this.conference.room.removeStream(
316
+        this.stream,
317
+        successCallback,
318
+        errorCallback,
319
+        {
320
+            mtype: this.type,
321
+            type: "mute",
322
+            ssrc: this.ssrc
323
+        });
323 324
 };
324 325
 
325 326
 /**

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