Преглед на файлове

feat(multi-stream) Enable multi-stream by default (if not disabled explicitly) (#2116)

* feat(multi-stream) Enable multi-stream by default (if not disabled explicitly).
dev1
Jaya Allamsetty преди 3 години
родител
ревизия
f49afde547
No account linked to committer's email address
променени са 4 файла, в които са добавени 17 реда и са изтрити 18 реда
  1. 4
    3
      JitsiMeetJS.js
  2. 4
    6
      modules/flags/FeatureFlags.js
  3. 6
    6
      modules/sdp/LocalSdpMunger.spec.js
  4. 3
    3
      types/auto/modules/flags/FeatureFlags.d.ts

+ 4
- 3
JitsiMeetJS.js Целия файл

@@ -146,15 +146,16 @@ export default _mergeNamespaceAndModule({
146 146
     init(options = {}) {
147 147
         Settings.init(options.externalStorage);
148 148
         Statistics.init(options);
149
+        const flags = options.flags || {};
149 150
 
150 151
         // Multi-stream is supported only on endpoints running in Unified plan mode and the flag to disable unified
151 152
         // plan also needs to be taken into consideration.
152
-        if (typeof options.enableUnifiedOnChrome !== 'undefined' && options.flags) {
153
-            options.flags.enableUnifiedOnChrome = options.enableUnifiedOnChrome;
153
+        if (typeof options.enableUnifiedOnChrome !== 'undefined') {
154
+            flags.enableUnifiedOnChrome = options.enableUnifiedOnChrome;
154 155
         }
155 156
 
156 157
         // Configure the feature flags.
157
-        FeatureFlags.init(options.flags || { });
158
+        FeatureFlags.init(flags);
158 159
 
159 160
         // Initialize global window.connectionTimes
160 161
         // FIXME do not use 'window'

+ 4
- 6
modules/flags/FeatureFlags.js Целия файл

@@ -16,12 +16,11 @@ class FeatureFlags {
16 16
      * @param {boolean} flags.receiveMultipleVideoStreams - Signal support for receiving multiple video streams.
17 17
      */
18 18
     init(flags) {
19
+        this._receiveMultipleVideoStreams = flags.receiveMultipleVideoStreams ?? true;
19 20
         this._runInLiteMode = Boolean(flags.runInLiteMode);
20
-
21
-        this._sourceNameSignaling = Boolean(flags.sourceNameSignaling);
22
-        this._receiveMultipleVideoStreams = Boolean(flags.receiveMultipleVideoStreams);
23
-        this._sendMultipleVideoStreams = Boolean(flags.sendMultipleVideoStreams);
24
-        this._ssrcRewriting = Boolean(flags.ssrcRewritingOnBridgeSupported);
21
+        this._sendMultipleVideoStreams = flags.sendMultipleVideoStreams ?? true;
22
+        this._sourceNameSignaling = flags.sourceNameSignaling ?? true;
23
+        this._ssrcRewriting = Boolean(flags.ssrcRewritingEnabled);
25 24
 
26 25
         // For Chromium, check if Unified plan is enabled.
27 26
         this._usesUnifiedPlan = browser.supportsUnifiedPlan()
@@ -29,7 +28,6 @@ class FeatureFlags {
29 28
 
30 29
         logger.info(`Source name signaling: ${this._sourceNameSignaling},`
31 30
             + ` Send multiple video streams: ${this._sendMultipleVideoStreams},`
32
-            + ` SSRC rewriting supported: ${this._ssrcRewriting},`
33 31
             + ` uses Unified plan: ${this._usesUnifiedPlan}`);
34 32
     }
35 33
 

+ 6
- 6
modules/sdp/LocalSdpMunger.spec.js Целия файл

@@ -26,7 +26,7 @@ describe('TransformSdpsForUnifiedPlan', () => {
26 26
     const localEndpointId = 'sRdpsdg';
27 27
 
28 28
     beforeEach(() => {
29
-        FeatureFlags.init({ });
29
+        FeatureFlags.init({ sourceNameSignaling: false });
30 30
         localSdpMunger = new LocalSdpMunger(tpc, localEndpointId);
31 31
     });
32 32
     describe('dontStripSsrcs', () => {
@@ -70,7 +70,7 @@ describe('TransformSdpsForUnifiedPlan', () => {
70 70
                 expect(videoSsrcs.length).toEqual(6);
71 71
             });
72 72
             it('with source name signaling enabled (injected source name)', () => {
73
-                FeatureFlags.init({ sourceNameSignaling: true });
73
+                FeatureFlags.init({ });
74 74
                 transformStreamIdentifiers();
75 75
 
76 76
                 expect(audioSsrcs.length).toEqual(4 + 1 /* injected source name */);
@@ -125,7 +125,7 @@ describe('DoNotTransformSdpForPlanB', () => {
125 125
     const localEndpointId = 'sRdpsdg';
126 126
 
127 127
     beforeEach(() => {
128
-        FeatureFlags.init({ });
128
+        FeatureFlags.init({ sourceNameSignaling: false });
129 129
         localSdpMunger = new LocalSdpMunger(tpc, localEndpointId);
130 130
     });
131 131
     describe('stripSsrcs', () => {
@@ -154,7 +154,7 @@ describe('DoNotTransformSdpForPlanB', () => {
154 154
                 expect(videoSsrcs.length).toEqual(1);
155 155
             });
156 156
             it('with source name signaling', () => {
157
-                FeatureFlags.init({ sourceNameSignaling: true });
157
+                FeatureFlags.init({ });
158 158
                 transformStreamIdentifiers();
159 159
 
160 160
                 expect(audioSsrcs.length).toEqual(1 + 1 /* injected source name */);
@@ -194,7 +194,7 @@ describe('Transform msids for source-name signaling', () => {
194 194
     });
195 195
 
196 196
     it('should transform', () => {
197
-        FeatureFlags.init({ sourceNameSignaling: true });
197
+        FeatureFlags.init({ });
198 198
         transformStreamIdentifiers();
199 199
 
200 200
         expect(audioMsid).toBe('sRdpsdg-audio-0-1');
@@ -209,7 +209,7 @@ describe('Track replace operations in plan-b', () => {
209 209
     const localSdpMunger = new LocalSdpMunger(tpc, localEndpointId);
210 210
 
211 211
     it('should not increment track index for new tracks', () => {
212
-        FeatureFlags.init({ sourceNameSignaling: true });
212
+        FeatureFlags.init({ });
213 213
 
214 214
         sdpStr = transform.write(SampleSdpStrings.simulcastRtxSdp);
215 215
         desc = new RTCSessionDescription({

+ 3
- 3
types/auto/modules/flags/FeatureFlags.d.ts Целия файл

@@ -12,10 +12,10 @@ declare class FeatureFlags {
12 12
      * @param {boolean} flags.receiveMultipleVideoStreams - Signal support for receiving multiple video streams.
13 13
      */
14 14
     init(flags: any): void;
15
+    _receiveMultipleVideoStreams: any;
15 16
     _runInLiteMode: boolean;
16
-    _sourceNameSignaling: boolean;
17
-    _receiveMultipleVideoStreams: boolean;
18
-    _sendMultipleVideoStreams: boolean;
17
+    _sendMultipleVideoStreams: any;
18
+    _sourceNameSignaling: any;
19 19
     _ssrcRewriting: boolean;
20 20
     _usesUnifiedPlan: any;
21 21
     /**

Loading…
Отказ
Запис