Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc

Issue 1748403002: Move RtcEventLog object from inside VoiceEngine to Call. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Introduce proxy object for RtcEventLog and handle other comments. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 /* 11 /*
12 * This file includes unit tests for the RTPSender. 12 * This file includes unit tests for the RTPSender.
13 */ 13 */
14 14
15 #include <list> 15 #include <list>
16 #include <vector> 16 #include <vector>
17 17
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 #include "webrtc/base/buffer.h" 20 #include "webrtc/base/buffer.h"
21 #include "webrtc/base/scoped_ptr.h" 21 #include "webrtc/base/scoped_ptr.h"
22 #include "webrtc/call/mock/mock_rtc_event_log.h" 22 #include "webrtc/call/mock/mock_rtc_event_log.h"
23 #include "webrtc/call/rtc_event_log_proxy.h"
23 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" 24 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h"
24 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" 25 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h"
25 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 26 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
26 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h" 27 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h"
27 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" 28 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h"
28 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" 29 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h"
29 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" 30 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h"
30 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" 31 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
31 #include "webrtc/system_wrappers/include/stl_util.h" 32 #include "webrtc/system_wrappers/include/stl_util.h"
32 #include "webrtc/test/mock_transport.h" 33 #include "webrtc/test/mock_transport.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 : public TransportSequenceNumberAllocator { 125 : public TransportSequenceNumberAllocator {
125 public: 126 public:
126 MOCK_METHOD0(AllocateSequenceNumber, uint16_t()); 127 MOCK_METHOD0(AllocateSequenceNumber, uint16_t());
127 }; 128 };
128 129
129 class RtpSenderTest : public ::testing::Test { 130 class RtpSenderTest : public ::testing::Test {
130 protected: 131 protected:
131 RtpSenderTest() 132 RtpSenderTest()
132 : fake_clock_(kStartTime), 133 : fake_clock_(kStartTime),
133 mock_rtc_event_log_(), 134 mock_rtc_event_log_(),
135 event_log_proxy(&mock_rtc_event_log_),
134 mock_paced_sender_(), 136 mock_paced_sender_(),
135 rtp_sender_(), 137 rtp_sender_(),
136 payload_(kPayload), 138 payload_(kPayload),
137 transport_(), 139 transport_(),
138 kMarkerBit(true) { 140 kMarkerBit(true) {}
139 }
140 141
141 void SetUp() override { SetUpRtpSender(true); } 142 void SetUp() override { SetUpRtpSender(true); }
142 143
143 void SetUpRtpSender(bool pacer) { 144 void SetUpRtpSender(bool pacer) {
144 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr, 145 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport_, nullptr,
145 pacer ? &mock_paced_sender_ : nullptr, 146 pacer ? &mock_paced_sender_ : nullptr,
146 &seq_num_allocator_, nullptr, nullptr, 147 &seq_num_allocator_, nullptr, nullptr,
147 nullptr, nullptr, &mock_rtc_event_log_)); 148 nullptr, nullptr, &event_log_proxy));
148 rtp_sender_->SetSequenceNumber(kSeqNum); 149 rtp_sender_->SetSequenceNumber(kSeqNum);
149 } 150 }
150 151
151 SimulatedClock fake_clock_; 152 SimulatedClock fake_clock_;
152 MockRtcEventLog mock_rtc_event_log_; 153 MockRtcEventLog mock_rtc_event_log_;
154 RtcEventLogProxy event_log_proxy;
153 MockRtpPacketSender mock_paced_sender_; 155 MockRtpPacketSender mock_paced_sender_;
154 MockTransportSequenceNumberAllocator seq_num_allocator_; 156 MockTransportSequenceNumberAllocator seq_num_allocator_;
155 rtc::scoped_ptr<RTPSender> rtp_sender_; 157 rtc::scoped_ptr<RTPSender> rtp_sender_;
156 int payload_; 158 int payload_;
157 LoopbackTransportTest transport_; 159 LoopbackTransportTest transport_;
158 const bool kMarkerBit; 160 const bool kMarkerBit;
159 uint8_t packet_[kMaxPacketLength]; 161 uint8_t packet_[kMaxPacketLength];
160 162
161 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) { 163 void VerifyRTPHeaderCommon(const RTPHeader& rtp_header) {
162 VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0); 164 VerifyRTPHeaderCommon(rtp_header, kMarkerBit, 0);
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 EXPECT_EQ(timestamp, rtp_header.timestamp); 948 EXPECT_EQ(timestamp, rtp_header.timestamp);
947 // Verify transmission time offset. This packet is sent without delay. 949 // Verify transmission time offset. This packet is sent without delay.
948 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset); 950 EXPECT_EQ(0, rtp_header.extension.transmissionTimeOffset);
949 uint64_t expected_send_time = 951 uint64_t expected_send_time =
950 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds()); 952 ConvertMsToAbsSendTime(fake_clock_.TimeInMilliseconds());
951 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime); 953 EXPECT_EQ(expected_send_time, rtp_header.extension.absoluteSendTime);
952 } 954 }
953 955
954 TEST_F(RtpSenderTest, SendRedundantPayloads) { 956 TEST_F(RtpSenderTest, SendRedundantPayloads) {
955 MockTransport transport; 957 MockTransport transport;
956 rtp_sender_.reset(new RTPSender( 958 rtp_sender_.reset(new RTPSender(false, &fake_clock_, &transport, nullptr,
957 false, &fake_clock_, &transport, nullptr, &mock_paced_sender_, nullptr, 959 &mock_paced_sender_, nullptr, nullptr,
958 nullptr, nullptr, nullptr, nullptr, &mock_rtc_event_log_)); 960 nullptr, nullptr, nullptr, &event_log_proxy));
959 rtp_sender_->SetSequenceNumber(kSeqNum); 961 rtp_sender_->SetSequenceNumber(kSeqNum);
960 rtp_sender_->SetRtxPayloadType(kRtxPayload, kPayload); 962 rtp_sender_->SetRtxPayloadType(kRtxPayload, kPayload);
961 963
962 uint16_t seq_num = kSeqNum; 964 uint16_t seq_num = kSeqNum;
963 rtp_sender_->SetStorePacketsStatus(true, 10); 965 rtp_sender_->SetStorePacketsStatus(true, 10);
964 int32_t rtp_header_len = kRtpHeaderSize; 966 int32_t rtp_header_len = kRtpHeaderSize;
965 EXPECT_EQ( 967 EXPECT_EQ(
966 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime, 968 0, rtp_sender_->RegisterRtpHeaderExtension(kRtpExtensionAbsoluteSendTime,
967 kAbsoluteSendTimeExtensionId)); 969 kAbsoluteSendTimeExtensionId));
968 rtp_header_len += 4; // 4 bytes extension. 970 rtp_header_len += 4; // 4 bytes extension.
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
1526 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()), 1528 reinterpret_cast<uint8_t*>(transport_.sent_packets_[0]->data()),
1527 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation); 1529 transport_.sent_packets_[0]->size(), true, &map, kSeqNum, hdr.rotation);
1528 1530
1529 // Verify that this packet does have CVO byte. 1531 // Verify that this packet does have CVO byte.
1530 VerifyCVOPacket( 1532 VerifyCVOPacket(
1531 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()), 1533 reinterpret_cast<uint8_t*>(transport_.sent_packets_[1]->data()),
1532 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1, 1534 transport_.sent_packets_[1]->size(), true, &map, kSeqNum + 1,
1533 hdr.rotation); 1535 hdr.rotation);
1534 } 1536 }
1535 } // namespace webrtc 1537 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698