| 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 dac96edd263493a88dc966bf122c8f52c7421499..103b86897d3f42f98f0dd852d5ed3629796fa323 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.h
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.h
|
| @@ -114,66 +114,12 @@ class RTPSender {
|
| uint32_t* transport_frame_id_out);
|
|
|
| // RTP header extension
|
| - int32_t SetTransmissionTimeOffset(int32_t transmission_time_offset);
|
| - int32_t SetAbsoluteSendTime(uint32_t absolute_send_time);
|
| - void SetVideoRotation(VideoRotation rotation);
|
| - int32_t SetTransportSequenceNumber(uint16_t sequence_number);
|
| -
|
| int32_t RegisterRtpHeaderExtension(RTPExtensionType type, uint8_t id);
|
| bool IsRtpHeaderExtensionRegistered(RTPExtensionType type);
|
| int32_t DeregisterRtpHeaderExtension(RTPExtensionType type);
|
|
|
| size_t RtpHeaderExtensionLength() const;
|
|
|
| - uint16_t BuildRtpHeaderExtension(uint8_t* data_buffer, bool marker_bit) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| -
|
| - uint8_t BuildTransmissionTimeOffsetExtension(uint8_t* data_buffer) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| - uint8_t BuildAudioLevelExtension(uint8_t* data_buffer) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| - uint8_t BuildAbsoluteSendTimeExtension(uint8_t* data_buffer) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| - uint8_t BuildVideoRotationExtension(uint8_t* data_buffer) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| - uint8_t BuildTransportSequenceNumberExtension(uint8_t* data_buffer,
|
| - uint16_t sequence_number) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| - uint8_t BuildPlayoutDelayExtension(uint8_t* data_buffer,
|
| - uint16_t min_playout_delay_ms,
|
| - uint16_t max_playout_delay_ms) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| -
|
| - // Verifies that the specified extension is registered, and that it is
|
| - // present in rtp packet. If extension is not registered kNotRegistered is
|
| - // returned. If extension cannot be found in the rtp header, or if it is
|
| - // malformed, kError is returned. Otherwise *extension_offset is set to the
|
| - // offset of the extension from the beginning of the rtp packet and kOk is
|
| - // returned.
|
| - enum class ExtensionStatus {
|
| - kNotRegistered,
|
| - kOk,
|
| - kError,
|
| - };
|
| - ExtensionStatus VerifyExtension(RTPExtensionType extension_type,
|
| - uint8_t* rtp_packet,
|
| - size_t rtp_packet_length,
|
| - const RTPHeader& rtp_header,
|
| - size_t extension_length_bytes,
|
| - size_t* extension_offset) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| -
|
| - bool UpdateAudioLevel(uint8_t* rtp_packet,
|
| - size_t rtp_packet_length,
|
| - const RTPHeader& rtp_header,
|
| - bool is_voiced,
|
| - uint8_t dBov) const;
|
| -
|
| - bool UpdateVideoRotation(uint8_t* rtp_packet,
|
| - size_t rtp_packet_length,
|
| - const RTPHeader& rtp_header,
|
| - VideoRotation rotation) const;
|
| -
|
| bool TimeToSendPacket(uint16_t sequence_number,
|
| int64_t capture_time_ms,
|
| bool retransmission,
|
| @@ -204,19 +150,16 @@ class RTPSender {
|
|
|
| void SetRtxPayloadType(int payload_type, int associated_payload_type);
|
|
|
| - // Functions wrapping RTPSenderInterface.
|
| - int32_t BuildRTPheader(uint8_t* data_buffer,
|
| - int8_t payload_type,
|
| - bool marker_bit,
|
| - uint32_t capture_timestamp,
|
| - int64_t capture_time_ms,
|
| - bool timestamp_provided = true,
|
| - bool inc_sequence_number = true);
|
| - int32_t BuildRtpHeader(uint8_t* data_buffer,
|
| - int8_t payload_type,
|
| - bool marker_bit,
|
| - uint32_t capture_timestamp,
|
| - int64_t capture_time_ms);
|
| + // Create empty packet, fills ssrc. Unless |minimalistic| flag is set
|
| + // also set csrcs and reserve place for registered header extensions
|
| + // RtpSender updates before sending.
|
| + std::unique_ptr<RtpPacketToSend> AllocatePacket(bool minimalistic) const;
|
| + // Allocates sequence_number, update packet->Timstamp() with start_timestamp_
|
| + // offset, updates RtpSender last_send fields with values from |packet|.
|
| + // Return false of RtpSender not ready to send any more (i.e. destructing).
|
| + bool PrepareToSend(RtpPacketToSend* packet);
|
| +
|
| + uint32_t TimestampOffset(uint32_t capture_rtp_timestamp) const;
|
|
|
| size_t RtpHeaderLength() const;
|
| uint16_t AllocateSequenceNumber(uint16_t packets_to_send);
|
| @@ -226,13 +169,6 @@ class RTPSender {
|
| uint32_t Timestamp() const;
|
| uint32_t SSRC() const;
|
|
|
| - // Deprecated. Create RtpPacketToSend instead and use next function.
|
| - bool SendToNetwork(uint8_t* data_buffer,
|
| - size_t payload_length,
|
| - size_t rtp_header_length,
|
| - int64_t capture_time_ms,
|
| - StorageType storage,
|
| - RtpPacketSender::Priority priority);
|
| bool SendToNetwork(std::unique_ptr<RtpPacketToSend> packet,
|
| StorageType storage,
|
| RtpPacketSender::Priority priority);
|
| @@ -292,7 +228,6 @@ class RTPSender {
|
| RtpState GetRtpState() const;
|
| void SetRtxRtpState(const RtpState& rtp_state);
|
| RtpState GetRtxRtpState() const;
|
| - bool ActivateCVORtpHeaderExtension();
|
|
|
| protected:
|
| int32_t CheckPayloadType(int8_t payload_type, RtpVideoCodecTypes* video_type);
|
| @@ -334,13 +269,6 @@ class RTPSender {
|
|
|
| // Find the byte position of the RTP extension as indicated by |type| in
|
| // |rtp_packet|. Return false if such extension doesn't exist.
|
| - bool FindHeaderExtensionPosition(RTPExtensionType type,
|
| - const uint8_t* rtp_packet,
|
| - size_t rtp_packet_length,
|
| - const RTPHeader& rtp_header,
|
| - size_t* position) const
|
| - EXCLUSIVE_LOCKS_REQUIRED(send_critsect_);
|
| -
|
| bool UpdateTransportSequenceNumber(RtpPacketToSend* packet,
|
| int* packet_id) const;
|
|
|
| @@ -378,11 +306,6 @@ class RTPSender {
|
| std::map<int8_t, RtpUtility::Payload*> payload_type_map_;
|
|
|
| RtpHeaderExtensionMap rtp_header_extension_map_ GUARDED_BY(send_critsect_);
|
| - int32_t transmission_time_offset_;
|
| - uint32_t absolute_send_time_;
|
| - VideoRotation rotation_;
|
| - bool video_rotation_active_;
|
| - uint16_t transport_sequence_number_;
|
|
|
| // Tracks the current request for playout delay limits from application
|
| // and decides whether the current RTP frame should include the playout
|
|
|