| 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 | 97 |
| 98 void RTPSenderVideo::SendVideoPacket(uint8_t* data_buffer, | 98 void RTPSenderVideo::SendVideoPacket(uint8_t* data_buffer, |
| 99 const size_t payload_length, | 99 const size_t payload_length, |
| 100 const size_t rtp_header_length, | 100 const size_t rtp_header_length, |
| 101 uint16_t seq_num, | 101 uint16_t seq_num, |
| 102 const uint32_t capture_timestamp, | 102 const uint32_t capture_timestamp, |
| 103 int64_t capture_time_ms, | 103 int64_t capture_time_ms, |
| 104 StorageType storage) { | 104 StorageType storage) { |
| 105 if (_rtpSender.SendToNetwork(data_buffer, payload_length, rtp_header_length, | 105 if (_rtpSender.SendToNetwork(data_buffer, payload_length, rtp_header_length, |
| 106 capture_time_ms, storage, | 106 capture_time_ms, storage, |
| 107 RtpPacketSender::kNormalPriority) == 0) { | 107 RtpPacketSender::kLowPriority) == 0) { |
| 108 _videoBitrate.Update(payload_length + rtp_header_length); | 108 _videoBitrate.Update(payload_length + rtp_header_length); |
| 109 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), | 109 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), |
| 110 "Video::PacketNormal", "timestamp", capture_timestamp, | 110 "Video::PacketNormal", "timestamp", capture_timestamp, |
| 111 "seqnum", seq_num); | 111 "seqnum", seq_num); |
| 112 } else { | 112 } else { |
| 113 LOG(LS_WARNING) << "Failed to send video packet " << seq_num; | 113 LOG(LS_WARNING) << "Failed to send video packet " << seq_num; |
| 114 } | 114 } |
| 115 } | 115 } |
| 116 | 116 |
| 117 void RTPSenderVideo::SendVideoPacketAsRed(uint8_t* data_buffer, | 117 void RTPSenderVideo::SendVideoPacketAsRed(uint8_t* data_buffer, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 143 _payloadTypeRED, _payloadTypeFEC, next_fec_sequence_number, | 143 _payloadTypeRED, _payloadTypeFEC, next_fec_sequence_number, |
| 144 rtp_header_length); | 144 rtp_header_length); |
| 145 RTC_DCHECK_EQ(num_fec_packets, fec_packets.size()); | 145 RTC_DCHECK_EQ(num_fec_packets, fec_packets.size()); |
| 146 if (_retransmissionSettings & kRetransmitFECPackets) | 146 if (_retransmissionSettings & kRetransmitFECPackets) |
| 147 fec_storage = kAllowRetransmission; | 147 fec_storage = kAllowRetransmission; |
| 148 } | 148 } |
| 149 } | 149 } |
| 150 if (_rtpSender.SendToNetwork( | 150 if (_rtpSender.SendToNetwork( |
| 151 red_packet->data(), red_packet->length() - rtp_header_length, | 151 red_packet->data(), red_packet->length() - rtp_header_length, |
| 152 rtp_header_length, capture_time_ms, media_packet_storage, | 152 rtp_header_length, capture_time_ms, media_packet_storage, |
| 153 RtpPacketSender::kNormalPriority) == 0) { | 153 RtpPacketSender::kLowPriority) == 0) { |
| 154 _videoBitrate.Update(red_packet->length()); | 154 _videoBitrate.Update(red_packet->length()); |
| 155 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), | 155 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), |
| 156 "Video::PacketRed", "timestamp", capture_timestamp, | 156 "Video::PacketRed", "timestamp", capture_timestamp, |
| 157 "seqnum", media_seq_num); | 157 "seqnum", media_seq_num); |
| 158 } else { | 158 } else { |
| 159 LOG(LS_WARNING) << "Failed to send RED packet " << media_seq_num; | 159 LOG(LS_WARNING) << "Failed to send RED packet " << media_seq_num; |
| 160 } | 160 } |
| 161 for (RedPacket* fec_packet : fec_packets) { | 161 for (RedPacket* fec_packet : fec_packets) { |
| 162 if (_rtpSender.SendToNetwork( | 162 if (_rtpSender.SendToNetwork( |
| 163 fec_packet->data(), fec_packet->length() - rtp_header_length, | 163 fec_packet->data(), fec_packet->length() - rtp_header_length, |
| 164 rtp_header_length, capture_time_ms, fec_storage, | 164 rtp_header_length, capture_time_ms, fec_storage, |
| 165 RtpPacketSender::kNormalPriority) == 0) { | 165 RtpPacketSender::kLowPriority) == 0) { |
| 166 _fecOverheadRate.Update(fec_packet->length()); | 166 _fecOverheadRate.Update(fec_packet->length()); |
| 167 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), | 167 TRACE_EVENT_INSTANT2(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), |
| 168 "Video::PacketFec", "timestamp", capture_timestamp, | 168 "Video::PacketFec", "timestamp", capture_timestamp, |
| 169 "seqnum", next_fec_sequence_number); | 169 "seqnum", next_fec_sequence_number); |
| 170 } else { | 170 } else { |
| 171 LOG(LS_WARNING) << "Failed to send FEC packet " | 171 LOG(LS_WARNING) << "Failed to send FEC packet " |
| 172 << next_fec_sequence_number; | 172 << next_fec_sequence_number; |
| 173 } | 173 } |
| 174 delete fec_packet; | 174 delete fec_packet; |
| 175 ++next_fec_sequence_number; | 175 ++next_fec_sequence_number; |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 CriticalSectionScoped cs(crit_.get()); | 350 CriticalSectionScoped cs(crit_.get()); |
| 351 return _retransmissionSettings; | 351 return _retransmissionSettings; |
| 352 } | 352 } |
| 353 | 353 |
| 354 void RTPSenderVideo::SetSelectiveRetransmissions(uint8_t settings) { | 354 void RTPSenderVideo::SetSelectiveRetransmissions(uint8_t settings) { |
| 355 CriticalSectionScoped cs(crit_.get()); | 355 CriticalSectionScoped cs(crit_.get()); |
| 356 _retransmissionSettings = settings; | 356 _retransmissionSettings = settings; |
| 357 } | 357 } |
| 358 | 358 |
| 359 } // namespace webrtc | 359 } // namespace webrtc |
| OLD | NEW |