Index: webrtc/modules/rtp_rtcp/source/rtcp_utility.h |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_utility.h b/webrtc/modules/rtp_rtcp/source/rtcp_utility.h |
index fcafe5960ee883fa04c4d17164fd1ed89b43ea81..73658a01f892b1077fe3185d37275bb8904fdb3d 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_utility.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_utility.h |
@@ -306,12 +306,24 @@ struct RTCPModRawPacket { |
uint8_t* _ptrPacketEnd; |
}; |
-struct RTCPCommonHeader { |
- uint8_t V; // Version |
- bool P; // Padding |
- uint8_t IC; // Item count/subtype |
- uint8_t PT; // Packet Type |
- uint16_t LengthInOctets; |
+struct RtcpCommonHeader { |
+ static const uint8_t kHeaderSizeBytes = 4; |
+ RtcpCommonHeader() |
+ : version(2), |
+ count_or_format(0), |
+ packet_type(0), |
+ payload_size_bytes(0), |
+ padding_bytes(0) {} |
+ |
+ uint32_t BlockSize() const { |
+ return kHeaderSizeBytes + payload_size_bytes + padding_bytes; |
+ } |
+ |
+ uint8_t version; |
+ uint8_t count_or_format; |
+ uint8_t packet_type; |
+ uint32_t payload_size_bytes; |
+ uint8_t padding_bytes; |
}; |
enum RTCPPT : uint8_t { |
@@ -333,9 +345,9 @@ enum RtcpXrBlockType : uint8_t { |
kBtVoipMetric = 7 |
}; |
-bool RTCPParseCommonHeader(const uint8_t* ptrDataBegin, |
- const uint8_t* ptrDataEnd, |
- RTCPCommonHeader& parsedHeader); |
+bool RtcpParseCommonHeader(const uint8_t* buffer, |
+ size_t size_bytes, |
+ RtcpCommonHeader* parsed_header); |
class RTCPParserV2 { |
public: |
@@ -418,7 +430,7 @@ class RTCPParserV2 { |
bool ParseXrVoipMetricItem(int block_length_4bytes); |
bool ParseXrUnsupportedBlockType(int block_length_4bytes); |
- bool ParseFBCommon(const RTCPCommonHeader& header); |
+ bool ParseFBCommon(const RtcpCommonHeader& header); |
bool ParseNACKItem(); |
bool ParseTMMBRItem(); |
bool ParseTMMBNItem(); |
@@ -428,7 +440,7 @@ class RTCPParserV2 { |
bool ParsePsfbAppItem(); |
bool ParsePsfbREMBItem(); |
- bool ParseAPP(const RTCPCommonHeader& header); |
+ bool ParseAPP(const RtcpCommonHeader& header); |
bool ParseAPPItem(); |
private: |
@@ -452,9 +464,9 @@ class RTCPPacketIterator { |
RTCPPacketIterator(uint8_t* rtcpData, size_t rtcpDataLength); |
~RTCPPacketIterator(); |
- const RTCPCommonHeader* Begin(); |
- const RTCPCommonHeader* Iterate(); |
- const RTCPCommonHeader* Current(); |
+ const RtcpCommonHeader* Begin(); |
+ const RtcpCommonHeader* Iterate(); |
+ const RtcpCommonHeader* Current(); |
private: |
uint8_t* const _ptrBegin; |
@@ -462,7 +474,7 @@ class RTCPPacketIterator { |
uint8_t* _ptrBlock; |
- RTCPCommonHeader _header; |
+ RtcpCommonHeader _header; |
}; |
} // RTCPUtility |
} // namespace webrtc |