Kaynağa Gözat

fix(TPC) Enable L1T3 for p2p streams (#2845)

* fix(TPC) Enable L1T3 for p2p streams

* squash: Update unit tests
master
Jaya Allamsetty 5 ay önce
ebeveyn
işleme
49eb29a846
No account linked to committer's email address
2 değiştirilmiş dosya ile 20 ekleme ve 15 silme
  1. 6
    1
      modules/RTC/TPCUtils.js
  2. 14
    14
      modules/RTC/TPCUtils.spec.js

+ 6
- 1
modules/RTC/TPCUtils.js Dosyayı Görüntüle

@@ -410,10 +410,15 @@ export class TPCUtils {
410 410
      * @returns {Array<VideoEncoderScalabilityMode> | undefined}
411 411
      */
412 412
     calculateEncodingsScalabilityMode(localVideoTrack, codec, maxHeight) {
413
-        if (!this.pc.isSpatialScalabilityOn() || !this.codecSettings[codec].scalabilityModeEnabled) {
413
+        if (!this.codecSettings[codec].scalabilityModeEnabled) {
414 414
             return;
415 415
         }
416 416
 
417
+        // Use LIT3 for P2P wherever its supported.
418
+        if (!this.pc.isSpatialScalabilityOn()) {
419
+            return [ VideoEncoderScalabilityMode.L1T3 ];
420
+        }
421
+
417 422
         // Default modes for simulcast.
418 423
         const scalabilityModes = [
419 424
             VideoEncoderScalabilityMode.L1T3,

+ 14
- 14
modules/RTC/TPCUtils.spec.js Dosyayı Görüntüle

@@ -504,7 +504,7 @@ describe('TPCUtils', () => {
504 504
                 expect(maxBitrates[0]).toBe(2500000);
505 505
 
506 506
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
507
-                expect(scalabilityModes).toBe(undefined);
507
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
508 508
 
509 509
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
510 510
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -590,7 +590,7 @@ describe('TPCUtils', () => {
590 590
                 expect(maxBitrates[0]).toBe(1000000);
591 591
 
592 592
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
593
-                expect(scalabilityModes).toBe(undefined);
593
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
594 594
 
595 595
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
596 596
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -605,7 +605,7 @@ describe('TPCUtils', () => {
605 605
                 expect(maxBitrates[0]).toBe(300000);
606 606
 
607 607
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
608
-                expect(scalabilityModes).toBe(undefined);
608
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
609 609
 
610 610
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
611 611
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[1].scaleFactor);
@@ -620,7 +620,7 @@ describe('TPCUtils', () => {
620 620
                 expect(maxBitrates[0]).toBe(1000000);
621 621
 
622 622
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
623
-                expect(scalabilityModes).toBe(undefined);
623
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
624 624
 
625 625
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
626 626
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -635,7 +635,7 @@ describe('TPCUtils', () => {
635 635
                 expect(maxBitrates[0]).toBe(100000);
636 636
 
637 637
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
638
-                expect(scalabilityModes).toBe(undefined);
638
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
639 639
 
640 640
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
641 641
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[0].scaleFactor);
@@ -672,7 +672,7 @@ describe('TPCUtils', () => {
672 672
                 expect(maxBitrates[0]).toBe(2500000);
673 673
 
674 674
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
675
-                expect(scalabilityModes).toBe(undefined);
675
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
676 676
 
677 677
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
678 678
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -1104,7 +1104,7 @@ describe('TPCUtils', () => {
1104 1104
                 expect(maxBitrates[0]).toBe(1200000);
1105 1105
 
1106 1106
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1107
-                expect(scalabilityModes).toBe(undefined);
1107
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1108 1108
 
1109 1109
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1110 1110
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -1119,7 +1119,7 @@ describe('TPCUtils', () => {
1119 1119
                 expect(maxBitrates[0]).toBe(300000);
1120 1120
 
1121 1121
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1122
-                expect(scalabilityModes).toBe(undefined);
1122
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1123 1123
 
1124 1124
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1125 1125
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[1].scaleFactor);
@@ -1134,7 +1134,7 @@ describe('TPCUtils', () => {
1134 1134
                 expect(maxBitrates[0]).toBe(100000);
1135 1135
 
1136 1136
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1137
-                expect(scalabilityModes).toBe(undefined);
1137
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1138 1138
 
1139 1139
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1140 1140
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[0].scaleFactor);
@@ -1171,7 +1171,7 @@ describe('TPCUtils', () => {
1171 1171
                 expect(maxBitrates[0]).toBe(2500000);
1172 1172
 
1173 1173
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1174
-                expect(scalabilityModes).toBe(undefined);
1174
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1175 1175
 
1176 1176
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1177 1177
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -1397,7 +1397,7 @@ describe('TPCUtils', () => {
1397 1397
                 expect(maxBitrates[0]).toBe(2000000);
1398 1398
 
1399 1399
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1400
-                expect(scalabilityModes).toBe(undefined);
1400
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1401 1401
 
1402 1402
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1403 1403
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);
@@ -1412,7 +1412,7 @@ describe('TPCUtils', () => {
1412 1412
                 expect(maxBitrates[0]).toBe(800000);
1413 1413
 
1414 1414
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1415
-                expect(scalabilityModes).toBe(undefined);
1415
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1416 1416
 
1417 1417
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1418 1418
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[1].scaleFactor);
@@ -1427,7 +1427,7 @@ describe('TPCUtils', () => {
1427 1427
                 expect(maxBitrates[0]).toBe(400000);
1428 1428
 
1429 1429
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1430
-                expect(scalabilityModes).toBe(undefined);
1430
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1431 1431
 
1432 1432
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1433 1433
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[0].scaleFactor);
@@ -1464,7 +1464,7 @@ describe('TPCUtils', () => {
1464 1464
                 expect(maxBitrates[0]).toBe(2500000);
1465 1465
 
1466 1466
                 scalabilityModes = tpcUtils.calculateEncodingsScalabilityMode(track, codec, height);
1467
-                expect(scalabilityModes).toBe(undefined);
1467
+                expect(scalabilityModes).toEqual([ VideoEncoderScalabilityMode.L1T3 ]);
1468 1468
 
1469 1469
                 scaleFactor = tpcUtils.calculateEncodingsScaleFactor(track, codec, height);
1470 1470
                 expect(scaleFactor[0]).toBe(SIM_LAYERS[2].scaleFactor);

Loading…
İptal
Kaydet