소스 검색

Merge remote-tracking branch 'isymchych/adjust-api'

# Conflicts:
#	JitsiConference.js
dev1
paweldomas 10 년 전
부모
커밋
d57b0e9a63
2개의 변경된 파일31개의 추가작업 그리고 23개의 파일을 삭제
  1. 30
    22
      JitsiConference.js
  2. 1
    1
      modules/RTC/ScreenObtainer.js

+ 30
- 22
JitsiConference.js 파일 보기

@@ -274,6 +274,7 @@ JitsiConference.prototype.setSubject = function (subject) {
274 274
 /**
275 275
  * Adds JitsiLocalTrack object to the conference.
276 276
  * @param track the JitsiLocalTrack object.
277
+ * @returns {Promise<JitsiLocalTrack>}
277 278
  */
278 279
 JitsiConference.prototype.addTrack = function (track) {
279 280
     if (track.isVideoTrack()) {
@@ -285,21 +286,24 @@ JitsiConference.prototype.addTrack = function (track) {
285 286
             }
286 287
         });
287 288
     }
288
-    this.room.addStream(track.getOriginalStream(), function () {
289
-        this.rtc.addLocalStream(track);
290
-        if (track.startMuted) {
291
-            track.mute();
292
-        }
293
-        track.muteHandler = this._fireMuteChangeEvent.bind(this, track);
294
-        track.stopHandler = this.removeTrack.bind(this, track);
295
-        track.audioLevelHandler = this._fireAudioLevelChangeEvent.bind(this);
296
-        track.addEventListener(JitsiTrackEvents.TRACK_MUTE_CHANGED,
297
-            track.muteHandler);
298
-        track.addEventListener(JitsiTrackEvents.TRACK_STOPPED,
299
-            track.stopHandler);
300
-        track.addEventListener(JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED,
301
-            track.audioLevelHandler);
302
-        this.eventEmitter.emit(JitsiConferenceEvents.TRACK_ADDED, track);
289
+    return new Promise(function (resolve) {
290
+        this.room.addStream(track.getOriginalStream(), function () {
291
+            this.rtc.addLocalStream(track);
292
+            if (track.startMuted) {
293
+                track.mute();
294
+            }
295
+            track.muteHandler = this._fireMuteChangeEvent.bind(this, track);
296
+            track.stopHandler = this.removeTrack.bind(this, track);
297
+            track.audioLevelHandler = this._fireAudioLevelChangeEvent.bind(this);
298
+            track.addEventListener(JitsiTrackEvents.TRACK_MUTE_CHANGED,
299
+                                   track.muteHandler);
300
+            track.addEventListener(JitsiTrackEvents.TRACK_STOPPED,
301
+                                   track.stopHandler);
302
+            track.addEventListener(JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED,
303
+                                   track.audioLevelHandler);
304
+            this.eventEmitter.emit(JitsiConferenceEvents.TRACK_ADDED, track);
305
+            resolve(track);
306
+        }.bind(this));
303 307
     }.bind(this));
304 308
 };
305 309
 
@@ -330,6 +334,7 @@ JitsiConference.prototype._fireMuteChangeEvent = function (track) {
330 334
 /**
331 335
  * Removes JitsiLocalTrack object to the conference.
332 336
  * @param track the JitsiLocalTrack object.
337
+ * @returns {Promise}
333 338
  */
334 339
 JitsiConference.prototype.removeTrack = function (track) {
335 340
     if(!this.room){
@@ -337,14 +342,17 @@ JitsiConference.prototype.removeTrack = function (track) {
337 342
             this.rtc.removeLocalStream(track);
338 343
             this.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
339 344
         }
340
-        return;
345
+        return Promise.resolve();
341 346
     }
342
-    this.room.removeStream(track.getOriginalStream(), function(){
343
-        this.rtc.removeLocalStream(track);
344
-        track.removeEventListener(JitsiTrackEvents.TRACK_MUTE_CHANGED, track.muteHandler);
345
-        track.removeEventListener(JitsiTrackEvents.TRACK_STOPPED, track.stopHandler);
346
-        track.removeEventListener(JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED, track.audioLevelHandler);
347
-        this.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
347
+    return new Promise(function (resolve) {
348
+        this.room.removeStream(track.getOriginalStream(), function(){
349
+            this.rtc.removeLocalStream(track);
350
+            track.removeEventListener(JitsiTrackEvents.TRACK_MUTE_CHANGED, track.muteHandler);
351
+            track.removeEventListener(JitsiTrackEvents.TRACK_STOPPED, track.stopHandler);
352
+            track.removeEventListener(JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED, track.audioLevelHandler);
353
+            this.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
354
+            resolve();
355
+        }.bind(this));
348 356
     }.bind(this));
349 357
 };
350 358
 

+ 1
- 1
modules/RTC/ScreenObtainer.js 파일 보기

@@ -332,7 +332,7 @@ function doGetStreamFromExtension(options, streamCallback, failCallback) {
332 332
                 failCallback(chrome.runtime.lastError);
333 333
                 return;
334 334
             }
335
-            logger.log("Response from extension: " + response);
335
+            logger.log("Response from extension: ", response);
336 336
             if (response.streamId) {
337 337
                 GUM(
338 338
                     ['desktop'],

Loading…
취소
저장