Browse Source

squash: Address review comments.

release-8443
Jaya Allamsetty 1 year ago
parent
commit
f16cadceca
4 changed files with 19 additions and 34 deletions
  1. 10
    5
      JitsiConferenceEventManager.js
  2. 3
    6
      JitsiTrackEvents.spec.ts
  3. 2
    8
      JitsiTrackEvents.ts
  4. 4
    15
      modules/xmpp/JingleSessionPC.js

+ 10
- 5
JitsiConferenceEventManager.js View File

173
         }
173
         }
174
     });
174
     });
175
 
175
 
176
-    chatRoom.addListener(JitsiTrackEvents.TRACK_OWNER_ADDED, track => {
177
-        conference.eventEmitter.emit(JitsiConferenceEvents.TRACK_ADDED, track);
178
-    });
179
-    chatRoom.addListener(JitsiTrackEvents.TRACK_OWNER_REMOVED, track => {
180
-        conference.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
176
+    chatRoom.addListener(JitsiTrackEvents.TRACK_OWNER_SET, (track, owner, sourceName, videoType) => {
177
+        if (track.getParticipantId() !== owner || track.getSourceName() !== sourceName) {
178
+            conference.eventEmitter.emit(JitsiConferenceEvents.TRACK_REMOVED, track);
179
+
180
+            // Update the owner and other properties on the track.
181
+            track.setOwner(owner);
182
+            track.setSourceName(sourceName);
183
+            track._setVideoType(videoType);
184
+            owner && conference.eventEmitter.emit(JitsiConferenceEvents.TRACK_ADDED, track);
185
+        }
181
     });
186
     });
182
 
187
 
183
     this.chatRoomForwarder.forward(XMPPEvents.ROOM_JOIN_ERROR,
188
     this.chatRoomForwarder.forward(XMPPEvents.ROOM_JOIN_ERROR,

+ 3
- 6
JitsiTrackEvents.spec.ts View File

8
         TRACK_AUDIO_LEVEL_CHANGED,
8
         TRACK_AUDIO_LEVEL_CHANGED,
9
         TRACK_AUDIO_OUTPUT_CHANGED,
9
         TRACK_AUDIO_OUTPUT_CHANGED,
10
         TRACK_MUTE_CHANGED,
10
         TRACK_MUTE_CHANGED,
11
-        TRACK_OWNER_ADDED,
12
-        TRACK_OWNER_REMOVED,
11
+        TRACK_OWNER_SET,
13
         TRACK_STREAMING_STATUS_CHANGED,
12
         TRACK_STREAMING_STATUS_CHANGED,
14
         TRACK_VIDEOTYPE_CHANGED,
13
         TRACK_VIDEOTYPE_CHANGED,
15
         NO_DATA_FROM_SOURCE,
14
         NO_DATA_FROM_SOURCE,
23
         expect( TRACK_AUDIO_LEVEL_CHANGED ).toBe( 'track.audioLevelsChanged' );
22
         expect( TRACK_AUDIO_LEVEL_CHANGED ).toBe( 'track.audioLevelsChanged' );
24
         expect( TRACK_AUDIO_OUTPUT_CHANGED ).toBe( 'track.audioOutputChanged' );
23
         expect( TRACK_AUDIO_OUTPUT_CHANGED ).toBe( 'track.audioOutputChanged' );
25
         expect( TRACK_MUTE_CHANGED ).toBe( 'track.trackMuteChanged' );
24
         expect( TRACK_MUTE_CHANGED ).toBe( 'track.trackMuteChanged' );
26
-        expect( TRACK_OWNER_ADDED ).toBe( 'track.owner_added' );
27
-        expect( TRACK_OWNER_REMOVED ).toBe( 'track.owner_removed' );
25
+        expect( TRACK_OWNER_SET ).toBe( 'track.owner_set' );
28
         expect( TRACK_STREAMING_STATUS_CHANGED ).toBe( 'track.streaming_status_changed' );
26
         expect( TRACK_STREAMING_STATUS_CHANGED ).toBe( 'track.streaming_status_changed' );
29
         expect( TRACK_VIDEOTYPE_CHANGED ).toBe( 'track.videoTypeChanged' );
27
         expect( TRACK_VIDEOTYPE_CHANGED ).toBe( 'track.videoTypeChanged' );
30
         expect( NO_DATA_FROM_SOURCE ).toBe( 'track.no_data_from_source' );
28
         expect( NO_DATA_FROM_SOURCE ).toBe( 'track.no_data_from_source' );
36
         expect( JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED ).toBe( 'track.audioLevelsChanged' );
34
         expect( JitsiTrackEvents.TRACK_AUDIO_LEVEL_CHANGED ).toBe( 'track.audioLevelsChanged' );
37
         expect( JitsiTrackEvents.TRACK_AUDIO_OUTPUT_CHANGED ).toBe( 'track.audioOutputChanged' );
35
         expect( JitsiTrackEvents.TRACK_AUDIO_OUTPUT_CHANGED ).toBe( 'track.audioOutputChanged' );
38
         expect( JitsiTrackEvents.TRACK_MUTE_CHANGED ).toBe( 'track.trackMuteChanged' );
36
         expect( JitsiTrackEvents.TRACK_MUTE_CHANGED ).toBe( 'track.trackMuteChanged' );
39
-        expect( JitsiTrackEvents.TRACK_OWNER_ADDED ).toBe( 'track.owner_added' );
40
-        expect( JitsiTrackEvents.TRACK_OWNER_REMOVED ).toBe( 'track.owner_removed' );
37
+        expect( JitsiTrackEvents.TRACK_OWNER_SET ).toBe( 'track.owner_set' );
41
         expect( JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED ).toBe( 'track.streaming_status_changed' );
38
         expect( JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED ).toBe( 'track.streaming_status_changed' );
42
         expect( JitsiTrackEvents.TRACK_VIDEOTYPE_CHANGED ).toBe( 'track.videoTypeChanged' );
39
         expect( JitsiTrackEvents.TRACK_VIDEOTYPE_CHANGED ).toBe( 'track.videoTypeChanged' );
43
         expect( JitsiTrackEvents.NO_DATA_FROM_SOURCE ).toBe( 'track.no_data_from_source' );
40
         expect( JitsiTrackEvents.NO_DATA_FROM_SOURCE ).toBe( 'track.no_data_from_source' );

+ 2
- 8
JitsiTrackEvents.ts View File

48
     /**
48
     /**
49
      * Indicates that a new owner has been assigned to a remote track when SSRC rewriting is enabled.
49
      * Indicates that a new owner has been assigned to a remote track when SSRC rewriting is enabled.
50
      */
50
      */
51
-    TRACK_OWNER_ADDED = 'track.owner_added',
52
-
53
-    /**
54
-     * Indicates that an owner has been removed from a remote track when SSRC rewriting is enabled.
55
-     */
56
-    TRACK_OWNER_REMOVED = 'track.owner_removed',
51
+    TRACK_OWNER_SET = 'track.owner_set',
57
 
52
 
58
     /**
53
     /**
59
      * Event fired whenever video track's streaming changes.
54
      * Event fired whenever video track's streaming changes.
77
 export const TRACK_VIDEOTYPE_CHANGED = JitsiTrackEvents.TRACK_VIDEOTYPE_CHANGED;
72
 export const TRACK_VIDEOTYPE_CHANGED = JitsiTrackEvents.TRACK_VIDEOTYPE_CHANGED;
78
 export const NO_DATA_FROM_SOURCE = JitsiTrackEvents.NO_DATA_FROM_SOURCE;
73
 export const NO_DATA_FROM_SOURCE = JitsiTrackEvents.NO_DATA_FROM_SOURCE;
79
 export const NO_AUDIO_INPUT = JitsiTrackEvents.NO_AUDIO_INPUT;
74
 export const NO_AUDIO_INPUT = JitsiTrackEvents.NO_AUDIO_INPUT;
80
-export const TRACK_OWNER_ADDED = JitsiTrackEvents.TRACK_OWNER_ADDED;
81
-export const TRACK_OWNER_REMOVED = JitsiTrackEvents.TRACK_OWNER_REMOVED;
75
+export const TRACK_OWNER_SET = JitsiTrackEvents.TRACK_OWNER_SET;
82
 export const TRACK_STREAMING_STATUS_CHANGED = JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED;
76
 export const TRACK_STREAMING_STATUS_CHANGED = JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED;

+ 4
- 15
modules/xmpp/JingleSessionPC.js View File

1777
                     const track = this.peerconnection.getTrackBySSRC(oldSsrc);
1777
                     const track = this.peerconnection.getTrackBySSRC(oldSsrc);
1778
 
1778
 
1779
                     if (track) {
1779
                     if (track) {
1780
-                        track.setSourceName(null);
1781
-                        track.setOwner(null);
1782
-                        track._setVideoType(null);
1783
-                        this.room.eventEmitter.emit(JitsiTrackEvents.TRACK_OWNER_REMOVED, track);
1780
+                        this.room.eventEmitter.emit(JitsiTrackEvents.TRACK_OWNER_SET, track);
1784
                     }
1781
                     }
1785
                 }
1782
                 }
1786
             } else {
1783
             } else {
1787
                 logger.debug(`Existing SSRC re-mapped ${ssrc}: new owner=${owner}, source-name=${source}`);
1784
                 logger.debug(`Existing SSRC re-mapped ${ssrc}: new owner=${owner}, source-name=${source}`);
1788
                 const track = this.peerconnection.getTrackBySSRC(ssrc);
1785
                 const track = this.peerconnection.getTrackBySSRC(ssrc);
1789
 
1786
 
1790
-                this.room.eventEmitter.emit(JitsiTrackEvents.TRACK_OWNER_REMOVED, track);
1791
-
1792
                 this._signalingLayer.setSSRCOwner(ssrc, owner, source);
1787
                 this._signalingLayer.setSSRCOwner(ssrc, owner, source);
1793
-                track.setSourceName(source);
1794
-                track.setOwner(owner);
1795
-
1796
-                this.room.eventEmitter.emit(JitsiTrackEvents.TRACK_OWNER_ADDED, track);
1797
 
1788
 
1798
                 // Update the muted state and the video type on the track since the presence for this track could have
1789
                 // Update the muted state and the video type on the track since the presence for this track could have
1799
                 // been received before the updated source map is received on the bridge channel.
1790
                 // been received before the updated source map is received on the bridge channel.
1800
-                const peerMediaInfo = this._signalingLayer.getPeerMediaInfo(owner, mediaType, source);
1791
+                const { muted, videoType } = this._signalingLayer.getPeerMediaInfo(owner, mediaType, source);
1801
 
1792
 
1802
-                if (peerMediaInfo) {
1803
-                    track._setVideoType(peerMediaInfo.videoType);
1804
-                    this.peerconnection._sourceMutedChanged(source, peerMediaInfo.muted);
1805
-                }
1793
+                muted && this.peerconnection._sourceMutedChanged(source, muted);
1794
+                this.room.eventEmitter.emit(JitsiTrackEvents.TRACK_OWNER_SET, track, owner, source, videoType);
1806
             }
1795
             }
1807
         }
1796
         }
1808
 
1797
 

Loading…
Cancel
Save