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

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

Issue 2525283002: Add overhead to transport feedback observer. (Closed)
Patch Set: Respond to comment. Created 4 years 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <memory> 11 #include <memory>
12 #include <vector> 12 #include <vector>
13 13
14 #include "webrtc/base/buffer.h" 14 #include "webrtc/base/buffer.h"
15 #include "webrtc/base/rate_limiter.h" 15 #include "webrtc/base/rate_limiter.h"
16 #include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h" 16 #include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h"
17 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" 17 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h"
18 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" 18 #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h"
19 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 19 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
20 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h" 20 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
21 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h" 21 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h"
22 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" 22 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h"
23 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" 23 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
24 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h" 24 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h"
25 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" 25 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h"
26 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" 26 #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h"
27 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" 27 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h"
28 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" 28 #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
29 #include "webrtc/system_wrappers/include/stl_util.h" 29 #include "webrtc/system_wrappers/include/stl_util.h"
30 #include "webrtc/test/field_trial.h"
30 #include "webrtc/test/gmock.h" 31 #include "webrtc/test/gmock.h"
31 #include "webrtc/test/gtest.h" 32 #include "webrtc/test/gtest.h"
32 #include "webrtc/test/mock_transport.h" 33 #include "webrtc/test/mock_transport.h"
33 #include "webrtc/typedefs.h" 34 #include "webrtc/typedefs.h"
34 35
35 namespace webrtc { 36 namespace webrtc {
36 37
37 namespace { 38 namespace {
38 const int kTransmissionTimeOffsetExtensionId = 1; 39 const int kTransmissionTimeOffsetExtensionId = 1;
39 const int kAbsoluteSendTimeExtensionId = 14; 40 const int kAbsoluteSendTimeExtensionId = 14;
(...skipping 1483 matching lines...) Expand 10 before | Expand all | Expand 10 after
1523 1524
1524 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1); 1525 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1);
1525 rtp_sender_->SetTransportOverhead(28); 1526 rtp_sender_->SetTransportOverhead(28);
1526 rtp_sender_->SetTransportOverhead(28); 1527 rtp_sender_->SetTransportOverhead(28);
1527 1528
1528 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1); 1529 EXPECT_CALL(mock_overhead_observer, OnOverheadChanged(_)).Times(1);
1529 SendGenericPayload(); 1530 SendGenericPayload();
1530 SendGenericPayload(); 1531 SendGenericPayload();
1531 } 1532 }
1532 1533
1534 TEST_F(RtpSenderTest, AddOverheadToTransportFeedbackObserver) {
1535 constexpr int kTransportOverheadBytesPerPacket = 28;
1536 constexpr int kRtpOverheadBytesPerPacket = 12 + 8;
1537 test::ScopedFieldTrials override_field_trials(
1538 "WebRTC-SendSideBwe-WithOverhead/Enabled/");
1539 testing::NiceMock<MockOverheadObserver> mock_overhead_observer;
1540 rtp_sender_.reset(new RTPSender(
1541 false, &fake_clock_, &transport_, nullptr, nullptr, &seq_num_allocator_,
1542 &feedback_observer_, nullptr, nullptr, nullptr, &mock_rtc_event_log_,
1543 nullptr, &retransmission_rate_limiter_, &mock_overhead_observer));
1544 rtp_sender_->SetTransportOverhead(kTransportOverheadBytesPerPacket);
1545 EXPECT_EQ(0, rtp_sender_->RegisterRtpHeaderExtension(
1546 kRtpExtensionTransportSequenceNumber,
1547 kTransportSequenceNumberExtensionId));
1548 EXPECT_CALL(seq_num_allocator_, AllocateSequenceNumber())
1549 .WillOnce(testing::Return(kTransportSequenceNumber));
1550 EXPECT_CALL(feedback_observer_,
1551 AddPacket(kTransportSequenceNumber,
1552 sizeof(kPayloadData) + kGenericHeaderLength +
1553 kRtpOverheadBytesPerPacket +
1554 kTransportOverheadBytesPerPacket,
1555 PacketInfo::kNotAProbe))
1556 .Times(1);
minyue-webrtc 2016/11/29 09:24:35 I am not a fun of Times(1) According to this http
michaelt 2016/11/29 09:55:53 If some one don't know this rule its may be a bit
minyue-webrtc 2016/11/29 09:59:49 Ok. I am not very strong on not using Times(1) eit
1557 EXPECT_CALL(mock_overhead_observer,
1558 OnOverheadChanged(kTransportOverheadBytesPerPacket +
1559 kRtpOverheadBytesPerPacket))
1560 .Times(1);
1561 SendGenericPayload();
1562 }
1563
1533 } // namespace webrtc 1564 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698