diff --git a/modules/rtp_rtcp/source/rtp_packet.cc b/modules/rtp_rtcp/source/rtp_packet.cc index 9b5bc8671b..4387fe74c3 100644 --- a/modules/rtp_rtcp/source/rtp_packet.cc +++ b/modules/rtp_rtcp/source/rtp_packet.cc @@ -107,32 +107,6 @@ bool RtpPacket::Parse(rtc::CopyOnWriteBuffer buffer) { return true; } -bool RtpPacket::Marker() const { - RTC_DCHECK_EQ(marker_, (data()[1] & 0x80) != 0); - return marker_; -} - -uint8_t RtpPacket::PayloadType() const { - RTC_DCHECK_EQ(payload_type_, data()[1] & 0x7f); - return payload_type_; -} - -uint16_t RtpPacket::SequenceNumber() const { - RTC_DCHECK_EQ(sequence_number_, - ByteReader::ReadBigEndian(data() + 2)); - return sequence_number_; -} - -uint32_t RtpPacket::Timestamp() const { - RTC_DCHECK_EQ(timestamp_, ByteReader::ReadBigEndian(data() + 4)); - return timestamp_; -} - -uint32_t RtpPacket::Ssrc() const { - RTC_DCHECK_EQ(ssrc_, ByteReader::ReadBigEndian(data() + 8)); - return ssrc_; -} - std::vector RtpPacket::Csrcs() const { size_t num_csrc = data()[0] & 0x0F; RTC_DCHECK_GE(capacity(), kFixedHeaderSize + num_csrc * 4); @@ -144,48 +118,6 @@ std::vector RtpPacket::Csrcs() const { return csrcs; } -size_t RtpPacket::headers_size() const { - return payload_offset_; -} - -size_t RtpPacket::payload_size() const { - return payload_size_; -} - -size_t RtpPacket::padding_size() const { - return padding_size_; -} - -rtc::ArrayView RtpPacket::payload() const { - return rtc::MakeArrayView(data() + payload_offset_, payload_size_); -} - -rtc::CopyOnWriteBuffer RtpPacket::Buffer() const { - return buffer_; -} - -size_t RtpPacket::capacity() const { - return buffer_.capacity(); -} - -size_t RtpPacket::size() const { - size_t ret = payload_offset_ + payload_size_ + padding_size_; - RTC_DCHECK_EQ(buffer_.size(), ret); - return ret; -} - -const uint8_t* RtpPacket::data() const { - return buffer_.cdata(); -} - -size_t RtpPacket::FreeCapacity() const { - return capacity() - size(); -} - -size_t RtpPacket::MaxPayloadSize() const { - return capacity() - payload_offset_; -} - void RtpPacket::CopyHeaderFrom(const RtpPacket& packet) { RTC_DCHECK_GE(capacity(), packet.headers_size()); @@ -235,7 +167,7 @@ void RtpPacket::SetSsrc(uint32_t ssrc) { ByteWriter::WriteBigEndian(WriteAt(8), ssrc); } -void RtpPacket::SetCsrcs(const std::vector& csrcs) { +void RtpPacket::SetCsrcs(rtc::ArrayView csrcs) { RTC_DCHECK_EQ(extensions_size_, 0); RTC_DCHECK_EQ(payload_size_, 0); RTC_DCHECK_EQ(padding_size_, 0); @@ -517,12 +449,4 @@ rtc::ArrayView RtpPacket::AllocateExtension(ExtensionType type, return nullptr; } -uint8_t* RtpPacket::WriteAt(size_t offset) { - return buffer_.data() + offset; -} - -void RtpPacket::WriteAt(size_t offset, uint8_t byte) { - buffer_.data()[offset] = byte; -} - } // namespace webrtc diff --git a/modules/rtp_rtcp/source/rtp_packet.h b/modules/rtp_rtcp/source/rtp_packet.h index 64a4bcb0ae..21adf6229b 100644 --- a/modules/rtp_rtcp/source/rtp_packet.h +++ b/modules/rtp_rtcp/source/rtp_packet.h @@ -51,27 +51,31 @@ class RtpPacket { void IdentifyExtensions(const ExtensionManager& extensions); // Header. - bool Marker() const; - uint8_t PayloadType() const; - uint16_t SequenceNumber() const; - uint32_t Timestamp() const; - uint32_t Ssrc() const; + bool Marker() const { return marker_; } + uint8_t PayloadType() const { return payload_type_; } + uint16_t SequenceNumber() const { return sequence_number_; } + uint32_t Timestamp() const { return timestamp_; } + uint32_t Ssrc() const { return ssrc_; } std::vector Csrcs() const; - size_t headers_size() const; + size_t headers_size() const { return payload_offset_; } // Payload. - size_t payload_size() const; - size_t padding_size() const; - rtc::ArrayView payload() const; + size_t payload_size() const { return payload_size_; } + size_t padding_size() const { return padding_size_; } + rtc::ArrayView payload() const { + return rtc::MakeArrayView(data() + payload_offset_, payload_size_); + } // Buffer. - rtc::CopyOnWriteBuffer Buffer() const; - size_t capacity() const; - size_t size() const; - const uint8_t* data() const; - size_t FreeCapacity() const; - size_t MaxPayloadSize() const; + rtc::CopyOnWriteBuffer Buffer() const { return buffer_; } + size_t capacity() const { return buffer_.capacity(); } + size_t size() const { + return payload_offset_ + payload_size_ + padding_size_; + } + const uint8_t* data() const { return buffer_.cdata(); } + size_t FreeCapacity() const { return capacity() - size(); } + size_t MaxPayloadSize() const { return capacity() - headers_size(); } // Reset fields and buffer. void Clear(); @@ -87,7 +91,7 @@ class RtpPacket { // Writes csrc list. Assumes: // a) There is enough room left in buffer. // b) Extension headers, payload or padding data has not already been added. - void SetCsrcs(const std::vector& csrcs); + void SetCsrcs(rtc::ArrayView csrcs); // Header extensions. template @@ -131,8 +135,8 @@ class RtpPacket { // to write raw extension to or an empty view on failure. rtc::ArrayView AllocateExtension(ExtensionType type, size_t length); - uint8_t* WriteAt(size_t offset); - void WriteAt(size_t offset, uint8_t byte); + uint8_t* WriteAt(size_t offset) { return buffer_.data() + offset; } + void WriteAt(size_t offset, uint8_t byte) { buffer_.data()[offset] = byte; } // Header. bool marker_;