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

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

Issue 2217383002: Use RtpPacketToSend in RtpSenderVideo (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Ported PlayoutDelay extension support. 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
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 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 std::unique_ptr<RtpPacketToSend> RTPSender::AllocatePacket() const { 1075 std::unique_ptr<RtpPacketToSend> RTPSender::AllocatePacket() const {
1076 rtc::CritScope lock(&send_critsect_); 1076 rtc::CritScope lock(&send_critsect_);
1077 std::unique_ptr<RtpPacketToSend> packet( 1077 std::unique_ptr<RtpPacketToSend> packet(
1078 new RtpPacketToSend(&rtp_header_extension_map_, max_payload_length_)); 1078 new RtpPacketToSend(&rtp_header_extension_map_, max_payload_length_));
1079 packet->SetSsrc(ssrc_); 1079 packet->SetSsrc(ssrc_);
1080 packet->SetCsrcs(csrcs_); 1080 packet->SetCsrcs(csrcs_);
1081 // Reserve extensions, if registered, RtpSender set in SendToNetwork. 1081 // Reserve extensions, if registered, RtpSender set in SendToNetwork.
1082 packet->ReserveExtension<AbsoluteSendTime>(); 1082 packet->ReserveExtension<AbsoluteSendTime>();
1083 packet->ReserveExtension<TransmissionOffset>(); 1083 packet->ReserveExtension<TransmissionOffset>();
1084 packet->ReserveExtension<TransportSequenceNumber>(); 1084 packet->ReserveExtension<TransportSequenceNumber>();
1085 if (playout_delay_oracle_.send_playout_delay()) {
1086 packet->SetExtension<PlayoutDelayLimits>(
1087 playout_delay_oracle_.playout_delay());
1088 }
1085 return packet; 1089 return packet;
1086 } 1090 }
1087 1091
1088 bool RTPSender::AssignSequenceNumber(RtpPacketToSend* packet) { 1092 bool RTPSender::AssignSequenceNumber(RtpPacketToSend* packet) {
1089 rtc::CritScope lock(&send_critsect_); 1093 rtc::CritScope lock(&send_critsect_);
1090 if (!sending_media_) 1094 if (!sending_media_)
1091 return false; 1095 return false;
1092 RTC_DCHECK_EQ(packet->Ssrc(), ssrc_); 1096 RTC_DCHECK_EQ(packet->Ssrc(), ssrc_);
1093 packet->SetSequenceNumber(sequence_number_++); 1097 packet->SetSequenceNumber(sequence_number_++);
1094 1098
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 case kRtpExtensionAbsoluteSendTime: 1174 case kRtpExtensionAbsoluteSendTime:
1171 block_length = BuildAbsoluteSendTimeExtension(extension_data); 1175 block_length = BuildAbsoluteSendTimeExtension(extension_data);
1172 break; 1176 break;
1173 case kRtpExtensionVideoRotation: 1177 case kRtpExtensionVideoRotation:
1174 block_length = BuildVideoRotationExtension(extension_data); 1178 block_length = BuildVideoRotationExtension(extension_data);
1175 break; 1179 break;
1176 case kRtpExtensionTransportSequenceNumber: 1180 case kRtpExtensionTransportSequenceNumber:
1177 block_length = BuildTransportSequenceNumberExtension( 1181 block_length = BuildTransportSequenceNumberExtension(
1178 extension_data, transport_sequence_number_); 1182 extension_data, transport_sequence_number_);
1179 break; 1183 break;
1180 case kRtpExtensionPlayoutDelay: 1184 case kRtpExtensionPlayoutDelay: {
1185 PlayoutDelay playout_delay = playout_delay_oracle_.playout_delay();
1181 block_length = BuildPlayoutDelayExtension( 1186 block_length = BuildPlayoutDelayExtension(
1182 extension_data, playout_delay_oracle_.min_playout_delay_ms(), 1187 extension_data, playout_delay.min_ms, playout_delay.max_ms);
1183 playout_delay_oracle_.max_playout_delay_ms());
1184 break; 1188 break;
1189 }
1185 default: 1190 default:
1186 assert(false); 1191 assert(false);
1187 } 1192 }
1188 total_block_length += block_length; 1193 total_block_length += block_length;
1189 type = rtp_header_extension_map_.Next(type); 1194 type = rtp_header_extension_map_.Next(type);
1190 } 1195 }
1191 if (total_block_length == 0) { 1196 if (total_block_length == 0) {
1192 // No extension added. 1197 // No extension added.
1193 return 0; 1198 return 0;
1194 } 1199 }
(...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 rtc::CritScope lock(&send_critsect_); 1756 rtc::CritScope lock(&send_critsect_);
1752 1757
1753 RtpState state; 1758 RtpState state;
1754 state.sequence_number = sequence_number_rtx_; 1759 state.sequence_number = sequence_number_rtx_;
1755 state.start_timestamp = timestamp_offset_; 1760 state.start_timestamp = timestamp_offset_;
1756 1761
1757 return state; 1762 return state;
1758 } 1763 }
1759 1764
1760 } // namespace webrtc 1765 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc ('k') | webrtc/modules/rtp_rtcp/source/rtp_sender_video.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698