mediasoup 3.11.21 → 3.11.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/node/lib/ActiveSpeakerObserver.d.ts +1 -1
  2. package/node/lib/ActiveSpeakerObserver.d.ts.map +1 -1
  3. package/node/lib/AudioLevelObserver.d.ts +1 -1
  4. package/node/lib/AudioLevelObserver.d.ts.map +1 -1
  5. package/node/lib/DirectTransport.d.ts +1 -1
  6. package/node/lib/DirectTransport.d.ts.map +1 -1
  7. package/node/lib/PipeTransport.d.ts +1 -1
  8. package/node/lib/PipeTransport.d.ts.map +1 -1
  9. package/node/lib/PlainTransport.d.ts +1 -1
  10. package/node/lib/PlainTransport.d.ts.map +1 -1
  11. package/node/lib/RtpObserver.d.ts +1 -1
  12. package/node/lib/RtpObserver.d.ts.map +1 -1
  13. package/node/lib/Transport.d.ts +1 -1
  14. package/node/lib/Transport.d.ts.map +1 -1
  15. package/node/lib/WebRtcTransport.d.ts +1 -1
  16. package/node/lib/WebRtcTransport.d.ts.map +1 -1
  17. package/node/lib/Worker.js +1 -1
  18. package/node/lib/index.d.ts +1 -1
  19. package/node/lib/index.js +1 -1
  20. package/package.json +5 -5
  21. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/alr_detector.cc +20 -1
  22. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/alr_detector.h +3 -0
  23. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/delay_based_bwe.cc +2 -2
  24. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc +1 -1
  25. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/trendline_estimator.cc +113 -106
  26. package/worker/deps/libwebrtc/libwebrtc/modules/congestion_controller/goog_cc/trendline_estimator.h +47 -26
  27. package/worker/deps/libwebrtc/libwebrtc/rtc_base/experiments/alr_experiment.cc +8 -5
  28. package/worker/deps/libwebrtc/libwebrtc/rtc_base/experiments/alr_experiment.h +1 -0
  29. package/worker/include/RTC/RtcLogger.hpp +58 -0
  30. package/worker/include/RTC/RtpPacket.hpp +4 -0
  31. package/worker/include/RTC/RtpStreamRecv.hpp +3 -1
  32. package/worker/include/RTC/SeqManager.hpp +0 -1
  33. package/worker/meson.build +7 -0
  34. package/worker/meson_options.txt +1 -0
  35. package/worker/src/RTC/PipeConsumer.cpp +15 -0
  36. package/worker/src/RTC/Producer.cpp +14 -1
  37. package/worker/src/RTC/Router.cpp +2 -0
  38. package/worker/src/RTC/RtcLogger.cpp +101 -0
  39. package/worker/src/RTC/RtpPacket.cpp +9 -0
  40. package/worker/src/RTC/RtpStreamRecv.cpp +14 -11
  41. package/worker/src/RTC/SeqManager.cpp +48 -65
  42. package/worker/src/RTC/SimpleConsumer.cpp +17 -0
  43. package/worker/src/RTC/SimulcastConsumer.cpp +34 -0
  44. package/worker/src/RTC/SvcConsumer.cpp +19 -0
  45. package/worker/src/RTC/Transport.cpp +7 -0
  46. package/worker/test/src/RTC/TestRtpStreamRecv.cpp +4 -3
  47. package/worker/test/src/RTC/TestSeqManager.cpp +80 -83
@@ -11,9 +11,8 @@ constexpr uint16_t kMaxNumberFor15Bits = (1 << 15) - 1;
11
11
  template<typename T>
12
12
  struct TestSeqManagerInput
13
13
  {
14
- TestSeqManagerInput(
15
- T input, T output, bool sync = false, bool drop = false, T offset = 0, int64_t maxInput = -1)
16
- : input(input), output(output), sync(sync), drop(drop), offset(offset), maxInput(maxInput)
14
+ TestSeqManagerInput(T input, T output, bool sync = false, bool drop = false, int64_t maxInput = -1)
15
+ : input(input), output(output), sync(sync), drop(drop), maxInput(maxInput)
17
16
  {
18
17
  }
19
18
 
@@ -21,7 +20,6 @@ struct TestSeqManagerInput
21
20
  T output{ 0 };
22
21
  bool sync{ false };
23
22
  bool drop{ false };
24
- T offset{ 0 };
25
23
  int64_t maxInput{ -1 };
26
24
  };
27
25
 
@@ -31,10 +29,9 @@ void validate(SeqManager<T, N>& seqManager, std::vector<TestSeqManagerInput<T>>&
31
29
  for (auto& element : inputs)
32
30
  {
33
31
  if (element.sync)
32
+ {
34
33
  seqManager.Sync(element.input - 1);
35
-
36
- if (element.offset)
37
- seqManager.Offset(element.offset);
34
+ }
38
35
 
39
36
  if (element.drop)
40
37
  {
@@ -299,14 +296,14 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
299
296
  // clang-format off
300
297
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
301
298
  {
302
- { 0, 0, false, false },
303
- { 1, 1, false, false },
304
- { 2, 2, false, false },
305
- { 80, 23, true, false, 20 },
306
- { 81, 24, false, false },
307
- { 82, 25, false, false },
308
- { 83, 26, false, false },
309
- { 84, 27, false, false }
299
+ { 0, 0, false, false },
300
+ { 1, 1, false, false },
301
+ { 2, 2, false, false },
302
+ { 80, 3, true, false },
303
+ { 81, 4, false, false },
304
+ { 82, 5, false, false },
305
+ { 83, 6, false, false },
306
+ { 84, 7, false, false }
310
307
  };
311
308
  // clang-format on
312
309
 
@@ -553,16 +550,16 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
553
550
  // clang-format off
554
551
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
555
552
  {
556
- { 32762, 1, true, false, 0, 32762 },
557
- { 32763, 2, false, false, 0, 32763 },
558
- { 32764, 3, false, false, 0, 32764 },
559
- { 32765, 0, false, true, 0, 32765 },
560
- { 32766, 0, false, true, 0, 32766 },
561
- { 32767, 4, false, false, 0, 32767 },
562
- { 0, 5, false, false, 0, 0 },
563
- { 1, 6, false, false, 0, 1 },
564
- { 2, 7, false, false, 0, 2 },
565
- { 3, 8, false, false, 0, 3 }
553
+ { 32762, 1, true, false, 32762 },
554
+ { 32763, 2, false, false, 32763 },
555
+ { 32764, 3, false, false, 32764 },
556
+ { 32765, 0, false, true, 32765 },
557
+ { 32766, 0, false, true, 32766 },
558
+ { 32767, 4, false, false, 32767 },
559
+ { 0, 5, false, false, 0 },
560
+ { 1, 6, false, false, 1 },
561
+ { 2, 7, false, false, 2 },
562
+ { 3, 8, false, false, 3 }
566
563
  };
567
564
  // clang-format on
568
565
 
@@ -575,12 +572,12 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
575
572
  // clang-format off
576
573
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
577
574
  {
578
- { 0, 1, true, false, 0, 0 },
575
+ { 0, 1, true, false, 0 },
579
576
  };
580
577
  for (uint16_t j = 0; j < 3; ++j) {
581
578
  for (uint16_t i = 1; i < std::numeric_limits<uint16_t>::max(); ++i) {
582
579
  const uint16_t output = i + 1;
583
- inputs.emplace_back( i, output, false, false, 0, i );
580
+ inputs.emplace_back( i, output, false, false, i );
584
581
  }
585
582
  }
586
583
  // clang-format on
@@ -594,12 +591,12 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
594
591
  // clang-format off
595
592
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
596
593
  {
597
- { 0, 1, true, false, 0, 0 },
594
+ { 0, 1, true, false, 0, },
598
595
  };
599
596
  for (uint16_t j = 0; j < 3; ++j) {
600
597
  for (uint16_t i = 1; i < kMaxNumberFor15Bits; ++i) {
601
598
  const uint16_t output = i + 1;
602
- inputs.emplace_back( i, output, false, false, 0, i );
599
+ inputs.emplace_back( i, output, false, false, i );
603
600
  }
604
601
  }
605
602
  // clang-format on
@@ -632,17 +629,17 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
632
629
  // clang-format off
633
630
  std::vector<TestSeqManagerInput<uint8_t>> inputs =
634
631
  {
635
- { 1, 1, false, false, 0 },
636
- { 2, 0, false, true, 0 }, // Drop.
637
- { 3, 2, false, false, 0 },
638
- { 4, 3, false, false, 0 },
639
- { 5, 4, false, false, 0 },
640
- { 6, 5, false, false, 0 },
641
- { 7, 6, false, false, 0 },
642
- { 0, 7, false, false, 0 },
643
- { 1, 0, false, false, 0 },
644
- { 2, 1, false, false, 0 },
645
- { 3, 2, false, false, 0 }
632
+ { 1, 1, false, false },
633
+ { 2, 0, false, true }, // Drop.
634
+ { 3, 2, false, false },
635
+ { 4, 3, false, false },
636
+ { 5, 4, false, false },
637
+ { 6, 5, false, false },
638
+ { 7, 6, false, false },
639
+ { 0, 7, false, false },
640
+ { 1, 0, false, false },
641
+ { 2, 1, false, false },
642
+ { 3, 2, false, false }
646
643
  };
647
644
  // clang-format on
648
645
 
@@ -655,33 +652,33 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
655
652
  // clang-format off
656
653
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
657
654
  {
658
- { 36964, 36964, false, false, 0 },
659
- { 25923, 0, false, true, 0 }, // Drop.
660
- { 25701, 25701, false, false, 0 },
661
- { 17170, 0, false, true, 0 }, // Drop.
662
- { 25923, 25923, false, false, 0 },
663
- { 4728, 0, false, true, 0 }, // Drop.
664
- { 17170, 17170, false, false, 0 },
665
- { 30738, 0, false, true, 0 }, // Drop.
666
- { 4728, 4728, false, false, 0 },
667
- { 4806, 0, false, true, 0 }, // Drop.
668
- { 30738, 30738, false, false, 0 },
669
- { 50886, 0, false, true, 0 }, // Drop.
670
- { 4806, 4805, false, false, 0 }, // Previously dropped.
671
- { 50774, 0, false, true, 0 }, // Drop.
672
- { 50886, 50884, false, false, 0 }, // Previously dropped.
673
- { 22136, 0, false, true, 0 }, // Drop.
674
- { 50774, 50884, false, false, 0 }, // Previously dropped.
675
- { 30910, 0, false, true, 0 }, // Drop.
676
- { 22136, 22134, false, false, 0 },
677
- { 48862, 0, false, true, 0 }, // Drop.
678
- { 30910, 30909, false, false, 0 },
679
- { 56832, 0, false, true, 0 }, // Drop.
680
- { 48862, 48861, false, false, 0 },
681
- { 2, 0, false, true, 0 }, // Drop.
682
- { 56832, 56828, false, false, 0 },
683
- { 530, 0, false, true, 0 }, // Drop.
684
- { 2, 65534, false, false, 0 },
655
+ { 36964, 36964, false, false },
656
+ { 25923, 0, false, true }, // Drop.
657
+ { 25701, 25701, false, false },
658
+ { 17170, 0, false, true }, // Drop.
659
+ { 25923, 25923, false, false },
660
+ { 4728, 0, false, true }, // Drop.
661
+ { 17170, 17170, false, false },
662
+ { 30738, 0, false, true }, // Drop.
663
+ { 4728, 4728, false, false },
664
+ { 4806, 0, false, true }, // Drop.
665
+ { 30738, 30738, false, false },
666
+ { 50886, 0, false, true }, // Drop.
667
+ { 4806, 4805, false, false }, // Previously dropped.
668
+ { 50774, 0, false, true }, // Drop.
669
+ { 50886, 4805, false, false }, // Previously dropped.
670
+ { 22136, 0, false, true }, // Drop.
671
+ { 50774, 50773, false, false },
672
+ { 30910, 0, false, true }, // Drop.
673
+ { 22136, 50773, false, false }, // Previously dropped.
674
+ { 48862, 0, false, true }, // Drop.
675
+ { 30910, 30909, false, false },
676
+ { 56832, 0, false, true }, // Drop.
677
+ { 48862, 48861, false, false },
678
+ { 2, 0, false, true }, // Drop.
679
+ { 56832, 48861, false, false }, // Previously dropped.
680
+ { 530, 0, false, true }, // Drop.
681
+ { 2, 48861, false, false }, // Previously dropped.
685
682
  };
686
683
  // clang-format on
687
684
 
@@ -694,13 +691,13 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
694
691
  // clang-format off
695
692
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
696
693
  {
697
- { 36960, 36960, false, false, 0 },
698
- { 3328, 0, false, true, 0 }, // Drop.
699
- { 24589, 24588, false, false, 0 },
700
- { 120, 0, false, true, 0 }, // Drop.
701
- { 3328, 3326, false, false, 0 },
702
- { 30848, 0, false, true, 0 }, // Drop.
703
- { 120, 3326, false, false, 0 }, // Previously dropped.
694
+ { 36960, 36960, false, false },
695
+ { 3328, 0, false, true }, // Drop.
696
+ { 24589, 24588, false, false },
697
+ { 120, 0, false, true }, // Drop.
698
+ { 3328, 24588, false, false }, // Previously dropped.
699
+ { 30848, 0, false, true }, // Drop.
700
+ { 120, 120, false, false },
704
701
  };
705
702
  // clang-format on
706
703
 
@@ -713,15 +710,15 @@ SCENARIO("SeqManager", "[rtc][SeqMananger]")
713
710
  // clang-format off
714
711
  std::vector<TestSeqManagerInput<uint16_t>> inputs =
715
712
  {
716
- { 36964, 36964, false, false, 0 },
717
- { 65396 , 0, false, true, 0 }, // Drop.
718
- { 25855, 25854, false, false, 0 },
719
- { 29793 , 0, false, true, 0 }, // Drop.
720
- { 65396, 65395, false, false, 0 },
721
- { 25087, 0, false, true, 0 }, // Drop.
722
- { 29793, 29791, false, false, 0 },
723
- { 65535 , 0, false, true, 0 }, // Drop.
724
- { 25087, 29791, false, false, 0 }, // Previously dropped.
713
+ { 36964, 36964, false, false },
714
+ { 65396 , 0, false, true }, // Drop.
715
+ { 25855, 25854, false, false },
716
+ { 29793 , 0, false, true }, // Drop.
717
+ { 65396, 25854, false, false }, // Previously dropped.
718
+ { 25087, 0, false, true }, // Drop.
719
+ { 29793, 25854, false, false }, // Previously dropped.
720
+ { 65535 , 0, false, true }, // Drop.
721
+ { 25087, 25086, false, false },
725
722
  };
726
723
  // clang-format on
727
724