| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| index d212497edde322b73fe252b1b92c0e33af8602b2..c5432de9d6030544f4d6ea91405950d1712cbce6 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| @@ -92,18 +92,27 @@ class RtcpPacket {
|
| PacketReadyCallback* callback) const;
|
|
|
| protected:
|
| - RtcpPacket() : kHeaderLength(4) {}
|
| + RtcpPacket() {}
|
|
|
| virtual bool Create(uint8_t* packet,
|
| size_t* index,
|
| size_t max_length,
|
| PacketReadyCallback* callback) const = 0;
|
|
|
| + void CreateHeader(uint8_t count_or_format,
|
| + uint8_t packet_type,
|
| + size_t length,
|
| + uint8_t* buffer,
|
| + size_t* pos) const;
|
| +
|
| bool OnBufferFull(uint8_t* packet,
|
| size_t* index,
|
| RtcpPacket::PacketReadyCallback* callback) const;
|
|
|
| - const size_t kHeaderLength;
|
| + virtual size_t BlockLength() const = 0;
|
| + size_t HeaderLength() const;
|
| +
|
| + static const size_t kHeaderLength = 4;
|
|
|
| private:
|
| bool CreateAndAddAppended(uint8_t* packet,
|
| @@ -114,6 +123,8 @@ class RtcpPacket {
|
| std::vector<RtcpPacket*> appended_packets_;
|
| };
|
|
|
| +// TODO(sprang): Move RtcpPacket subclasses out to separate files.
|
| +
|
| class Empty : public RtcpPacket {
|
| public:
|
| Empty() : RtcpPacket() {}
|
| @@ -126,6 +137,8 @@ class Empty : public RtcpPacket {
|
| size_t max_length,
|
| RtcpPacket::PacketReadyCallback* callback) const override;
|
|
|
| + size_t BlockLength() const override;
|
| +
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(Empty);
|
| };
|
| @@ -651,6 +664,8 @@ class Nack : public RtcpPacket {
|
| size_t max_length,
|
| RtcpPacket::PacketReadyCallback* callback) const override;
|
|
|
| + size_t BlockLength() const override;
|
| +
|
| private:
|
|
|
| RTCPUtility::RTCPPacketRTPFBNACK nack_;
|
|
|