Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
| index 6539f736dc3e7ef13d02376b185d87f21f80c213..961b53a139c3901984ee907fc10d491a68210b3a 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc |
| @@ -132,7 +132,12 @@ class MockTransportFeedbackObserver : public TransportFeedbackObserver { |
| MOCK_CONST_METHOD0(GetTransportFeedbackVector, std::vector<PacketFeedback>()); |
| }; |
| -class RtpSenderTest : public ::testing::Test { |
| +class MockOverheadObserver : public OverheadObserver { |
| + public: |
| + MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); |
| +}; |
| + |
| +class RtpSenderTest : public ::testing::TestWithParam<bool> { |
| protected: |
| RtpSenderTest() |
| : fake_clock_(kStartTime), |
| @@ -142,7 +147,9 @@ class RtpSenderTest : public ::testing::Test { |
| rtp_sender_(), |
| payload_(kPayload), |
| transport_(), |
| - kMarkerBit(true) {} |
| + kMarkerBit(true), |
| + field_trials_(GetParam() ? "WebRTC-SendSideBwe-WithOverhead/Enabled/" |
| + : "") {} |
| void SetUp() override { SetUpRtpSender(true); } |
| @@ -169,6 +176,7 @@ class RtpSenderTest : public ::testing::Test { |
| int payload_; |
| LoopbackTransportTest transport_; |
| const bool kMarkerBit; |
| + test::ScopedFieldTrials field_trials_; |
| void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) { |
| VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0); |
| @@ -247,7 +255,7 @@ class RtpSenderVideoTest : public RtpSenderTest { |
| std::unique_ptr<RTPSenderVideo> rtp_sender_video_; |
| }; |
| -TEST_F(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) { |
| +TEST_P(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) { |
| // Configure rtp_sender with csrc. |
| std::vector<uint32_t> csrcs; |
| csrcs.push_back(0x23456789); |
| @@ -260,7 +268,7 @@ TEST_F(RtpSenderTestWithoutPacer, AllocatePacketSetCsrc) { |
| EXPECT_EQ(csrcs, packet->Csrcs()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) { |
| +TEST_P(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) { |
| // Configure rtp_sender with extensions. |
| ASSERT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionTransmissionTimeOffset, |
| @@ -288,7 +296,7 @@ TEST_F(RtpSenderTestWithoutPacer, AllocatePacketReserveExtensions) { |
| EXPECT_FALSE(packet->HasExtension<VideoOrientation>()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) { |
| +TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) { |
| auto packet = rtp_sender_->AllocatePacket(); |
| ASSERT_TRUE(packet); |
| const uint16_t sequence_number = rtp_sender_->SequenceNumber(); |
| @@ -299,7 +307,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberAdvanceSequenceNumber) { |
| EXPECT_EQ(sequence_number + 1, rtp_sender_->SequenceNumber()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) { |
| +TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) { |
| auto packet = rtp_sender_->AllocatePacket(); |
| ASSERT_TRUE(packet); |
| @@ -307,7 +315,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberFailsOnNotSending) { |
| EXPECT_FALSE(rtp_sender_->AssignSequenceNumber(packet.get())); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) { |
| +TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) { |
| constexpr size_t kPaddingSize = 100; |
| auto packet = rtp_sender_->AllocatePacket(); |
| ASSERT_TRUE(packet); |
| @@ -324,7 +332,7 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberMayAllowPadding) { |
| EXPECT_TRUE(rtp_sender_->TimeToSendPadding(kPaddingSize, PacedPacketInfo())); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) { |
| +TEST_P(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) { |
| constexpr size_t kPaddingSize = 100; |
| auto packet = rtp_sender_->AllocatePacket(); |
| ASSERT_TRUE(packet); |
| @@ -339,7 +347,37 @@ TEST_F(RtpSenderTestWithoutPacer, AssignSequenceNumberSetPaddingTimestamps) { |
| EXPECT_EQ(kTimestamp, transport_.last_sent_packet().Timestamp()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { |
| +TEST_P(RtpSenderTestWithoutPacer, |
| + TransportFeedbackObserverGetsCorrectByteCount) { |
|
minyue-webrtc
2017/03/29 12:00:39
Add a reason whey moving this up:
I removed the c
|
| + constexpr int kRtpOverheadBytesPerPacket = 12 + 8; |
| + testing::NiceMock<MockOverheadObserver> mock_overhead_observer; |
| + rtp_sender_.reset(new RTPSender( |
| + false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
| + &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
| + nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |
| + rtp_sender_->SetSSRC(kSsrc); |
| + EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| + kRtpExtensionTransportSequenceNumber, |
| + kTransportSequenceNumberExtensionId)); |
| + EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
| + .WillOnce(testing::Return(kTransportSequenceNumber)); |
| + |
| + const size_t expected_bytes = |
| + GetParam() ? sizeof(kPayloadData) + kGenericHeaderLength + |
| + kRtpOverheadBytesPerPacket |
| + : sizeof(kPayloadData) + kGenericHeaderLength; |
| + |
| + EXPECT_CALL(feedback_observer_, |
| + AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
| + expected_bytes, PacedPacketInfo())) |
| + .Times(1); |
| + EXPECT_CALL(mock_overhead_observer, |
| + OnOverheadChanged(kRtpOverheadBytesPerPacket)) |
| + .Times(1); |
| + SendGenericPayload(); |
| +} |
| + |
| +TEST_P(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { |
| rtp_sender_.reset(new RTPSender( |
| false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
| &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
| @@ -354,10 +392,10 @@ TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { |
| EXPECT_CALL(send_packet_observer_, |
| OnSendPacket(kTransportSequenceNumber, _, _)) |
| .Times(1); |
| - EXPECT_CALL( |
| - feedback_observer_, |
| - AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
| - sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) |
| + |
| + EXPECT_CALL(feedback_observer_, |
| + AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, |
| + PacedPacketInfo())) |
| .Times(1); |
| SendGenericPayload(); |
| @@ -369,11 +407,11 @@ TEST_F(RtpSenderTestWithoutPacer, SendsPacketsWithTransportSequenceNumber) { |
| EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, NoAllocationIfNotRegistered) { |
| +TEST_P(RtpSenderTestWithoutPacer, NoAllocationIfNotRegistered) { |
| SendGenericPayload(); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, OnSendPacketUpdated) { |
| +TEST_P(RtpSenderTestWithoutPacer, OnSendPacketUpdated) { |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionTransportSequenceNumber, |
| kTransportSequenceNumberExtensionId)); |
| @@ -386,7 +424,7 @@ TEST_F(RtpSenderTestWithoutPacer, OnSendPacketUpdated) { |
| SendGenericPayload(); |
| } |
| -TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) { |
| +TEST_P(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) { |
| rtp_sender_.reset(new RTPSender( |
| false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr, |
| &seq_num_allocator_, &feedback_observer_, nullptr, nullptr, nullptr, |
| @@ -405,10 +443,9 @@ TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) { |
| EXPECT_CALL(send_packet_observer_, |
| OnSendPacket(kTransportSequenceNumber, _, _)) |
| .Times(1); |
| - EXPECT_CALL( |
| - feedback_observer_, |
| - AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
| - sizeof(kPayloadData) + kGenericHeaderLength, PacedPacketInfo())) |
| + EXPECT_CALL(feedback_observer_, |
| + AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, _, |
| + PacedPacketInfo())) |
| .Times(1); |
| SendGenericPayload(); |
| @@ -423,7 +460,7 @@ TEST_F(RtpSenderTest, SendsPacketsWithTransportSequenceNumber) { |
| EXPECT_EQ(transport_.last_packet_id_, transport_seq_no); |
| } |
| -TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) { |
| +TEST_P(RtpSenderTest, TrafficSmoothingWithExtensions) { |
| EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
| kSsrc, kSeqNum, _, _, _)); |
| EXPECT_CALL(mock_rtc_event_log_, |
| @@ -468,7 +505,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) { |
| EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); |
| } |
| -TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) { |
| +TEST_P(RtpSenderTest, TrafficSmoothingRetransmits) { |
| EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
| kSsrc, kSeqNum, _, _, _)); |
| EXPECT_CALL(mock_rtc_event_log_, |
| @@ -521,7 +558,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) { |
| // This test sends 1 regular video packet, then 4 padding packets, and then |
| // 1 more regular packet. |
| -TEST_F(RtpSenderTest, SendPadding) { |
| +TEST_P(RtpSenderTest, SendPadding) { |
| // Make all (non-padding) packets go to send queue. |
| EXPECT_CALL(mock_paced_sender_, InsertPacket(RtpPacketSender::kNormalPriority, |
| kSsrc, kSeqNum, _, _, _)); |
| @@ -629,7 +666,7 @@ TEST_F(RtpSenderTest, SendPadding) { |
| EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); |
| } |
| -TEST_F(RtpSenderTest, OnSendPacketUpdated) { |
| +TEST_P(RtpSenderTest, OnSendPacketUpdated) { |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionTransportSequenceNumber, |
| kTransportSequenceNumberExtensionId)); |
| @@ -651,7 +688,7 @@ TEST_F(RtpSenderTest, OnSendPacketUpdated) { |
| EXPECT_EQ(1, transport_.packets_sent()); |
| } |
| -TEST_F(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) { |
| +TEST_P(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) { |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionTransportSequenceNumber, |
| kTransportSequenceNumberExtensionId)); |
| @@ -671,7 +708,7 @@ TEST_F(RtpSenderTest, OnSendPacketNotUpdatedForRetransmits) { |
| EXPECT_EQ(1, transport_.packets_sent()); |
| } |
| -TEST_F(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) { |
| +TEST_P(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) { |
| rtp_sender_.reset(new RTPSender( |
| false, &fake_clock_, &transport_, &mock_paced_sender_, nullptr, |
| nullptr /* TransportSequenceNumberAllocator */, nullptr, nullptr, nullptr, |
| @@ -697,7 +734,7 @@ TEST_F(RtpSenderTest, OnSendPacketNotUpdatedWithoutSeqNumAllocator) { |
| EXPECT_EQ(1, transport_.packets_sent()); |
| } |
| -TEST_F(RtpSenderTest, SendRedundantPayloads) { |
| +TEST_P(RtpSenderTest, SendRedundantPayloads) { |
| MockTransport transport; |
| rtp_sender_.reset(new RTPSender( |
| false, &fake_clock_, &transport, &mock_paced_sender_, nullptr, nullptr, |
| @@ -766,7 +803,7 @@ TEST_F(RtpSenderTest, SendRedundantPayloads) { |
| rtp_sender_->TimeToSendPadding(999, PacedPacketInfo())); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) { |
| +TEST_P(RtpSenderTestWithoutPacer, SendGenericVideo) { |
| char payload_name[RTP_PAYLOAD_NAME_SIZE] = "GENERIC"; |
| const uint8_t payload_type = 127; |
| ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 90000, |
| @@ -800,7 +837,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) { |
| EXPECT_THAT(sent_payload.subview(1), ElementsAreArray(payload)); |
| } |
| -TEST_F(RtpSenderTest, SendFlexfecPackets) { |
| +TEST_P(RtpSenderTest, SendFlexfecPackets) { |
| constexpr int kMediaPayloadType = 127; |
| constexpr int kFlexfecPayloadType = 118; |
| constexpr uint32_t kMediaSsrc = 1234; |
| @@ -855,7 +892,7 @@ TEST_F(RtpSenderTest, SendFlexfecPackets) { |
| EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, SendFlexfecPackets) { |
| +TEST_P(RtpSenderTestWithoutPacer, SendFlexfecPackets) { |
| constexpr int kMediaPayloadType = 127; |
| constexpr int kFlexfecPayloadType = 118; |
| constexpr uint32_t kMediaSsrc = 1234; |
| @@ -894,7 +931,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendFlexfecPackets) { |
| EXPECT_EQ(kFlexfecSsrc, flexfec_packet.Ssrc()); |
| } |
| -TEST_F(RtpSenderTest, FecOverheadRate) { |
| +TEST_P(RtpSenderTest, FecOverheadRate) { |
| constexpr int kMediaPayloadType = 127; |
| constexpr int kFlexfecPayloadType = 118; |
| constexpr uint32_t kMediaSsrc = 1234; |
| @@ -940,7 +977,7 @@ TEST_F(RtpSenderTest, FecOverheadRate) { |
| rtp_sender_->FecOverheadRate(), 500); |
| } |
| -TEST_F(RtpSenderTest, FrameCountCallbacks) { |
| +TEST_P(RtpSenderTest, FrameCountCallbacks) { |
| class TestCallback : public FrameCountObserver { |
| public: |
| TestCallback() : FrameCountObserver(), num_calls_(0), ssrc_(0) {} |
| @@ -995,7 +1032,7 @@ TEST_F(RtpSenderTest, FrameCountCallbacks) { |
| rtp_sender_.reset(); |
| } |
| -TEST_F(RtpSenderTest, BitrateCallbacks) { |
| +TEST_P(RtpSenderTest, BitrateCallbacks) { |
| class TestCallback : public BitrateStatisticsObserver { |
| public: |
| TestCallback() |
| @@ -1088,7 +1125,7 @@ class RtpSenderAudioTest : public RtpSenderTest { |
| } |
| }; |
| -TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) { |
| +TEST_P(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) { |
| class TestCallback : public StreamDataCountersCallback { |
| public: |
| TestCallback() : StreamDataCountersCallback(), ssrc_(0), counters_() {} |
| @@ -1186,7 +1223,7 @@ TEST_F(RtpSenderTestWithoutPacer, StreamDataCountersCallbacks) { |
| rtp_sender_->RegisterRtpStatisticsCallback(nullptr); |
| } |
| -TEST_F(RtpSenderAudioTest, SendAudio) { |
| +TEST_P(RtpSenderAudioTest, SendAudio) { |
| char payload_name[RTP_PAYLOAD_NAME_SIZE] = "PAYLOAD_NAME"; |
| const uint8_t payload_type = 127; |
| ASSERT_EQ(0, rtp_sender_->RegisterPayload(payload_name, payload_type, 48000, |
| @@ -1201,7 +1238,7 @@ TEST_F(RtpSenderAudioTest, SendAudio) { |
| EXPECT_THAT(sent_payload, ElementsAreArray(payload)); |
| } |
| -TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) { |
| +TEST_P(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) { |
| EXPECT_EQ(0, rtp_sender_->SetAudioLevel(kAudioLevel)); |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAudioLevel, |
| kAudioLevelExtensionId)); |
| @@ -1233,7 +1270,7 @@ TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) { |
| // This test checks the marker bit for the first packet and the consequent |
| // packets of the same telephone event. Since it is specifically for DTMF |
| // events, ignoring audio packets and sending kEmptyFrame instead of those. |
| -TEST_F(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) { |
| +TEST_P(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) { |
| const char* kDtmfPayloadName = "telephone-event"; |
| const uint32_t kPayloadFrequency = 8000; |
| const uint8_t kPayloadType = 126; |
| @@ -1271,7 +1308,7 @@ TEST_F(RtpSenderAudioTest, CheckMarkerBitForTelephoneEvents) { |
| EXPECT_FALSE(transport_.last_sent_packet().Marker()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, BytesReportedCorrectly) { |
| +TEST_P(RtpSenderTestWithoutPacer, BytesReportedCorrectly) { |
| const char* kPayloadName = "GENERIC"; |
| const uint8_t kPayloadType = 127; |
| rtp_sender_->SetSSRC(1234); |
| @@ -1318,7 +1355,7 @@ TEST_F(RtpSenderTestWithoutPacer, BytesReportedCorrectly) { |
| rtp_stats.transmitted.TotalBytes() + rtx_stats.transmitted.TotalBytes()); |
| } |
| -TEST_F(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) { |
| +TEST_P(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) { |
| const int32_t kPacketSize = 1400; |
| const int32_t kNumPackets = 30; |
| @@ -1350,7 +1387,7 @@ TEST_F(RtpSenderTestWithoutPacer, RespectsNackBitrateLimit) { |
| EXPECT_EQ(kNumPackets * 2, transport_.packets_sent()); |
| } |
| -TEST_F(RtpSenderVideoTest, KeyFrameHasCVO) { |
| +TEST_P(RtpSenderVideoTest, KeyFrameHasCVO) { |
| uint8_t kFrame[kMaxPacketLength]; |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionVideoRotation, kVideoRotationExtensionId)); |
| @@ -1367,7 +1404,7 @@ TEST_F(RtpSenderVideoTest, KeyFrameHasCVO) { |
| EXPECT_EQ(kVideoRotation_0, rotation); |
| } |
| -TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) { |
| +TEST_P(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) { |
| uint8_t kFrame[kMaxPacketLength]; |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionVideoRotation, kVideoRotationExtensionId)); |
| @@ -1389,7 +1426,7 @@ TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenChanged) { |
| EXPECT_EQ(kVideoRotation_0, rotation); |
| } |
| -TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) { |
| +TEST_P(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) { |
| uint8_t kFrame[kMaxPacketLength]; |
| EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| kRtpExtensionVideoRotation, kVideoRotationExtensionId)); |
| @@ -1412,7 +1449,7 @@ TEST_F(RtpSenderVideoTest, DeltaFrameHasCVOWhenNonZero) { |
| // Make sure rotation is parsed correctly when the Camera (C) and Flip (F) bits |
| // are set in the CVO byte. |
| -TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) { |
| +TEST_P(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) { |
| // Test extracting rotation when Camera (C) and Flip (F) bits are zero. |
| EXPECT_EQ(kVideoRotation_0, ConvertCVOByteToVideoRotation(0)); |
| EXPECT_EQ(kVideoRotation_90, ConvertCVOByteToVideoRotation(1)); |
| @@ -1431,14 +1468,7 @@ TEST_F(RtpSenderVideoTest, SendVideoWithCameraAndFlipCVO) { |
| ConvertCVOByteToVideoRotation(flip_bit | camera_bit | 3)); |
| } |
| -namespace { |
| -class MockOverheadObserver : public OverheadObserver { |
|
danilchap
2017/03/29 10:49:11
you already have this Mock defined above.
minyue-webrtc
2017/03/29 12:00:39
I think I just moved it above
danilchap
2017/03/29 12:40:59
oops, sorry, got confused between 'old code' and '
minyue-webrtc
2017/04/03 07:12:52
NP, I sometimes get the exactly same confusion.
|
| - public: |
| - MOCK_METHOD1(OnOverheadChanged, void(size_t overhead_bytes_per_packet)); |
| -}; |
| -} // namespace |
| - |
| -TEST_F(RtpSenderTest, OnOverheadChanged) { |
| +TEST_P(RtpSenderTest, OnOverheadChanged) { |
| MockOverheadObserver mock_overhead_observer; |
| rtp_sender_.reset( |
| new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, |
| @@ -1459,7 +1489,7 @@ TEST_F(RtpSenderTest, OnOverheadChanged) { |
| SendGenericPayload(); |
| } |
| -TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { |
| +TEST_P(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { |
| MockOverheadObserver mock_overhead_observer; |
| rtp_sender_.reset( |
| new RTPSender(false, &fake_clock_, &transport_, nullptr, nullptr, nullptr, |
| @@ -1472,34 +1502,7 @@ TEST_F(RtpSenderTest, DoesNotUpdateOverheadOnEqualSize) { |
| SendGenericPayload(); |
| } |
| -TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) { |
| - constexpr int kRtpOverheadBytesPerPacket = 12 + 8; |
| - test::ScopedFieldTrials override_field_trials( |
| - "WebRTC-SendSideBwe-WithOverhead/Enabled/"); |
| - testing::NiceMock<MockOverheadObserver> mock_overhead_observer; |
| - rtp_sender_.reset(new RTPSender( |
| - false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_, |
| - &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_, |
| - nullptr, &retransmission_rate_limiter_, &mock_overhead_observer)); |
| - rtp_sender_->SetSSRC(kSsrc); |
| - EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension( |
| - kRtpExtensionTransportSequenceNumber, |
| - kTransportSequenceNumberExtensionId)); |
| - EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber()) |
| - .WillOnce(testing::Return(kTransportSequenceNumber)); |
| - EXPECT_CALL(feedback_observer_, |
| - AddPacket(rtp_sender_->SSRC(), kTransportSequenceNumber, |
| - sizeof(kPayloadData) + kGenericHeaderLength + |
| - kRtpOverheadBytesPerPacket, |
| - PacedPacketInfo())) |
| - .Times(1); |
| - EXPECT_CALL(mock_overhead_observer, |
| - OnOverheadChanged(kRtpOverheadBytesPerPacket)) |
| - .Times(1); |
| - SendGenericPayload(); |
| -} |
| - |
| -TEST_F(RtpSenderTest, SendAudioPadding) { |
| +TEST_P(RtpSenderTest, SendAudioPadding) { |
| MockTransport transport; |
| const bool kEnableAudio = true; |
| rtp_sender_.reset(new RTPSender( |
| @@ -1525,4 +1528,17 @@ TEST_F(RtpSenderTest, SendAudioPadding) { |
| kMinPaddingSize, |
| rtp_sender_->TimeToSendPadding(kMinPaddingSize - 5, PacedPacketInfo())); |
| } |
| + |
| +INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
| + RtpSenderTest, |
| + ::testing::Bool()); |
| +INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
| + RtpSenderTestWithoutPacer, |
| + ::testing::Bool()); |
| +INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
| + RtpSenderVideoTest, |
| + ::testing::Bool()); |
| +INSTANTIATE_TEST_CASE_P(WithAndWithoutOverhead, |
| + RtpSenderAudioTest, |
| + ::testing::Bool()); |
| } // namespace webrtc |