Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtp_sender.h |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender.h b/webrtc/modules/rtp_rtcp/source/rtp_sender.h |
| index f501d27a723c62f745b3120d76e7e338734e1da0..b779f6cc1e02f46404fdf6e0ff3c4e0b3f8a52e4 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.h |
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.h |
| @@ -24,6 +24,7 @@ |
| #include "webrtc/common_types.h" |
| #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| #include "webrtc/modules/rtp_rtcp/source/bitrate.h" |
| +#include "webrtc/modules/rtp_rtcp/source/playout_delay_oracle.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_packet_history.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h" |
| @@ -172,7 +173,9 @@ class RTPSender : public RTPSenderInterface { |
| size_t RtpHeaderExtensionTotalLength() const; |
| - uint16_t BuildRTPHeaderExtension(uint8_t* data_buffer, bool marker_bit) const; |
| + uint16_t BuildRTPHeaderExtension(uint32_t ssrc, |
| + uint8_t* data_buffer, |
| + bool marker_bit) const; |
|
sprang_webrtc
2016/05/24 14:46:08
RtpSender should already know which ssrc is used?
Irfan
2016/05/25 09:32:53
Removed
|
| uint8_t BuildTransmissionTimeOffsetExtension(uint8_t *data_buffer) const; |
| uint8_t BuildAudioLevelExtension(uint8_t* data_buffer) const; |
| @@ -180,6 +183,9 @@ class RTPSender : public RTPSenderInterface { |
| uint8_t BuildVideoRotationExtension(uint8_t* data_buffer) const; |
| uint8_t BuildTransportSequenceNumberExtension(uint8_t* data_buffer, |
| uint16_t sequence_number) const; |
| + uint8_t BuildPlayoutDelayExtension(uint8_t* data_buffer, |
| + uint16_t min_playout_delay_ms, |
| + uint16_t max_playout_delay_ms) const; |
| // Verifies that the specified extension is registered, and that it is |
| // present in rtp packet. If extension is not registered kNotRegistered is |
| @@ -220,6 +226,7 @@ class RTPSender : public RTPSenderInterface { |
| int SetSelectiveRetransmissions(uint8_t settings); |
| void OnReceivedNACK(const std::list<uint16_t>& nack_sequence_numbers, |
| int64_t avg_rtt); |
| + void OnReceivedRtcpReceiverReport(const ReportBlockList& report_blocks); |
| void SetStorePacketsStatus(bool enable, uint16_t number_to_store); |
| @@ -381,6 +388,12 @@ class RTPSender : public RTPSenderInterface { |
| size_t rtp_packet_length, |
| const RTPHeader& rtp_header) const; |
| + void UpdatePlayoutDelayLimits(uint8_t* rtp_packet, |
| + size_t rtp_packet_length, |
| + const RTPHeader& rtp_header, |
| + uint16_t min_playout_delay, |
| + uint16_t max_playout_delay) const; |
| + |
| bool AllocateTransportSequenceNumber(int* packet_id) const; |
| void UpdateRtpStats(const uint8_t* buffer, |
| @@ -459,6 +472,11 @@ class RTPSender : public RTPSenderInterface { |
| size_t nack_byte_count_[NACK_BYTECOUNT_SIZE]; |
| Bitrate nack_bitrate_; |
| + // Tracks the current request for playout delay limits from application |
| + // and decides whether the current RTP frame should include the playout |
| + // delay extension on header. |
| + PlayoutDelayOracle playout_delay_oracle_; |
| + |
| RTPPacketHistory packet_history_; |
| // Statistics |