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

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

Issue 2269923003: Don't include RTP headers in send-side BWE. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Tests passing. Created 4 years, 3 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 | « no previous file | webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc » ('j') | 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 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 padding_packet.SetExtension<AbsoluteSendTime>(now_ms); 622 padding_packet.SetExtension<AbsoluteSendTime>(now_ms);
623 623
624 PacketOptions options; 624 PacketOptions options;
625 bool has_transport_seq_no = 625 bool has_transport_seq_no =
626 UpdateTransportSequenceNumber(&padding_packet, &options.packet_id); 626 UpdateTransportSequenceNumber(&padding_packet, &options.packet_id);
627 627
628 padding_packet.SetPadding(padding_bytes_in_packet, &random_); 628 padding_packet.SetPadding(padding_bytes_in_packet, &random_);
629 629
630 if (has_transport_seq_no && transport_feedback_observer_) 630 if (has_transport_seq_no && transport_feedback_observer_)
631 transport_feedback_observer_->AddPacket( 631 transport_feedback_observer_->AddPacket(
632 options.packet_id, padding_packet.size(), probe_cluster_id); 632 options.packet_id,
633 padding_packet.payload_size() + padding_packet.padding_size(),
634 probe_cluster_id);
633 635
634 if (!SendPacketToNetwork(padding_packet, options)) 636 if (!SendPacketToNetwork(padding_packet, options))
635 break; 637 break;
636 638
637 bytes_sent += padding_bytes_in_packet; 639 bytes_sent += padding_bytes_in_packet;
638 UpdateRtpStats(padding_packet, over_rtx, false); 640 UpdateRtpStats(padding_packet, over_rtx, false);
639 } 641 }
640 642
641 return bytes_sent; 643 return bytes_sent;
642 } 644 }
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 } 743 }
742 744
743 // Called from pacer when we can send the packet. 745 // Called from pacer when we can send the packet.
744 bool RTPSender::TimeToSendPacket(uint16_t sequence_number, 746 bool RTPSender::TimeToSendPacket(uint16_t sequence_number,
745 int64_t capture_time_ms, 747 int64_t capture_time_ms,
746 bool retransmission, 748 bool retransmission,
747 int probe_cluster_id) { 749 int probe_cluster_id) {
748 std::unique_ptr<RtpPacketToSend> packet = 750 std::unique_ptr<RtpPacketToSend> packet =
749 packet_history_.GetPacketAndSetSendTime(sequence_number, 0, 751 packet_history_.GetPacketAndSetSendTime(sequence_number, 0,
750 retransmission); 752 retransmission);
751 if (!packet) 753 if (!packet) {
752 // Packet cannot be found. Allow sending to continue. 754 // Packet cannot be found. Allow sending to continue.
753 return true; 755 return true;
756 }
754 757
755 return PrepareAndSendPacket( 758 return PrepareAndSendPacket(
756 std::move(packet), 759 std::move(packet),
757 retransmission && (RtxStatus() & kRtxRetransmitted) > 0, retransmission, 760 retransmission && (RtxStatus() & kRtxRetransmitted) > 0, retransmission,
758 probe_cluster_id); 761 probe_cluster_id);
759 } 762 }
760 763
761 bool RTPSender::PrepareAndSendPacket(std::unique_ptr<RtpPacketToSend> packet, 764 bool RTPSender::PrepareAndSendPacket(std::unique_ptr<RtpPacketToSend> packet,
762 bool send_over_rtx, 765 bool send_over_rtx,
763 bool is_retransmit, 766 bool is_retransmit,
(...skipping 22 matching lines...) Expand all
786 int64_t now_ms = clock_->TimeInMilliseconds(); 789 int64_t now_ms = clock_->TimeInMilliseconds();
787 int64_t diff_ms = now_ms - capture_time_ms; 790 int64_t diff_ms = now_ms - capture_time_ms;
788 packet_to_send->SetExtension<TransmissionOffset>(kTimestampTicksPerMs * 791 packet_to_send->SetExtension<TransmissionOffset>(kTimestampTicksPerMs *
789 diff_ms); 792 diff_ms);
790 packet_to_send->SetExtension<AbsoluteSendTime>(now_ms); 793 packet_to_send->SetExtension<AbsoluteSendTime>(now_ms);
791 794
792 PacketOptions options; 795 PacketOptions options;
793 if (UpdateTransportSequenceNumber(packet_to_send, &options.packet_id) && 796 if (UpdateTransportSequenceNumber(packet_to_send, &options.packet_id) &&
794 transport_feedback_observer_) { 797 transport_feedback_observer_) {
795 transport_feedback_observer_->AddPacket( 798 transport_feedback_observer_->AddPacket(
796 options.packet_id, packet_to_send->size(), probe_cluster_id); 799 options.packet_id,
800 packet_to_send->payload_size() + packet_to_send->padding_size(),
801 probe_cluster_id);
797 } 802 }
798 803
799 if (!is_retransmit && !send_over_rtx) { 804 if (!is_retransmit && !send_over_rtx) {
800 UpdateDelayStatistics(packet->capture_time_ms(), now_ms); 805 UpdateDelayStatistics(packet->capture_time_ms(), now_ms);
801 UpdateOnSendPacket(options.packet_id, packet->capture_time_ms(), 806 UpdateOnSendPacket(options.packet_id, packet->capture_time_ms(),
802 packet->Ssrc()); 807 packet->Ssrc());
803 } 808 }
804 809
805 if (!SendPacketToNetwork(*packet_to_send, options)) 810 if (!SendPacketToNetwork(*packet_to_send, options))
806 return false; 811 return false;
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 TRACE_EVENT_ASYNC_BEGIN1(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), 920 TRACE_EVENT_ASYNC_BEGIN1(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"),
916 "PacedSend", corrected_time_ms, 921 "PacedSend", corrected_time_ms,
917 "capture_time_ms", corrected_time_ms); 922 "capture_time_ms", corrected_time_ms);
918 } 923 }
919 return true; 924 return true;
920 } 925 }
921 926
922 PacketOptions options; 927 PacketOptions options;
923 if (UpdateTransportSequenceNumber(packet.get(), &options.packet_id) && 928 if (UpdateTransportSequenceNumber(packet.get(), &options.packet_id) &&
924 transport_feedback_observer_) { 929 transport_feedback_observer_) {
925 transport_feedback_observer_->AddPacket(options.packet_id, packet->size(), 930 transport_feedback_observer_->AddPacket(
926 PacketInfo::kNotAProbe); 931 options.packet_id, packet->payload_size() + packet->padding_size(),
932 PacketInfo::kNotAProbe);
927 } 933 }
928 934
929 UpdateDelayStatistics(packet->capture_time_ms(), now_ms); 935 UpdateDelayStatistics(packet->capture_time_ms(), now_ms);
930 UpdateOnSendPacket(options.packet_id, packet->capture_time_ms(), 936 UpdateOnSendPacket(options.packet_id, packet->capture_time_ms(),
931 packet->Ssrc()); 937 packet->Ssrc());
932 938
933 bool sent = SendPacketToNetwork(*packet, options); 939 bool sent = SendPacketToNetwork(*packet, options);
934 940
935 if (sent) { 941 if (sent) {
936 { 942 {
(...skipping 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
1714 rtc::CritScope lock(&send_critsect_); 1720 rtc::CritScope lock(&send_critsect_);
1715 1721
1716 RtpState state; 1722 RtpState state;
1717 state.sequence_number = sequence_number_rtx_; 1723 state.sequence_number = sequence_number_rtx_;
1718 state.start_timestamp = timestamp_offset_; 1724 state.start_timestamp = timestamp_offset_;
1719 1725
1720 return state; 1726 return state;
1721 } 1727 }
1722 1728
1723 } // namespace webrtc 1729 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698