Chromium Code Reviews| 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 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 240 // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ | 240 // http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ |
| 241 // ts_126114v120700p.pdf Section 7.4.5: | 241 // ts_126114v120700p.pdf Section 7.4.5: |
| 242 // The MTSI client shall add the payload bytes as defined in this clause | 242 // The MTSI client shall add the payload bytes as defined in this clause |
| 243 // onto the last RTP packet in each group of packets which make up a key | 243 // onto the last RTP packet in each group of packets which make up a key |
| 244 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 | 244 // frame (I-frame or IDR frame in H.264 (AVC), or an IRAP picture in H.265 |
| 245 // (HEVC)). The MTSI client may also add the payload bytes onto the last RTP | 245 // (HEVC)). The MTSI client may also add the payload bytes onto the last RTP |
| 246 // packet in each group of packets which make up another type of frame | 246 // packet in each group of packets which make up another type of frame |
| 247 // (e.g. a P-Frame) only if the current value is different from the previous | 247 // (e.g. a P-Frame) only if the current value is different from the previous |
| 248 // value sent. | 248 // value sent. |
| 249 // Here we are adding it to every packet of every frame at this point. | 249 // Here we are adding it to every packet of every frame at this point. |
| 250 if (video_header && video_header->rotation != kVideoRotation_0) { | 250 if (video_header && video_header->rotation != kVideoRotation_0) |
|
sprang_webrtc
2016/10/24 13:48:10
Just to be clear, how exactly is this rotation ext
danilchap
2016/10/24 14:27:25
No rotation extension means it is 0.
Before my ref
sprang_webrtc
2016/10/25 07:47:00
Acknowledged.
I interpreted the previous "rtp_sen
| |
| 251 // TODO(danilchap): Remove next call together with concept | |
| 252 // of inactive extension. Now it helps to calulate total maximum size | |
| 253 // or rtp header extensions that is used in FECPacketOverhead() function. | |
| 254 rtp_sender_->ActivateCVORtpHeaderExtension(); | |
| 255 rtp_header->SetExtension<VideoOrientation>(video_header->rotation); | 251 rtp_header->SetExtension<VideoOrientation>(video_header->rotation); |
| 256 } | |
| 257 | 252 |
| 258 size_t packet_capacity = rtp_sender_->MaxPayloadLength() - | 253 size_t packet_capacity = rtp_sender_->MaxPayloadLength() - |
| 259 FecPacketOverhead() - | 254 FecPacketOverhead() - |
| 260 (rtp_sender_->RtxStatus() ? kRtxHeaderSize : 0); | 255 (rtp_sender_->RtxStatus() ? kRtxHeaderSize : 0); |
| 261 RTC_DCHECK_LE(packet_capacity, rtp_header->capacity()); | 256 RTC_DCHECK_LE(packet_capacity, rtp_header->capacity()); |
| 262 RTC_DCHECK_GT(packet_capacity, rtp_header->headers_size()); | 257 RTC_DCHECK_GT(packet_capacity, rtp_header->headers_size()); |
| 263 size_t max_data_payload_length = packet_capacity - rtp_header->headers_size(); | 258 size_t max_data_payload_length = packet_capacity - rtp_header->headers_size(); |
| 264 | 259 |
| 265 std::unique_ptr<RtpPacketizer> packetizer(RtpPacketizer::Create( | 260 std::unique_ptr<RtpPacketizer> packetizer(RtpPacketizer::Create( |
| 266 video_type, max_data_payload_length, | 261 video_type, max_data_payload_length, |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 341 rtc::CritScope cs(&crit_); | 336 rtc::CritScope cs(&crit_); |
| 342 return retransmission_settings_; | 337 return retransmission_settings_; |
| 343 } | 338 } |
| 344 | 339 |
| 345 void RTPSenderVideo::SetSelectiveRetransmissions(uint8_t settings) { | 340 void RTPSenderVideo::SetSelectiveRetransmissions(uint8_t settings) { |
| 346 rtc::CritScope cs(&crit_); | 341 rtc::CritScope cs(&crit_); |
| 347 retransmission_settings_ = settings; | 342 retransmission_settings_ = settings; |
| 348 } | 343 } |
| 349 | 344 |
| 350 } // namespace webrtc | 345 } // namespace webrtc |
| OLD | NEW |