Skip to content

Commit 89447ac

Browse files
authored
Worker: Consumer, remove unneeded unique pointer (#1684)
SeqManager in [XYZ]Consumer does not need to be a unique pointer. Use a simple instance and remove a level of indirection.
1 parent e79817a commit 89447ac

File tree

8 files changed

+35
-37
lines changed

8 files changed

+35
-37
lines changed

worker/include/RTC/PipeConsumer.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ namespace RTC
8181
absl::flat_hash_map<uint32_t, RTC::RtpStreamSend*> mapSsrcRtpStream;
8282
bool keyFrameSupported{ false };
8383
absl::flat_hash_map<RTC::RtpStreamSend*, bool> mapRtpStreamSyncRequired;
84-
absl::flat_hash_map<RTC::RtpStreamSend*, std::unique_ptr<RTC::SeqManager<uint16_t>>>
85-
mapRtpStreamRtpSeqManager;
84+
absl::flat_hash_map<RTC::RtpStreamSend*, RTC::SeqManager<uint16_t>> mapRtpStreamRtpSeqManager;
8685
// Buffers to store packets that arrive earlier than the first packet of the
8786
// video key frame.
8887
absl::flat_hash_map<

worker/include/RTC/SimpleConsumer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ namespace RTC
9090
RTC::RtpStreamRecv* producerRtpStream{ nullptr };
9191
bool keyFrameSupported{ false };
9292
bool syncRequired{ false };
93-
std::unique_ptr<RTC::SeqManager<uint16_t>> rtpSeqManager;
93+
RTC::SeqManager<uint16_t> rtpSeqManager;
9494
bool managingBitrate{ false };
9595
std::unique_ptr<RTC::Codecs::EncodingContext> encodingContext;
9696
// Buffer to store packets that arrive earlier than the first packet of the

worker/include/RTC/SimulcastConsumer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ namespace RTC
118118
bool syncRequired{ false };
119119
int16_t spatialLayerToSync{ -1 };
120120
bool lastSentPacketHasMarker{ false };
121-
std::unique_ptr<RTC::SeqManager<uint16_t>> rtpSeqManager;
121+
RTC::SeqManager<uint16_t> rtpSeqManager;
122122
VideoLayers preferredLayers;
123123
VideoLayers provisionalTargetLayers;
124124
VideoLayers targetLayers;

worker/include/RTC/SvcConsumer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ namespace RTC
102102
std::vector<RTC::RtpStreamSend*> rtpStreams;
103103
RTC::RtpStreamRecv* producerRtpStream{ nullptr };
104104
bool syncRequired{ false };
105-
std::unique_ptr<RTC::SeqManager<uint16_t>> rtpSeqManager;
105+
RTC::SeqManager<uint16_t> rtpSeqManager;
106106
VideoLayers preferredLayers;
107107
VideoLayers provisionalTargetLayers;
108108
std::unique_ptr<RTC::Codecs::EncodingContext> encodingContext;

worker/src/RTC/PipeConsumer.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ namespace RTC
286286
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::CONSUMER_INACTIVE);
287287
#endif
288288

289-
rtpSeqManager->Drop(packet->GetSequenceNumber());
289+
rtpSeqManager.Drop(packet->GetSequenceNumber());
290290

291291
return;
292292
}
@@ -323,7 +323,7 @@ namespace RTC
323323
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::UNSUPPORTED_PAYLOAD_TYPE);
324324
#endif
325325

326-
rtpSeqManager->Drop(packet->GetSequenceNumber());
326+
rtpSeqManager.Drop(packet->GetSequenceNumber());
327327

328328
return;
329329
}
@@ -335,7 +335,7 @@ namespace RTC
335335
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::EMPTY_PAYLOAD);
336336
#endif
337337

338-
rtpSeqManager->Drop(packet->GetSequenceNumber());
338+
rtpSeqManager.Drop(packet->GetSequenceNumber());
339339

340340
return;
341341
}
@@ -362,15 +362,15 @@ namespace RTC
362362
sendPacketsInTargetLayerRetransmissionBuffer = true;
363363
}
364364

365-
rtpSeqManager->Sync(packet->GetSequenceNumber() - 1);
365+
rtpSeqManager.Sync(packet->GetSequenceNumber() - 1);
366366

367367
syncRequired = false;
368368
}
369369

370370
// Update RTP seq number and timestamp.
371371
uint16_t seq;
372372

373-
rtpSeqManager->Input(packet->GetSequenceNumber(), seq);
373+
rtpSeqManager.Input(packet->GetSequenceNumber(), seq);
374374

375375
// Save original packet fields.
376376
auto origSsrc = packet->GetSsrc();
@@ -832,8 +832,7 @@ namespace RTC
832832
const uint16_t initialOutputSeq =
833833
Utils::Crypto::GetRandomUInt(1000u, std::numeric_limits<uint16_t>::max() / 2);
834834

835-
this->mapRtpStreamRtpSeqManager[rtpStream].reset(
836-
new RTC::SeqManager<uint16_t>(initialOutputSeq));
835+
this->mapRtpStreamRtpSeqManager[rtpStream] = RTC::SeqManager<uint16_t>(initialOutputSeq);
837836

838837
this->mapRtpStreamTargetLayerRetransmissionBuffer[rtpStream];
839838
}

worker/src/RTC/SimpleConsumer.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ namespace RTC
5151
const uint16_t initialOutputSeq =
5252
Utils::Crypto::GetRandomUInt(1000u, std::numeric_limits<uint16_t>::max() / 2);
5353

54-
this->rtpSeqManager.reset(new RTC::SeqManager<uint16_t>(initialOutputSeq));
54+
this->rtpSeqManager = RTC::SeqManager<uint16_t>(initialOutputSeq);
5555

5656
// Create the encoding context for Opus.
5757
if (
@@ -327,7 +327,7 @@ namespace RTC
327327
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::CONSUMER_INACTIVE);
328328
#endif
329329

330-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
330+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
331331

332332
return;
333333
}
@@ -363,7 +363,7 @@ namespace RTC
363363
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::UNSUPPORTED_PAYLOAD_TYPE);
364364
#endif
365365

366-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
366+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
367367

368368
return;
369369
}
@@ -375,7 +375,7 @@ namespace RTC
375375
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::EMPTY_PAYLOAD);
376376
#endif
377377

378-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
378+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
379379

380380
return;
381381
}
@@ -395,7 +395,7 @@ namespace RTC
395395
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::DROPPED_BY_CODEC);
396396
#endif
397397

398-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
398+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
399399

400400
return;
401401
}
@@ -422,15 +422,15 @@ namespace RTC
422422
sendPacketsInTargetLayerRetransmissionBuffer = true;
423423
}
424424

425-
this->rtpSeqManager->Sync(packet->GetSequenceNumber() - 1);
425+
this->rtpSeqManager.Sync(packet->GetSequenceNumber() - 1);
426426

427427
this->syncRequired = false;
428428
}
429429

430430
// Update RTP seq number and timestamp.
431431
uint16_t seq;
432432

433-
this->rtpSeqManager->Input(packet->GetSequenceNumber(), seq);
433+
this->rtpSeqManager.Input(packet->GetSequenceNumber(), seq);
434434

435435
// Save original packet fields.
436436
auto origSsrc = packet->GetSsrc();

worker/src/RTC/SimulcastConsumer.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ namespace RTC
111111
const uint16_t initialOutputSeq =
112112
Utils::Crypto::GetRandomUInt(1000u, std::numeric_limits<uint16_t>::max() / 2);
113113

114-
this->rtpSeqManager.reset(new RTC::SeqManager<uint16_t>(initialOutputSeq));
114+
this->rtpSeqManager = RTC::SeqManager<uint16_t>(initialOutputSeq);
115115

116116
RTC::Codecs::EncodingContext::Params params;
117117

@@ -741,7 +741,7 @@ namespace RTC
741741
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::CONSUMER_INACTIVE);
742742
#endif
743743

744-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
744+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
745745
}
746746

747747
return;
@@ -757,7 +757,7 @@ namespace RTC
757757
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::INVALID_TARGET_LAYER);
758758
#endif
759759

760-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
760+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
761761
}
762762

763763
return;
@@ -779,7 +779,7 @@ namespace RTC
779779
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::UNSUPPORTED_PAYLOAD_TYPE);
780780
#endif
781781

782-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
782+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
783783
}
784784

785785
return;
@@ -860,7 +860,7 @@ namespace RTC
860860
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::EMPTY_PAYLOAD);
861861
#endif
862862

863-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
863+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
864864
}
865865

866866
return;
@@ -1022,7 +1022,7 @@ namespace RTC
10221022
// 'packet->GetSequenceNumber() -2' may increase SeqManager::base and
10231023
// increase the output sequence number.
10241024
// https://github.com/versatica/mediasoup/issues/408
1025-
this->rtpSeqManager->Sync(packet->GetSequenceNumber() - (this->lastSentPacketHasMarker ? 1 : 2));
1025+
this->rtpSeqManager.Sync(packet->GetSequenceNumber() - (this->lastSentPacketHasMarker ? 1 : 2));
10261026

10271027
this->encodingContext->SyncRequired();
10281028

@@ -1045,7 +1045,7 @@ namespace RTC
10451045
RtcLogger::RtpPacket::DiscardReason::PACKET_PREVIOUS_TO_SPATIAL_LAYER_SWITCH);
10461046
#endif
10471047

1048-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
1048+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
10491049

10501050
return;
10511051
}
@@ -1095,7 +1095,7 @@ namespace RTC
10951095
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::DROPPED_BY_CODEC);
10961096
#endif
10971097

1098-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
1098+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
10991099

11001100
return;
11011101
}
@@ -1110,7 +1110,7 @@ namespace RTC
11101110
uint16_t seq;
11111111
const uint32_t timestamp = packet->GetTimestamp() - this->tsOffset;
11121112

1113-
this->rtpSeqManager->Input(packet->GetSequenceNumber(), seq);
1113+
this->rtpSeqManager.Input(packet->GetSequenceNumber(), seq);
11141114

11151115
// Save original packet fields.
11161116
auto origSsrc = packet->GetSsrc();
@@ -1146,7 +1146,7 @@ namespace RTC
11461146

11471147
if (result != RTC::RtpStreamSend::ReceivePacketResult::DISCARDED)
11481148
{
1149-
if (this->rtpSeqManager->GetMaxOutput() == packet->GetSequenceNumber())
1149+
if (this->rtpSeqManager.GetMaxOutput() == packet->GetSequenceNumber())
11501150
{
11511151
this->lastSentPacketHasMarker = packet->HasMarker();
11521152
}

worker/src/RTC/SvcConsumer.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ namespace RTC
9191
const uint16_t initialOutputSeq =
9292
Utils::Crypto::GetRandomUInt(1000u, std::numeric_limits<uint16_t>::max() / 2);
9393

94-
this->rtpSeqManager.reset(new RTC::SeqManager<uint16_t>(initialOutputSeq));
94+
this->rtpSeqManager = RTC::SeqManager<uint16_t>(initialOutputSeq);
9595

9696
RTC::Codecs::EncodingContext::Params params;
9797

@@ -624,7 +624,7 @@ namespace RTC
624624
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::CONSUMER_INACTIVE);
625625
#endif
626626

627-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
627+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
628628

629629
return;
630630
}
@@ -640,7 +640,7 @@ namespace RTC
640640
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::INVALID_TARGET_LAYER);
641641
#endif
642642

643-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
643+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
644644

645645
return;
646646
}
@@ -675,7 +675,7 @@ namespace RTC
675675
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::UNSUPPORTED_PAYLOAD_TYPE);
676676
#endif
677677

678-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
678+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
679679

680680
return;
681681
}
@@ -687,7 +687,7 @@ namespace RTC
687687
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::EMPTY_PAYLOAD);
688688
#endif
689689

690-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
690+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
691691

692692
return;
693693
}
@@ -714,7 +714,7 @@ namespace RTC
714714
sendPacketsInTargetLayerRetransmissionBuffer = true;
715715
}
716716

717-
this->rtpSeqManager->Sync(packet->GetSequenceNumber() - 1);
717+
this->rtpSeqManager.Sync(packet->GetSequenceNumber() - 1);
718718
this->encodingContext->SyncRequired();
719719

720720
this->syncRequired = false;
@@ -731,7 +731,7 @@ namespace RTC
731731
packet->logger.Discarded(RtcLogger::RtpPacket::DiscardReason::DROPPED_BY_CODEC);
732732
#endif
733733

734-
this->rtpSeqManager->Drop(packet->GetSequenceNumber());
734+
this->rtpSeqManager.Drop(packet->GetSequenceNumber());
735735

736736
return;
737737
}
@@ -745,7 +745,7 @@ namespace RTC
745745
// Update RTP seq number and timestamp based on NTP offset.
746746
uint16_t seq;
747747

748-
this->rtpSeqManager->Input(packet->GetSequenceNumber(), seq);
748+
this->rtpSeqManager.Input(packet->GetSequenceNumber(), seq);
749749

750750
// Save original packet fields.
751751
auto origSsrc = packet->GetSsrc();

0 commit comments

Comments
 (0)