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 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 bool ProcessNACKBitRate(uint32_t now); | 228 bool ProcessNACKBitRate(uint32_t now); |
229 | 229 |
230 // RTX. | 230 // RTX. |
231 void SetRtxStatus(int mode); | 231 void SetRtxStatus(int mode); |
232 int RtxStatus() const; | 232 int RtxStatus() const; |
233 | 233 |
234 uint32_t RtxSsrc() const; | 234 uint32_t RtxSsrc() const; |
235 void SetRtxSsrc(uint32_t ssrc); | 235 void SetRtxSsrc(uint32_t ssrc); |
236 | 236 |
237 void SetRtxPayloadType(int payload_type, int associated_payload_type); | 237 void SetRtxPayloadType(int payload_type, int associated_payload_type); |
238 std::pair<int, int> RtxPayloadType() const; | |
239 | 238 |
240 // Functions wrapping RTPSenderInterface. | 239 // Functions wrapping RTPSenderInterface. |
241 int32_t BuildRTPheader(uint8_t* data_buffer, | 240 int32_t BuildRTPheader(uint8_t* data_buffer, |
242 int8_t payload_type, | 241 int8_t payload_type, |
243 bool marker_bit, | 242 bool marker_bit, |
244 uint32_t capture_timestamp, | 243 uint32_t capture_timestamp, |
245 int64_t capture_time_ms, | 244 int64_t capture_time_ms, |
246 const bool timestamp_provided = true, | 245 const bool timestamp_provided = true, |
247 const bool inc_sequence_number = true) override; | 246 const bool inc_sequence_number = true) override; |
248 | 247 |
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 bool ssrc_forced_ GUARDED_BY(send_critsect_); | 447 bool ssrc_forced_ GUARDED_BY(send_critsect_); |
449 uint32_t ssrc_ GUARDED_BY(send_critsect_); | 448 uint32_t ssrc_ GUARDED_BY(send_critsect_); |
450 uint32_t timestamp_ GUARDED_BY(send_critsect_); | 449 uint32_t timestamp_ GUARDED_BY(send_critsect_); |
451 int64_t capture_time_ms_ GUARDED_BY(send_critsect_); | 450 int64_t capture_time_ms_ GUARDED_BY(send_critsect_); |
452 int64_t last_timestamp_time_ms_ GUARDED_BY(send_critsect_); | 451 int64_t last_timestamp_time_ms_ GUARDED_BY(send_critsect_); |
453 bool media_has_been_sent_ GUARDED_BY(send_critsect_); | 452 bool media_has_been_sent_ GUARDED_BY(send_critsect_); |
454 bool last_packet_marker_bit_ GUARDED_BY(send_critsect_); | 453 bool last_packet_marker_bit_ GUARDED_BY(send_critsect_); |
455 std::vector<uint32_t> csrcs_ GUARDED_BY(send_critsect_); | 454 std::vector<uint32_t> csrcs_ GUARDED_BY(send_critsect_); |
456 int rtx_ GUARDED_BY(send_critsect_); | 455 int rtx_ GUARDED_BY(send_critsect_); |
457 uint32_t ssrc_rtx_ GUARDED_BY(send_critsect_); | 456 uint32_t ssrc_rtx_ GUARDED_BY(send_critsect_); |
458 // TODO(changbin): Remove rtx_payload_type_ once interop with old clients that | |
459 // only understand one RTX PT is no longer needed. | |
460 int rtx_payload_type_ GUARDED_BY(send_critsect_); | |
461 // Mapping rtx_payload_type_map_[associated] = rtx. | 457 // Mapping rtx_payload_type_map_[associated] = rtx. |
462 std::map<int8_t, int8_t> rtx_payload_type_map_ GUARDED_BY(send_critsect_); | 458 std::map<int8_t, int8_t> rtx_payload_type_map_ GUARDED_BY(send_critsect_); |
463 | 459 |
464 // Note: Don't access this variable directly, always go through | 460 // Note: Don't access this variable directly, always go through |
465 // SetTargetBitrateKbps or GetTargetBitrateKbps. Also remember | 461 // SetTargetBitrateKbps or GetTargetBitrateKbps. Also remember |
466 // that by the time the function returns there is no guarantee | 462 // that by the time the function returns there is no guarantee |
467 // that the target bitrate is still valid. | 463 // that the target bitrate is still valid. |
468 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_; | 464 rtc::scoped_ptr<CriticalSectionWrapper> target_bitrate_critsect_; |
469 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_); | 465 uint32_t target_bitrate_ GUARDED_BY(target_bitrate_critsect_); |
470 | 466 |
471 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender); | 467 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender); |
472 }; | 468 }; |
473 | 469 |
474 } // namespace webrtc | 470 } // namespace webrtc |
475 | 471 |
476 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_ | 472 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_SENDER_H_ |
OLD | NEW |