From 730b9f38df264c3376309fb6c49ee1a1e49d41b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?I=C3=B1aki=20Baz=20Castillo?= Date: Tue, 2 Jul 2024 11:29:56 +0200 Subject: [PATCH] use make_unique --- worker/test/src/RTC/TestRtpStreamSend.cpp | 96 +++++++++-------------- 1 file changed, 36 insertions(+), 60 deletions(-) diff --git a/worker/test/src/RTC/TestRtpStreamSend.cpp b/worker/test/src/RTC/TestRtpStreamSend.cpp index 0ce0925a46..c3f454a6c6 100644 --- a/worker/test/src/RTC/TestRtpStreamSend.cpp +++ b/worker/test/src/RTC/TestRtpStreamSend.cpp @@ -4,20 +4,22 @@ #include "RTC/RtpStream.hpp" #include "RTC/RtpStreamSend.hpp" #include +#include #include // #define PERFORMANCE_TEST 1 using namespace RTC; -static RtpPacket* CreateRtpPacket(uint8_t* buffer, size_t len, uint16_t seq, uint32_t timestamp) +static std::unique_ptr CreateRtpPacket( + uint8_t* buffer, size_t len, uint16_t seq, uint32_t timestamp) { auto* packet = RtpPacket::Parse(buffer, len); packet->SetSequenceNumber(seq); packet->SetTimestamp(timestamp); - return packet; + return std::unique_ptr(packet); } static void SendRtpPacket(std::vector> streams, RtpPacket* packet) @@ -78,20 +80,15 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") SECTION("receive NACK and get retransmitted packets") { // packet1 [pt:123, seq:21006, timestamp:1533790901] - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); // packet2 [pt:123, seq:21007, timestamp:1533790901] - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); // packet3 [pt:123, seq:21008, timestamp:1533793871] - std::unique_ptr packet3( - CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); + auto packet3(CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); // packet4 [pt:123, seq:21009, timestamp:1533793871] - std::unique_ptr packet4( - CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); + auto packet4(CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); // packet5 [pt:123, seq:21010, timestamp:1533796931] - std::unique_ptr packet5( - CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); + auto packet5(CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -104,7 +101,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params.mimeType.type = RTC::RtpCodecMimeType::Type::VIDEO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params, mid); // Receive all the packets (some of them not in order and/or duplicated). SendRtpPacket({ { stream.get(), params.ssrc } }, packet1.get()); @@ -146,20 +143,15 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") SECTION("receive NACK and get zero retransmitted packets if useNack is not set") { // packet1 [pt:123, seq:21006, timestamp:1533790901] - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); // packet2 [pt:123, seq:21007, timestamp:1533790901] - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); // packet3 [pt:123, seq:21008, timestamp:1533793871] - std::unique_ptr packet3( - CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); + auto packet3(CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); // packet4 [pt:123, seq:21009, timestamp:1533793871] - std::unique_ptr packet4( - CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); + auto packet4(CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); // packet5 [pt:123, seq:21010, timestamp:1533796931] - std::unique_ptr packet5( - CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); + auto packet5(CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -172,7 +164,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params.mimeType.type = RTC::RtpCodecMimeType::Type::VIDEO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params, mid); // Receive all the packets (some of them not in order and/or duplicated). SendRtpPacket({ { stream.get(), params.ssrc } }, packet1.get()); @@ -202,20 +194,15 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") SECTION("receive NACK and get zero retransmitted packets for audio") { // packet1 [pt:123, seq:21006, timestamp:1533790901] - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); // packet2 [pt:123, seq:21007, timestamp:1533790901] - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); // packet3 [pt:123, seq:21008, timestamp:1533793871] - std::unique_ptr packet3( - CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); + auto packet3(CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, 1533793871)); // packet4 [pt:123, seq:21009, timestamp:1533793871] - std::unique_ptr packet4( - CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); + auto packet4(CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 21009, 1533793871)); // packet5 [pt:123, seq:21010, timestamp:1533796931] - std::unique_ptr packet5( - CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); + auto packet5(CreateRtpPacket(rtpBuffer5, sizeof(rtpBuffer5), 21010, 1533796931)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -228,7 +215,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params.mimeType.type = RTC::RtpCodecMimeType::Type::AUDIO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params, mid); // Receive all the packets (some of them not in order and/or duplicated). SendRtpPacket({ { stream.get(), params.ssrc } }, packet1.get()); @@ -258,11 +245,9 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") SECTION("receive NACK in different RtpStreamSend instances and get retransmitted packets") { // packet1 [pt:123, seq:21006, timestamp:1533790901] - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, 1533790901)); // packet2 [pt:123, seq:21007, timestamp:1533790901] - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, 1533790901)); // Create two RtpStreamSend instances. TestRtpStreamListener testRtpStreamListener1; @@ -334,10 +319,8 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") uint32_t diffTs = RtpStreamSend::MaxRetransmissionDelayForVideoMs * clockRate / 1000; uint32_t secondTs = firstTs + diffTs; - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, firstTs)); - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, secondTs - 1)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, firstTs)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, secondTs - 1)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -350,7 +333,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params1.mimeType.type = RTC::RtpCodecMimeType::Type::VIDEO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params1, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params1, mid); // Receive all the packets. SendRtpPacket({ { stream.get(), params1.ssrc } }, packet1.get()); @@ -389,12 +372,9 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") // Send a third packet so it will clean old packets from the buffer. uint32_t thirdTs = firstTs + (2 * diffTs); - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, firstTs)); - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, secondTs)); - std::unique_ptr packet3( - CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, thirdTs)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 21006, firstTs)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 21007, secondTs)); + auto packet3(CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 21008, thirdTs)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -407,7 +387,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params1.mimeType.type = RTC::RtpCodecMimeType::Type::VIDEO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params1, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params1, mid); // Receive all the packets. SendRtpPacket({ { stream.get(), params1.ssrc } }, packet1.get()); @@ -439,18 +419,14 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") { // This scenario reproduce the "too bad sequence number" and "bad sequence // number" scenarios in RtpStream::UpdateSeq(). - std::unique_ptr packet1( - CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 50001, 1000001)); - std::unique_ptr packet2( - CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 50002, 1000002)); + auto packet1(CreateRtpPacket(rtpBuffer1, sizeof(rtpBuffer1), 50001, 1000001)); + auto packet2(CreateRtpPacket(rtpBuffer2, sizeof(rtpBuffer2), 50002, 1000002)); // Third packet has bad sequence number (its seq is more than MaxDropout=3000 // older than current max seq) and will be dropped. - std::unique_ptr packet3( - CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 40003, 1000003)); + auto packet3(CreateRtpPacket(rtpBuffer3, sizeof(rtpBuffer3), 40003, 1000003)); // Forth packet has seq=badSeq+1 so will be accepted and will trigger a // stream reset. - std::unique_ptr packet4( - CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 40004, 1000004)); + auto packet4(CreateRtpPacket(rtpBuffer4, sizeof(rtpBuffer4), 40004, 1000004)); // Create a RtpStreamSend instance. TestRtpStreamListener testRtpStreamListener; @@ -463,7 +439,7 @@ SCENARIO("NACK and RTP packets retransmission", "[rtp][rtcp][nack]") params1.mimeType.type = RTC::RtpCodecMimeType::Type::VIDEO; std::string mid; - std::unique_ptr stream(new RtpStreamSend(&testRtpStreamListener, params1, mid)); + auto stream = std::make_unique(&testRtpStreamListener, params1, mid); SendRtpPacket({ { stream.get(), params1.ssrc } }, packet1.get()); SendRtpPacket({ { stream.get(), params1.ssrc } }, packet2.get());