| Index: webrtc/modules/rtp_rtcp/source/flexfec_sender_unittest.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/flexfec_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/flexfec_sender_unittest.cc
|
| index da3efc9f18bdafc9fa7f41276b292ef737e88fe8..7c26b80bddf285345ea78c3fdc1f919f76bf8a73 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/flexfec_sender_unittest.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/flexfec_sender_unittest.cc
|
| @@ -78,7 +78,7 @@ TEST(FlexfecSenderTest, Ssrc) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
|
|
| EXPECT_EQ(kFlexfecSsrc, sender.ssrc());
|
| }
|
| @@ -87,7 +87,7 @@ TEST(FlexfecSenderTest, NoFecAvailableBeforeMediaAdded) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
|
|
| EXPECT_FALSE(sender.FecAvailable());
|
| auto fec_packets = sender.GetFecPackets();
|
| @@ -98,7 +98,7 @@ TEST(FlexfecSenderTest, ProtectOneFrameWithOneFecPacket) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_EQ(kRtpHeaderSize, fec_packet->headers_size());
|
| @@ -121,7 +121,7 @@ TEST(FlexfecSenderTest, ProtectTwoFramesWithOneFecPacket) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| sender.SetFecParameters(params);
|
|
|
| AugmentedPacketGenerator packet_generator(kMediaSsrc);
|
| @@ -161,7 +161,7 @@ TEST(FlexfecSenderTest, ProtectTwoFramesWithTwoFecPackets) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| sender.SetFecParameters(params);
|
|
|
| AugmentedPacketGenerator packet_generator(kMediaSsrc);
|
| @@ -197,7 +197,7 @@ TEST(FlexfecSenderTest, NoRtpHeaderExtensionsForBweByDefault) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_FALSE(fec_packet->HasExtension<AbsoluteSendTime>());
|
| @@ -211,7 +211,7 @@ TEST(FlexfecSenderTest, RegisterAbsoluteSendTimeRtpHeaderExtension) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_TRUE(fec_packet->HasExtension<AbsoluteSendTime>());
|
| @@ -225,7 +225,7 @@ TEST(FlexfecSenderTest, RegisterTransmissionOffsetRtpHeaderExtension) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_FALSE(fec_packet->HasExtension<AbsoluteSendTime>());
|
| @@ -239,7 +239,7 @@ TEST(FlexfecSenderTest, RegisterTransportSequenceNumberRtpHeaderExtension) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_FALSE(fec_packet->HasExtension<AbsoluteSendTime>());
|
| @@ -255,7 +255,7 @@ TEST(FlexfecSenderTest, RegisterAllRtpHeaderExtensionsForBwe) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
| auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
|
|
| EXPECT_TRUE(fec_packet->HasExtension<AbsoluteSendTime>());
|
| @@ -267,7 +267,7 @@ TEST(FlexfecSenderTest, MaxPacketOverhead) {
|
| SimulatedClock clock(kInitialSimulatedClockTime);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
|
|
| EXPECT_EQ(kFlexfecMaxHeaderSize, sender.MaxPacketOverhead());
|
| }
|
| @@ -287,10 +287,37 @@ TEST(FlexfecSenderTest, MaxPacketOverheadWithExtensions) {
|
| kExtensionHeaderLength + TransportSequenceNumber::kValueSizeBytes);
|
| FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| kRtpHeaderExtensions, RTPSender::FecExtensionSizes(),
|
| - &clock);
|
| + nullptr /* rtp_state */, &clock);
|
|
|
| EXPECT_EQ(kExtensionsTotalSize + kFlexfecMaxHeaderSize,
|
| sender.MaxPacketOverhead());
|
| }
|
|
|
| +TEST(FlexfecSenderTest, SetsAndGetsRtpState) {
|
| + RtpState initial_rtp_state;
|
| + initial_rtp_state.sequence_number = 100;
|
| + initial_rtp_state.start_timestamp = 200;
|
| + SimulatedClock clock(kInitialSimulatedClockTime);
|
| + FlexfecSender sender(kFlexfecPayloadType, kFlexfecSsrc, kMediaSsrc,
|
| + kNoRtpHeaderExtensions, kNoRtpHeaderExtensionSizes,
|
| + &initial_rtp_state, &clock);
|
| +
|
| + auto fec_packet = GenerateSingleFlexfecPacket(&sender);
|
| + EXPECT_EQ(initial_rtp_state.sequence_number, fec_packet->SequenceNumber());
|
| + EXPECT_EQ(initial_rtp_state.start_timestamp, fec_packet->Timestamp());
|
| +
|
| + clock.AdvanceTimeMilliseconds(1000);
|
| + fec_packet = GenerateSingleFlexfecPacket(&sender);
|
| + EXPECT_EQ(initial_rtp_state.sequence_number + 1,
|
| + fec_packet->SequenceNumber());
|
| + EXPECT_EQ(initial_rtp_state.start_timestamp + 1 * kVideoPayloadTypeFrequency,
|
| + fec_packet->Timestamp());
|
| +
|
| + RtpState updated_rtp_state = sender.GetRtpState();
|
| + EXPECT_EQ(initial_rtp_state.sequence_number + 2,
|
| + updated_rtp_state.sequence_number);
|
| + EXPECT_EQ(initial_rtp_state.start_timestamp,
|
| + updated_rtp_state.start_timestamp);
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|