| OLD | NEW |
| 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 11 matching lines...) Expand all Loading... |
| 22 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" | 22 #include "webrtc/logging/rtc_event_log/rtc_event_log.h" |
| 23 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h" | 23 #include "webrtc/modules/remote_bitrate_estimator/test/bwe_test_logging.h" |
| 24 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" | 24 #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" |
| 25 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" | 25 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" |
| 26 #include "webrtc/modules/rtp_rtcp/source/playout_delay_oracle.h" | 26 #include "webrtc/modules/rtp_rtcp/source/playout_delay_oracle.h" |
| 27 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" | 27 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" |
| 28 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" | 28 #include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h" |
| 29 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_audio.h" | 29 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_audio.h" |
| 30 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" | 30 #include "webrtc/modules/rtp_rtcp/source/rtp_sender_video.h" |
| 31 #include "webrtc/modules/rtp_rtcp/source/time_util.h" | 31 #include "webrtc/modules/rtp_rtcp/source/time_util.h" |
| 32 #include "webrtc/system_wrappers/include/field_trial.h" |
| 32 | 33 |
| 33 namespace webrtc { | 34 namespace webrtc { |
| 34 | 35 |
| 35 namespace { | 36 namespace { |
| 36 // Max in the RFC 3550 is 255 bytes, we limit it to be modulus 32 for SRTP. | 37 // Max in the RFC 3550 is 255 bytes, we limit it to be modulus 32 for SRTP. |
| 37 constexpr size_t kMaxPaddingLength = 224; | 38 constexpr size_t kMaxPaddingLength = 224; |
| 38 constexpr int kSendSideDelayWindowMs = 1000; | 39 constexpr int kSendSideDelayWindowMs = 1000; |
| 39 constexpr size_t kRtpHeaderLength = 12; | 40 constexpr size_t kRtpHeaderLength = 12; |
| 40 constexpr uint16_t kMaxInitRtpSeqNumber = 32767; // 2^15 -1. | 41 constexpr uint16_t kMaxInitRtpSeqNumber = 32767; // 2^15 -1. |
| 41 constexpr uint32_t kTimestampTicksPerMs = 90; | 42 constexpr uint32_t kTimestampTicksPerMs = 90; |
| (...skipping 1249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1291 transport_overhead_bytes_per_packet_ = transport_overhead; | 1292 transport_overhead_bytes_per_packet_ = transport_overhead; |
| 1292 overhead_bytes_per_packet = | 1293 overhead_bytes_per_packet = |
| 1293 rtp_overhead_bytes_per_packet_ + transport_overhead_bytes_per_packet_; | 1294 rtp_overhead_bytes_per_packet_ + transport_overhead_bytes_per_packet_; |
| 1294 } | 1295 } |
| 1295 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet); | 1296 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet); |
| 1296 } | 1297 } |
| 1297 | 1298 |
| 1298 void RTPSender::AddPacketToTransportFeedback(uint16_t packet_id, | 1299 void RTPSender::AddPacketToTransportFeedback(uint16_t packet_id, |
| 1299 const RtpPacketToSend& packet, | 1300 const RtpPacketToSend& packet, |
| 1300 int probe_cluster_id) { | 1301 int probe_cluster_id) { |
| 1302 size_t packet_size = packet.payload_size() + packet.padding_size(); |
| 1303 if (webrtc::field_trial::FindFullName("WebRTC-SendSideBwe-WithOverhead") == |
| 1304 "Enabled") { |
| 1305 rtc::CritScope lock(&send_critsect_); |
| 1306 packet_size = packet.size() + transport_overhead_bytes_per_packet_; |
| 1307 } |
| 1308 |
| 1301 if (transport_feedback_observer_) { | 1309 if (transport_feedback_observer_) { |
| 1302 transport_feedback_observer_->AddPacket( | 1310 transport_feedback_observer_->AddPacket(packet_id, packet_size, |
| 1303 packet_id, packet.payload_size() + packet.padding_size(), | 1311 probe_cluster_id); |
| 1304 probe_cluster_id); | |
| 1305 } | 1312 } |
| 1306 } | 1313 } |
| 1307 | 1314 |
| 1308 void RTPSender::UpdateRtpOverhead(const RtpPacketToSend& packet) { | 1315 void RTPSender::UpdateRtpOverhead(const RtpPacketToSend& packet) { |
| 1309 if (!overhead_observer_) | 1316 if (!overhead_observer_) |
| 1310 return; | 1317 return; |
| 1311 size_t overhead_bytes_per_packet = 0; | 1318 size_t overhead_bytes_per_packet = 0; |
| 1312 { | 1319 { |
| 1313 rtc::CritScope lock(&send_critsect_); | 1320 rtc::CritScope lock(&send_critsect_); |
| 1314 if (rtp_overhead_bytes_per_packet_ == packet.headers_size()) { | 1321 if (rtp_overhead_bytes_per_packet_ == packet.headers_size()) { |
| 1315 return; | 1322 return; |
| 1316 } | 1323 } |
| 1317 rtp_overhead_bytes_per_packet_ = packet.headers_size(); | 1324 rtp_overhead_bytes_per_packet_ = packet.headers_size(); |
| 1318 overhead_bytes_per_packet = | 1325 overhead_bytes_per_packet = |
| 1319 rtp_overhead_bytes_per_packet_ + transport_overhead_bytes_per_packet_; | 1326 rtp_overhead_bytes_per_packet_ + transport_overhead_bytes_per_packet_; |
| 1320 } | 1327 } |
| 1321 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet); | 1328 overhead_observer_->OnOverheadChanged(overhead_bytes_per_packet); |
| 1322 } | 1329 } |
| 1323 | 1330 |
| 1324 } // namespace webrtc | 1331 } // namespace webrtc |
| OLD | NEW |