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 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 bool ProcessNACKBitRate(uint32_t now); | 227 bool ProcessNACKBitRate(uint32_t now); |
228 | 228 |
229 // RTX. | 229 // RTX. |
230 void SetRtxStatus(int mode); | 230 void SetRtxStatus(int mode); |
231 int RtxStatus() const; | 231 int RtxStatus() const; |
232 | 232 |
233 uint32_t RtxSsrc() const; | 233 uint32_t RtxSsrc() const; |
234 void SetRtxSsrc(uint32_t ssrc); | 234 void SetRtxSsrc(uint32_t ssrc); |
235 | 235 |
236 void SetRtxPayloadType(int payload_type, int associated_payload_type); | 236 void SetRtxPayloadType(int payload_type, int associated_payload_type); |
237 std::pair<int, int> RtxPayloadType() const; | |
238 | 237 |
239 // Functions wrapping RTPSenderInterface. | 238 // Functions wrapping RTPSenderInterface. |
240 int32_t BuildRTPheader(uint8_t* data_buffer, | 239 int32_t BuildRTPheader(uint8_t* data_buffer, |
241 int8_t payload_type, | 240 int8_t payload_type, |
242 bool marker_bit, | 241 bool marker_bit, |
243 uint32_t capture_timestamp, | 242 uint32_t capture_timestamp, |
244 int64_t capture_time_ms, | 243 int64_t capture_time_ms, |
245 const bool timestamp_provided = true, | 244 const bool timestamp_provided = true, |
246 const bool inc_sequence_number = true) override; | 245 const bool inc_sequence_number = true) override; |
247 | 246 |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 bool ssrc_forced_ GUARDED_BY(send_critsect_); | 478 bool ssrc_forced_ GUARDED_BY(send_critsect_); |
480 uint32_t ssrc_ GUARDED_BY(send_critsect_); | 479 uint32_t ssrc_ GUARDED_BY(send_critsect_); |
481 uint32_t timestamp_ GUARDED_BY(send_critsect_); | 480 uint32_t timestamp_ GUARDED_BY(send_critsect_); |
482 int64_t capture_time_ms_ GUARDED_BY(send_critsect_); | 481 int64_t capture_time_ms_ GUARDED_BY(send_critsect_); |
483 int64_t last_timestamp_time_ms_ GUARDED_BY(send_critsect_); | 482 int64_t last_timestamp_time_ms_ GUARDED_BY(send_critsect_); |
484 bool media_has_been_sent_ GUARDED_BY(send_critsect_); | 483 bool media_has_been_sent_ GUARDED_BY(send_critsect_); |
485 bool last_packet_marker_bit_ GUARDED_BY(send_critsect_); | 484 bool last_packet_marker_bit_ GUARDED_BY(send_critsect_); |
486 std::vector<uint32_t> csrcs_ GUARDED_BY(send_critsect_); | 485 std::vector<uint32_t> csrcs_ GUARDED_BY(send_critsect_); |
487 int rtx_ GUARDED_BY(send_critsect_); | 486 int rtx_ GUARDED_BY(send_critsect_); |
488 uint32_t ssrc_rtx_ GUARDED_BY(send_critsect_); | 487 uint32_t ssrc_rtx_ GUARDED_BY(send_critsect_); |
489 // TODO(changbin): Remove rtx_payload_type_ once interop with old clients that | |
490 // only understand one RTX PT is no longer needed. | |
491 int rtx_payload_type_ GUARDED_BY(send_critsect_); | |
492 // Mapping rtx_payload_type_map_[associated] = rtx. | 488 // Mapping rtx_payload_type_map_[associated] = rtx. |
493 std::map<int8_t, int8_t> rtx_payload_type_map_ GUARDED_BY(send_critsect_); | 489 std::map<int8_t, int8_t> rtx_payload_type_map_ GUARDED_BY(send_critsect_); |
494 | 490 |
495 // Note: Don't access this variable directly, always go through | 491 // Note: Don't access this variable directly, always go through |
496 // SetTargetBitrateKbps or GetTargetBitrateKbps. Also remember | 492 // SetTargetBitrateKbps or GetTargetBitrateKbps. Also remember |
497 // that by the time the function returns there is no guarantee | 493 // that by the time the function returns there is no guarantee |
498 // that the target bitrate is still valid. | 494 // that the target bitrate is still valid. |
499 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_; | 495 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_; |
500 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_); | 496 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_); |
501 | 497 |
502 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender); | 498 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender); |
503 }; | 499 }; |
504 | 500 |
505 } // namespace webrtc | 501 } // namespace webrtc |
506 | 502 |
507 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_ | 503 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_ |
OLD | NEW |