mediasoup 3.23.2 → 3.24.0

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 (70) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/node/lib/DataProducer.d.ts +1 -1
  3. package/node/lib/DataProducer.d.ts.map +1 -1
  4. package/node/lib/DataProducer.js +2 -2
  5. package/node/lib/DataProducerTypes.d.ts +1 -1
  6. package/node/lib/DataProducerTypes.d.ts.map +1 -1
  7. package/node/lib/fbs/data-producer/send-notification.d.ts +5 -2
  8. package/node/lib/fbs/data-producer/send-notification.d.ts.map +1 -1
  9. package/node/lib/fbs/data-producer/send-notification.js +17 -5
  10. package/node/lib/test/test-PipeTransport.js +18 -4
  11. package/package.json +3 -3
  12. package/worker/fbs/dataProducer.fbs +1 -0
  13. package/worker/include/RTC/DataConsumer.hpp +1 -0
  14. package/worker/include/RTC/DataProducer.hpp +4 -2
  15. package/worker/include/RTC/RateCalculator.hpp +5 -5
  16. package/worker/include/RTC/Router.hpp +2 -1
  17. package/worker/include/RTC/SubchannelsCodec.hpp +27 -17
  18. package/worker/include/RTC/Transport.hpp +4 -2
  19. package/worker/src/Channel/ChannelMessageRegistrator.cpp +2 -0
  20. package/worker/src/Channel/ChannelRequest.cpp +2 -0
  21. package/worker/src/Channel/ChannelSocket.cpp +4 -0
  22. package/worker/src/DepLibUV.cpp +6 -3
  23. package/worker/src/RTC/ActiveSpeakerObserver.cpp +8 -0
  24. package/worker/src/RTC/AudioLevelObserver.cpp +4 -0
  25. package/worker/src/RTC/DataConsumer.cpp +19 -2
  26. package/worker/src/RTC/DataProducer.cpp +11 -4
  27. package/worker/src/RTC/DirectTransport.cpp +4 -0
  28. package/worker/src/RTC/DtlsTransport.cpp +16 -0
  29. package/worker/src/RTC/ICE/IceCandidate.cpp +8 -0
  30. package/worker/src/RTC/ICE/StunPacket.cpp +2 -0
  31. package/worker/src/RTC/NackGenerator.cpp +2 -0
  32. package/worker/src/RTC/PipeTransport.cpp +4 -0
  33. package/worker/src/RTC/PlainTransport.cpp +10 -0
  34. package/worker/src/RTC/PortManager.cpp +8 -0
  35. package/worker/src/RTC/Producer.cpp +4 -0
  36. package/worker/src/RTC/RTCP/CompoundPacket.cpp +8 -0
  37. package/worker/src/RTC/RTCP/Feedback.cpp +8 -0
  38. package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +2 -0
  39. package/worker/src/RTC/RTCP/FeedbackPsSli.cpp +2 -0
  40. package/worker/src/RTC/RTCP/FeedbackPsVbcm.cpp +2 -0
  41. package/worker/src/RTC/RTCP/FeedbackRtpNack.cpp +2 -0
  42. package/worker/src/RTC/RTCP/FeedbackRtpTllei.cpp +2 -0
  43. package/worker/src/RTC/RTCP/FeedbackRtpTmmb.cpp +5 -0
  44. package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +8 -0
  45. package/worker/src/RTC/RTCP/Sdes.cpp +2 -0
  46. package/worker/src/RTC/RTP/Codecs/AV1.cpp +2 -0
  47. package/worker/src/RTC/RTP/Codecs/DependencyDescriptor.cpp +6 -0
  48. package/worker/src/RTC/RTP/Codecs/VP8.cpp +2 -0
  49. package/worker/src/RTC/RateCalculator.cpp +42 -37
  50. package/worker/src/RTC/Router.cpp +12 -3
  51. package/worker/src/RTC/RtpDictionaries/RtpHeaderExtensionUri.cpp +5 -0
  52. package/worker/src/RTC/RtpDictionaries/RtpParameters.cpp +2 -0
  53. package/worker/src/RTC/SCTP/association/Association.cpp +2 -0
  54. package/worker/src/RTC/SCTP/rx/DataTracker.cpp +2 -0
  55. package/worker/src/RTC/SeqManager.cpp +12 -0
  56. package/worker/src/RTC/SrtpSession.cpp +6 -0
  57. package/worker/src/RTC/SubchannelsCodec.cpp +38 -6
  58. package/worker/src/RTC/Transport.cpp +12 -6
  59. package/worker/src/RTC/TransportCongestionControlClient.cpp +12 -0
  60. package/worker/src/RTC/TransportCongestionControlServer.cpp +2 -0
  61. package/worker/src/Utils/BitStream.cpp +2 -0
  62. package/worker/src/Worker.cpp +2 -0
  63. package/worker/src/handles/SignalHandle.cpp +4 -0
  64. package/worker/src/handles/TcpConnectionHandle.cpp +12 -0
  65. package/worker/src/handles/TcpServerHandle.cpp +6 -0
  66. package/worker/src/handles/TimerHandle.cpp +4 -0
  67. package/worker/src/handles/UdpSocketHandle.cpp +10 -0
  68. package/worker/src/handles/UnixStreamSocketHandle.cpp +10 -0
  69. package/worker/test/src/RTC/TestRateCalculator.cpp +45 -45
  70. package/worker/test/src/RTC/TestSubchannelsCodec.cpp +161 -19
@@ -4,7 +4,6 @@
4
4
  #include "RTC/DataProducer.hpp"
5
5
  #include "Logger.hpp"
6
6
  #include "MediaSoupErrors.hpp"
7
- #include "Settings.hpp"
8
7
  #include <vector>
9
8
 
10
9
  namespace RTC
@@ -229,6 +228,13 @@ namespace RTC
229
228
  requiredSubchannel = body->requiredSubchannel();
230
229
  }
231
230
 
231
+ std::optional<uint16_t> ignoredSubchannel{ std::nullopt };
232
+
233
+ if (body->ignoredSubchannel().has_value())
234
+ {
235
+ ignoredSubchannel = body->ignoredSubchannel();
236
+ }
237
+
232
238
  const uint16_t streamId =
233
239
  this->type == DataProducer::Type::SCTP ? this->sctpStreamParameters.streamId : 0;
234
240
 
@@ -236,7 +242,7 @@ namespace RTC
236
242
  // move the message and pass its ownership to the SCTP stack.
237
243
  RTC::SCTP::Message message(streamId, body->ppid(), std::vector<uint8_t>(data, data + len));
238
244
 
239
- ReceiveMessage(std::move(message), subchannels, requiredSubchannel);
245
+ ReceiveMessage(std::move(message), subchannels, requiredSubchannel, ignoredSubchannel);
240
246
 
241
247
  // Increase receive transmission.
242
248
  this->listener->OnDataProducerReceiveData(this, len);
@@ -254,7 +260,8 @@ namespace RTC
254
260
  void DataProducer::ReceiveMessage(
255
261
  RTC::SCTP::Message message,
256
262
  std::vector<uint16_t>& subchannels,
257
- std::optional<uint16_t> requiredSubchannel)
263
+ std::optional<uint16_t> requiredSubchannel,
264
+ std::optional<uint16_t> ignoredSubchannel)
258
265
  {
259
266
  MS_TRACE();
260
267
 
@@ -268,6 +275,6 @@ namespace RTC
268
275
  }
269
276
 
270
277
  this->listener->OnDataProducerMessageReceived(
271
- this, std::move(message), subchannels, requiredSubchannel);
278
+ this, std::move(message), subchannels, requiredSubchannel, ignoredSubchannel);
272
279
  }
273
280
  } // namespace RTC
@@ -43,6 +43,8 @@ namespace RTC
43
43
  flatbuffers::Offset<FBS::DirectTransport::DumpResponse> DirectTransport::FillBuffer(
44
44
  flatbuffers::FlatBufferBuilder& builder) const
45
45
  {
46
+ MS_TRACE();
47
+
46
48
  // Add base transport dump.
47
49
  auto base = Transport::FillBuffer(builder);
48
50
 
@@ -138,6 +140,8 @@ namespace RTC
138
140
 
139
141
  inline bool DirectTransport::IsConnected() const
140
142
  {
143
+ MS_TRACE();
144
+
141
145
  return true;
142
146
  }
143
147
 
@@ -45,6 +45,8 @@ inline static int onSslCertificateVerify(int /*preverifyOk*/, X509_STORE_CTX* /*
45
45
 
46
46
  inline static void onSslInfo(const SSL* ssl, int where, int ret)
47
47
  {
48
+ MS_TRACE();
49
+
48
50
  static_cast<RTC::DtlsTransport*>(SSL_get_ex_data(ssl, 0))->OnSslInfo(where, ret);
49
51
  }
50
52
 
@@ -66,6 +68,8 @@ inline static long onSslBioOut(
66
68
  int ret,
67
69
  size_t* /*processed*/)
68
70
  {
71
+ MS_TRACE();
72
+
69
73
  const long resultOfcallback = (operationType == BIO_CB_RETURN) ? static_cast<long>(ret) : 1;
70
74
 
71
75
  // This callback is called twice for write operations:
@@ -84,6 +88,8 @@ inline static long onSslBioOut(
84
88
 
85
89
  inline static unsigned int onSslDtlsTimer(SSL* /*ssl*/, unsigned int timerUs)
86
90
  {
91
+ MS_TRACE();
92
+
87
93
  if (timerUs == 0u)
88
94
  {
89
95
  return 100000u;
@@ -200,6 +206,8 @@ namespace RTC
200
206
 
201
207
  DtlsTransport::Role DtlsTransport::RoleFromFbs(FBS::WebRtcTransport::DtlsRole role)
202
208
  {
209
+ MS_TRACE();
210
+
203
211
  switch (role)
204
212
  {
205
213
  case FBS::WebRtcTransport::DtlsRole::AUTO:
@@ -223,6 +231,8 @@ namespace RTC
223
231
 
224
232
  FBS::WebRtcTransport::DtlsRole DtlsTransport::RoleToFbs(DtlsTransport::Role role)
225
233
  {
234
+ MS_TRACE();
235
+
226
236
  switch (role)
227
237
  {
228
238
  case DtlsTransport::Role::AUTO:
@@ -246,6 +256,8 @@ namespace RTC
246
256
 
247
257
  FBS::WebRtcTransport::DtlsState DtlsTransport::StateToFbs(DtlsTransport::DtlsState state)
248
258
  {
259
+ MS_TRACE();
260
+
249
261
  switch (state)
250
262
  {
251
263
  case DtlsTransport::DtlsState::NEW:
@@ -280,6 +292,8 @@ namespace RTC
280
292
  DtlsTransport::FingerprintAlgorithm DtlsTransport::AlgorithmFromFbs(
281
293
  FBS::WebRtcTransport::FingerprintAlgorithm algorithm)
282
294
  {
295
+ MS_TRACE();
296
+
283
297
  switch (algorithm)
284
298
  {
285
299
  case FBS::WebRtcTransport::FingerprintAlgorithm::SHA1:
@@ -314,6 +328,8 @@ namespace RTC
314
328
  FBS::WebRtcTransport::FingerprintAlgorithm DtlsTransport::AlgorithmToFbs(
315
329
  DtlsTransport::FingerprintAlgorithm algorithm)
316
330
  {
331
+ MS_TRACE();
332
+
317
333
  switch (algorithm)
318
334
  {
319
335
  case DtlsTransport::FingerprintAlgorithm::SHA1:
@@ -13,6 +13,8 @@ namespace RTC
13
13
  IceCandidate::CandidateType IceCandidate::CandidateTypeFromFbs(
14
14
  FBS::WebRtcTransport::IceCandidateType type)
15
15
  {
16
+ MS_TRACE();
17
+
16
18
  switch (type)
17
19
  {
18
20
  case FBS::WebRtcTransport::IceCandidateType::HOST:
@@ -27,6 +29,8 @@ namespace RTC
27
29
  FBS::WebRtcTransport::IceCandidateType IceCandidate::CandidateTypeToFbs(
28
30
  IceCandidate::CandidateType type)
29
31
  {
32
+ MS_TRACE();
33
+
30
34
  switch (type)
31
35
  {
32
36
  case IceCandidate::CandidateType::HOST:
@@ -41,6 +45,8 @@ namespace RTC
41
45
  IceCandidate::TcpCandidateType IceCandidate::TcpCandidateTypeFromFbs(
42
46
  FBS::WebRtcTransport::IceCandidateTcpType type)
43
47
  {
48
+ MS_TRACE();
49
+
44
50
  switch (type)
45
51
  {
46
52
  case FBS::WebRtcTransport::IceCandidateTcpType::PASSIVE:
@@ -55,6 +61,8 @@ namespace RTC
55
61
  FBS::WebRtcTransport::IceCandidateTcpType IceCandidate::TcpCandidateTypeToFbs(
56
62
  IceCandidate::TcpCandidateType type)
57
63
  {
64
+ MS_TRACE();
65
+
58
66
  switch (type)
59
67
  {
60
68
  case IceCandidate::TcpCandidateType::PASSIVE:
@@ -26,6 +26,8 @@ namespace RTC
26
26
 
27
27
  bool StunPacket::IsStun(const uint8_t* buffer, size_t bufferLength)
28
28
  {
29
+ MS_TRACE();
30
+
29
31
  return (
30
32
  // STUN headers are 20 bytes.
31
33
  (bufferLength >= StunPacket::FixedHeaderLength) &&
@@ -355,6 +355,8 @@ namespace RTC
355
355
 
356
356
  inline void NackGenerator::MayRunTimer() const
357
357
  {
358
+ MS_TRACE();
359
+
358
360
  if (this->nackList.empty())
359
361
  {
360
362
  this->timer->Stop();
@@ -490,11 +490,15 @@ namespace RTC
490
490
 
491
491
  inline bool PipeTransport::IsConnected() const
492
492
  {
493
+ MS_TRACE();
494
+
493
495
  return this->tuple ? true : false;
494
496
  }
495
497
 
496
498
  inline bool PipeTransport::HasSrtp() const
497
499
  {
500
+ MS_TRACE();
501
+
498
502
  return !this->srtpKey.empty();
499
503
  }
500
504
 
@@ -791,16 +791,22 @@ namespace RTC
791
791
 
792
792
  inline bool PlainTransport::IsConnected() const
793
793
  {
794
+ MS_TRACE();
795
+
794
796
  return this->tuple ? true : false;
795
797
  }
796
798
 
797
799
  inline bool PlainTransport::HasSrtp() const
798
800
  {
801
+ MS_TRACE();
802
+
799
803
  return !this->srtpKey.empty();
800
804
  }
801
805
 
802
806
  inline bool PlainTransport::IsSrtpReady() const
803
807
  {
808
+ MS_TRACE();
809
+
804
810
  return HasSrtp() && this->srtpSendSession && this->srtpRecvSession;
805
811
  }
806
812
 
@@ -1222,6 +1228,8 @@ namespace RTC
1222
1228
 
1223
1229
  inline void PlainTransport::EmitTuple() const
1224
1230
  {
1231
+ MS_TRACE();
1232
+
1225
1233
  auto tuple = this->tuple->FillBuffer(this->shared->GetChannelNotifier()->GetBufferBuilder());
1226
1234
  auto notification = FBS::PlainTransport::CreateTupleNotification(
1227
1235
  this->shared->GetChannelNotifier()->GetBufferBuilder(), tuple);
@@ -1235,6 +1243,8 @@ namespace RTC
1235
1243
 
1236
1244
  inline void PlainTransport::EmitRtcpTuple() const
1237
1245
  {
1246
+ MS_TRACE();
1247
+
1238
1248
  auto rtcpTuple =
1239
1249
  this->rtcpTuple->FillBuffer(this->shared->GetChannelNotifier()->GetBufferBuilder());
1240
1250
  auto notification = FBS::PlainTransport::CreateRtcpTupleNotification(
@@ -15,16 +15,22 @@
15
15
  // ensuring that we call `delete xxx` with same type as `new xxx` before.
16
16
  static inline void onCloseUdp(uv_handle_t* handle)
17
17
  {
18
+ MS_TRACE();
19
+
18
20
  delete reinterpret_cast<uv_udp_t*>(handle);
19
21
  }
20
22
 
21
23
  static inline void onCloseTcp(uv_handle_t* handle)
22
24
  {
25
+ MS_TRACE();
26
+
23
27
  delete reinterpret_cast<uv_tcp_t*>(handle);
24
28
  }
25
29
 
26
30
  inline static void onFakeConnection(uv_stream_t* /*handle*/, int /*status*/)
27
31
  {
32
+ MS_TRACE();
33
+
28
34
  // Do nothing.
29
35
  }
30
36
 
@@ -641,6 +647,8 @@ namespace RTC
641
647
 
642
648
  void PortManager::Dump(int indentation) const
643
649
  {
650
+ MS_TRACE();
651
+
644
652
  MS_DUMP_CLEAN(indentation, "<PortManager>");
645
653
 
646
654
  for (const auto& kv : PortManager::mapPortRanges)
@@ -1642,6 +1642,8 @@ namespace RTC
1642
1642
  inline void Producer::OnRtpStreamSendRtcpPacket(
1643
1643
  RTC::RTP::RtpStreamRecv* /*rtpStream*/, RTC::RTCP::Packet* packet)
1644
1644
  {
1645
+ MS_TRACE();
1646
+
1645
1647
  switch (packet->GetType())
1646
1648
  {
1647
1649
  case RTC::RTCP::Type::PSFB:
@@ -1698,6 +1700,8 @@ namespace RTC
1698
1700
  inline void Producer::OnRtpStreamNeedWorstRemoteFractionLost(
1699
1701
  RTC::RTP::RtpStreamRecv* rtpStream, uint8_t& worstRemoteFractionLost)
1700
1702
  {
1703
+ MS_TRACE();
1704
+
1701
1705
  auto mappedSsrc = this->mapRtpStreamMappedSsrc.at(rtpStream);
1702
1706
 
1703
1707
  // Notify the listener.
@@ -13,6 +13,8 @@ namespace RTC
13
13
 
14
14
  size_t CompoundPacket::GetSize()
15
15
  {
16
+ MS_TRACE();
17
+
16
18
  size_t size{ 0 };
17
19
 
18
20
  if (this->senderReportPacket.GetCount() > 0u)
@@ -77,6 +79,8 @@ namespace RTC
77
79
  SdesChunk* sdesChunk,
78
80
  DelaySinceLastRr::SsrcInfo* delaySinceLastRrSsrcInfo)
79
81
  {
82
+ MS_TRACE();
83
+
80
84
  // Add the items into the packet.
81
85
 
82
86
  if (senderReport)
@@ -136,6 +140,8 @@ namespace RTC
136
140
  std::vector<SdesChunk*>& sdesChunks,
137
141
  std::vector<DelaySinceLastRr::SsrcInfo*>& delaySinceLastRrSsrcInfos)
138
142
  {
143
+ MS_TRACE();
144
+
139
145
  // Add the items into the packet.
140
146
 
141
147
  for (auto* report : senderReports)
@@ -194,6 +200,8 @@ namespace RTC
194
200
  std::vector<ReceiverReport*>& receiverReports,
195
201
  ReceiverReferenceTime* receiverReferenceTimeReport)
196
202
  {
203
+ MS_TRACE();
204
+
197
205
  // Add the items into the packet.
198
206
 
199
207
  for (auto* report : receiverReports)
@@ -28,6 +28,8 @@ namespace RTC
28
28
  template<typename T>
29
29
  const std::string& FeedbackPacket<T>::MessageTypeToString(typename T::MessageType type)
30
30
  {
31
+ MS_TRACE();
32
+
31
33
  static const std::string Unknown("UNKNOWN");
32
34
 
33
35
  auto it = FeedbackPacket<T>::MessageType2String.find(type);
@@ -46,6 +48,8 @@ namespace RTC
46
48
  FeedbackPacket<T>::FeedbackPacket(CommonHeader* commonHeader)
47
49
  : Packet(commonHeader), messageType(typename T::MessageType(commonHeader->count))
48
50
  {
51
+ MS_TRACE();
52
+
49
53
  this->header = reinterpret_cast<Header*>(
50
54
  reinterpret_cast<uint8_t*>(commonHeader) + Packet::CommonHeaderSize);
51
55
  }
@@ -55,6 +59,8 @@ namespace RTC
55
59
  typename T::MessageType messageType, uint32_t senderSsrc, uint32_t mediaSsrc)
56
60
  : Packet(rtcpType), messageType(messageType)
57
61
  {
62
+ MS_TRACE();
63
+
58
64
  this->raw = new uint8_t[HeaderSize];
59
65
  this->header = reinterpret_cast<Header*>(this->raw);
60
66
  this->header->senderSsrc = htonl(senderSsrc);
@@ -64,6 +70,8 @@ namespace RTC
64
70
  template<typename T>
65
71
  FeedbackPacket<T>::~FeedbackPacket()
66
72
  {
73
+ MS_TRACE();
74
+
67
75
  delete[] this->raw;
68
76
  }
69
77
 
@@ -42,6 +42,8 @@ namespace RTC
42
42
  FeedbackPsRembPacket::FeedbackPsRembPacket(CommonHeader* commonHeader, size_t availableLen)
43
43
  : FeedbackPsAfbPacket(commonHeader, FeedbackPsAfbPacket::Application::REMB)
44
44
  {
45
+ MS_TRACE();
46
+
45
47
  const size_t len = static_cast<size_t>(ntohs(commonHeader->length) + 1) * 4;
46
48
 
47
49
  if (len > availableLen)
@@ -25,6 +25,8 @@ namespace RTC
25
25
 
26
26
  size_t FeedbackPsSliItem::Serialize(uint8_t* buffer)
27
27
  {
28
+ MS_TRACE();
29
+
28
30
  const uint32_t compact = (this->first << 19) | (this->number << 6) | this->pictureId;
29
31
  auto* header = reinterpret_cast<Header*>(buffer);
30
32
 
@@ -13,6 +13,8 @@ namespace RTC
13
13
  FeedbackPsVbcmItem::FeedbackPsVbcmItem(
14
14
  uint32_t ssrc, uint8_t sequenceNumber, uint8_t payloadType, uint16_t length, uint8_t* value)
15
15
  {
16
+ MS_TRACE();
17
+
16
18
  this->raw = new uint8_t[8 + length];
17
19
  this->header = reinterpret_cast<Header*>(this->raw);
18
20
 
@@ -14,6 +14,8 @@ namespace RTC
14
14
  /* Instance methods. */
15
15
  FeedbackRtpNackItem::FeedbackRtpNackItem(uint16_t packetId, uint16_t lostPacketBitmask)
16
16
  {
17
+ MS_TRACE();
18
+
17
19
  this->raw = new uint8_t[HeaderSize];
18
20
  this->header = reinterpret_cast<Header*>(this->raw);
19
21
 
@@ -12,6 +12,8 @@ namespace RTC
12
12
  /* Instance methods. */
13
13
  FeedbackRtpTlleiItem::FeedbackRtpTlleiItem(uint16_t packetId, uint16_t lostPacketBitmask)
14
14
  {
15
+ MS_TRACE();
16
+
15
17
  this->raw = new uint8_t[HeaderSize];
16
18
  this->header = reinterpret_cast<Header*>(this->raw);
17
19
 
@@ -14,11 +14,14 @@ namespace RTC
14
14
  FeedbackRtpTmmbItem<T>::FeedbackRtpTmmbItem(const Header* header)
15
15
  : FeedbackRtpTmmbItem<T>(reinterpret_cast<const uint8_t*>(header))
16
16
  {
17
+ MS_TRACE();
17
18
  }
18
19
 
19
20
  template<typename T>
20
21
  FeedbackRtpTmmbItem<T>::FeedbackRtpTmmbItem(const uint8_t* data)
21
22
  {
23
+ MS_TRACE();
24
+
22
25
  this->ssrc = Utils::Byte::Get4Bytes(data, 0);
23
26
 
24
27
  // Read the 4 bytes block.
@@ -42,6 +45,8 @@ namespace RTC
42
45
  template<typename T>
43
46
  size_t FeedbackRtpTmmbItem<T>::Serialize(uint8_t* buffer)
44
47
  {
48
+ MS_TRACE();
49
+
45
50
  static constexpr uint32_t MaxMantissa{ 0x1ffff }; // 17 bits.
46
51
 
47
52
  uint64_t mantissa = this->bitrate;
@@ -556,6 +556,8 @@ namespace RTC
556
556
 
557
557
  void FeedbackRtpTransportPacket::CreateRunLengthChunk(Status status, uint16_t count)
558
558
  {
559
+ MS_TRACE();
560
+
559
561
  auto* chunk = new RunLengthChunk(status, count);
560
562
 
561
563
  this->chunks.push_back(chunk);
@@ -565,6 +567,8 @@ namespace RTC
565
567
 
566
568
  void FeedbackRtpTransportPacket::CreateOneBitVectorChunk(std::vector<Status>& statuses)
567
569
  {
570
+ MS_TRACE();
571
+
568
572
  auto* chunk = new OneBitVectorChunk(statuses);
569
573
 
570
574
  this->chunks.push_back(chunk);
@@ -574,6 +578,8 @@ namespace RTC
574
578
 
575
579
  void FeedbackRtpTransportPacket::CreateTwoBitVectorChunk(std::vector<Status>& statuses)
576
580
  {
581
+ MS_TRACE();
582
+
577
583
  auto* chunk = new TwoBitVectorChunk(statuses);
578
584
 
579
585
  this->chunks.push_back(chunk);
@@ -583,6 +589,8 @@ namespace RTC
583
589
 
584
590
  void FeedbackRtpTransportPacket::AddPendingChunks()
585
591
  {
592
+ MS_TRACE();
593
+
586
594
  // No pending status packets.
587
595
  if (this->context.statuses.empty())
588
596
  {
@@ -56,6 +56,8 @@ namespace RTC
56
56
 
57
57
  const std::string& SdesItem::TypeToString(SdesItem::Type type)
58
58
  {
59
+ MS_TRACE();
60
+
59
61
  static const std::string Unknown("UNKNOWN");
60
62
 
61
63
  auto it = SdesItem::Type2String.find(type);
@@ -110,6 +110,8 @@ namespace RTC
110
110
 
111
111
  void AV1::PayloadDescriptor::Encoder::Encode(PayloadDescriptor* payloadDescriptor) const
112
112
  {
113
+ MS_TRACE();
114
+
113
115
  payloadDescriptor->UpdateActiveDecodeTargets(
114
116
  this->encodingData.maxSpatialLayer, this->encodingData.maxTemporalLayer);
115
117
  }
@@ -100,11 +100,15 @@ namespace RTC
100
100
 
101
101
  uint8_t DependencyDescriptor::GetSpatialLayer() const
102
102
  {
103
+ MS_TRACE();
104
+
103
105
  return this->templateDependencyStructure->templateLayers[this->templateId].spatialLayer;
104
106
  }
105
107
 
106
108
  uint8_t DependencyDescriptor::GetTemporalLayer() const
107
109
  {
110
+ MS_TRACE();
111
+
108
112
  return this->templateDependencyStructure->templateLayers[this->templateId].temporalLayer;
109
113
  }
110
114
 
@@ -188,6 +192,8 @@ namespace RTC
188
192
 
189
193
  void DependencyDescriptor::UpdateListener(DependencyDescriptor::Listener* listener)
190
194
  {
195
+ MS_TRACE();
196
+
191
197
  this->listener = listener;
192
198
  }
193
199
 
@@ -264,6 +264,8 @@ namespace RTC
264
264
  void VP8::PayloadDescriptor::Encoder::Encode(
265
265
  uint8_t* data, const PayloadDescriptor* payloadDescriptor) const
266
266
  {
267
+ MS_TRACE();
268
+
267
269
  payloadDescriptor->Encode(
268
270
  data, this->encodingData.pictureId, this->encodingData.tl0PictureIndex);
269
271
  }