Selaa lähdekoodia

fix(presence) Parse peer presence in legacy format correctly.

When source-name signaling is enabled, get correct peermedia info when the peer sends presence in the legacy format. This fixes an issue where Jigasi users cannot be heard by endpoints that have source-name signaling enabled.
dev1
Jaya Allamsetty 3 vuotta sitten
vanhempi
commit
6d8060a4c6
2 muutettua tiedostoa jossa 11 lisäystä ja 10 poistoa
  1. 1
    3
      modules/RTC/TraceablePeerConnection.js
  2. 10
    7
      modules/xmpp/SignalingLayerImpl.js

+ 1
- 3
modules/RTC/TraceablePeerConnection.js Näytä tiedosto

952
     logger.info(`${this} creating remote track[endpoint=${ownerEndpointId},ssrc=${trackSsrc},`
952
     logger.info(`${this} creating remote track[endpoint=${ownerEndpointId},ssrc=${trackSsrc},`
953
         + `type=${mediaType},sourceName=${sourceName}]`);
953
         + `type=${mediaType},sourceName=${sourceName}]`);
954
 
954
 
955
-    const peerMediaInfo = FeatureFlags.isSourceNameSignalingEnabled()
956
-        ? this.signalingLayer.getPeerSourceInfo(ownerEndpointId, sourceName)
957
-        : this.signalingLayer.getPeerMediaInfo(ownerEndpointId, mediaType);
955
+    const peerMediaInfo = this.signalingLayer.getPeerMediaInfo(ownerEndpointId, mediaType, sourceName);
958
 
956
 
959
     if (!peerMediaInfo) {
957
     if (!peerMediaInfo) {
960
         GlobalOnErrorHandler.callErrorHandler(
958
         GlobalOnErrorHandler.callErrorHandler(

+ 10
- 7
modules/xmpp/SignalingLayerImpl.js Näytä tiedosto

296
     /**
296
     /**
297
      * @inheritDoc
297
      * @inheritDoc
298
      */
298
      */
299
-    getPeerMediaInfo(owner, mediaType) {
299
+    getPeerMediaInfo(owner, mediaType, sourceName) {
300
         const legacyGetPeerMediaInfo = () => {
300
         const legacyGetPeerMediaInfo = () => {
301
             if (this.chatRoom) {
301
             if (this.chatRoom) {
302
                 return this.chatRoom.getMediaPresenceInfo(owner, mediaType);
302
                 return this.chatRoom.getMediaPresenceInfo(owner, mediaType);
303
             }
303
             }
304
             logger.error('Requested peer media info, before room was set');
304
             logger.error('Requested peer media info, before room was set');
305
         };
305
         };
306
+        const lastPresence = this.chatRoom.getLastPresence(owner);
306
 
307
 
307
-        if (FeatureFlags.isSourceNameSignalingEnabled()) {
308
-            const lastPresence = this.chatRoom.getLastPresence(owner);
309
-
310
-            if (!lastPresence) {
311
-                throw new Error(`getPeerMediaInfo - no presence stored for: ${owner}`);
312
-            }
308
+        if (!lastPresence) {
309
+            throw new Error(`getPeerMediaInfo - no presence stored for: ${owner}`);
310
+        }
313
 
311
 
312
+        if (FeatureFlags.isSourceNameSignalingEnabled()) {
314
             if (!this._doesEndpointSendNewSourceInfo(owner)) {
313
             if (!this._doesEndpointSendNewSourceInfo(owner)) {
315
                 return legacyGetPeerMediaInfo();
314
                 return legacyGetPeerMediaInfo();
316
             }
315
             }
317
 
316
 
317
+            if (sourceName) {
318
+                return this.getPeerSourceInfo(owner, sourceName);
319
+            }
320
+
318
             /**
321
             /**
319
              * @type {PeerMediaInfo}
322
              * @type {PeerMediaInfo}
320
              */
323
              */

Loading…
Peruuta
Tallenna