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

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

Issue 2637203002: Avoid multiple calls to webrtc::field_trial::FindFullName in RTPSender (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.h ('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
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 ssrc_forced_(false), 116 ssrc_forced_(false),
117 last_rtp_timestamp_(0), 117 last_rtp_timestamp_(0),
118 capture_time_ms_(0), 118 capture_time_ms_(0),
119 last_timestamp_time_ms_(0), 119 last_timestamp_time_ms_(0),
120 media_has_been_sent_(false), 120 media_has_been_sent_(false),
121 last_packet_marker_bit_(false), 121 last_packet_marker_bit_(false),
122 csrcs_(), 122 csrcs_(),
123 rtx_(kRtxOff), 123 rtx_(kRtxOff),
124 rtp_overhead_bytes_per_packet_(0), 124 rtp_overhead_bytes_per_packet_(0),
125 retransmission_rate_limiter_(retransmission_rate_limiter), 125 retransmission_rate_limiter_(retransmission_rate_limiter),
126 overhead_observer_(overhead_observer) { 126 overhead_observer_(overhead_observer),
127 send_side_bwe_with_overhead_(
128 webrtc::field_trial::FindFullName(
129 "WebRTC-SendSideBwe-WithOverhead") == "Enabled") {
127 ssrc_ = ssrc_db_->CreateSSRC(); 130 ssrc_ = ssrc_db_->CreateSSRC();
128 RTC_DCHECK(ssrc_ != 0); 131 RTC_DCHECK(ssrc_ != 0);
129 ssrc_rtx_ = ssrc_db_->CreateSSRC(); 132 ssrc_rtx_ = ssrc_db_->CreateSSRC();
130 RTC_DCHECK(ssrc_rtx_ != 0); 133 RTC_DCHECK(ssrc_rtx_ != 0);
131 134
132 // This random initialization is not intended to be cryptographic strong. 135 // This random initialization is not intended to be cryptographic strong.
133 timestamp_offset_ = random_.Rand<uint32_t>(); 136 timestamp_offset_ = random_.Rand<uint32_t>();
134 // Random start, 16 bits. Can't be 0. 137 // Random start, 16 bits. Can't be 0.
135 sequence_number_rtx_ = random_.Rand(1, kMaxInitRtpSeqNumber); 138 sequence_number_rtx_ = random_.Rand(1, kMaxInitRtpSeqNumber);
136 sequence_number_ = random_.Rand(1, kMaxInitRtpSeqNumber); 139 sequence_number_ = random_.Rand(1, kMaxInitRtpSeqNumber);
(...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1249 state.sequence_number = sequence_number_rtx_; 1252 state.sequence_number = sequence_number_rtx_;
1250 state.start_timestamp = timestamp_offset_; 1253 state.start_timestamp = timestamp_offset_;
1251 1254
1252 return state; 1255 return state;
1253 } 1256 }
1254 1257
1255 void RTPSender::AddPacketToTransportFeedback(uint16_t packet_id, 1258 void RTPSender::AddPacketToTransportFeedback(uint16_t packet_id,
1256 const RtpPacketToSend& packet, 1259 const RtpPacketToSend& packet,
1257 int probe_cluster_id) { 1260 int probe_cluster_id) {
1258 size_t packet_size = packet.payload_size() + packet.padding_size(); 1261 size_t packet_size = packet.payload_size() + packet.padding_size();
1259 if (webrtc::field_trial::FindFullName("WebRTC-SendSideBwe-WithOverhead") == 1262 if (send_side_bwe_with_overhead_) {
minyue-webrtc 2017/01/18 08:14:38 but it is called only once, isn't it?
stefan-webrtc 2017/01/18 08:41:40 Once for every packet sent. Still a lot... :)
1260 "Enabled") {
1261 packet_size = packet.size(); 1263 packet_size = packet.size();
1262 } 1264 }
1263 1265
1264 if (transport_feedback_observer_) { 1266 if (transport_feedback_observer_) {
1265 transport_feedback_observer_->AddPacket(packet_id, packet_size, 1267 transport_feedback_observer_->AddPacket(packet_id, packet_size,
1266 probe_cluster_id); 1268 probe_cluster_id);
1267 } 1269 }
1268 } 1270 }
1269 1271
1270 void RTPSender::UpdateRtpOverhead(const RtpPacketToSend& packet) { 1272 void RTPSender::UpdateRtpOverhead(const RtpPacketToSend& packet) {
1271 if (!overhead_observer_) 1273 if (!overhead_observer_)
1272 return; 1274 return;
1273 size_t overhead_bytes_per_packet; 1275 size_t overhead_bytes_per_packet;
1274 { 1276 {
1275 rtc::CritScope lock(&send_critsect_); 1277 rtc::CritScope lock(&send_critsect_);
1276 if (rtp_overhead_bytes_per_packet_ == packet.headers_size()) { 1278 if (rtp_overhead_bytes_per_packet_ == packet.headers_size()) {
1277 return; 1279 return;
1278 } 1280 }
1279 rtp_overhead_bytes_per_packet_ = packet.headers_size(); 1281 rtp_overhead_bytes_per_packet_ = packet.headers_size();
1280 overhead_bytes_per_packet = rtp_overhead_bytes_per_packet_; 1282 overhead_bytes_per_packet = rtp_overhead_bytes_per_packet_;
1281 } 1283 }
1282 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet); 1284 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet);
1283 } 1285 }
1284 1286
1285 } // namespace webrtc 1287 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698