| 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 27ec57aaa92970b10d3ee422038c4e63dd509fb5..48ad50393bdb476a6a181c93e2dc7850aafb7c14 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet.h
|
| @@ -8,12 +8,11 @@
|
| * be found in the AUTHORS file in the root of the source tree.
|
| *
|
| */
|
| -
|
| #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_H_
|
| #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_H_
|
|
|
| +#include "webrtc/base/basictypes.h"
|
| #include "webrtc/base/buffer.h"
|
| -#include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h"
|
|
|
| namespace webrtc {
|
| namespace rtcp {
|
| @@ -46,27 +45,24 @@ namespace rtcp {
|
|
|
| class RtcpPacket {
|
| public:
|
| - virtual ~RtcpPacket() {}
|
| -
|
| // Callback used to signal that an RTCP packet is ready. Note that this may
|
| // not contain all data in this RtcpPacket; if a packet cannot fit in
|
| // max_length bytes, it will be fragmented and multiple calls to this
|
| // callback will be made.
|
| class PacketReadyCallback {
|
| public:
|
| + virtual void OnPacketReady(uint8_t* data, size_t length) = 0;
|
| +
|
| + protected:
|
| PacketReadyCallback() {}
|
| virtual ~PacketReadyCallback() {}
|
| -
|
| - virtual void OnPacketReady(uint8_t* data, size_t length) = 0;
|
| };
|
|
|
| - // Convenience method mostly used for test. Max length of IP_PACKET_SIZE is
|
| - // used, will cause assertion error if fragmentation occurs.
|
| - rtc::Buffer Build() const;
|
| + virtual ~RtcpPacket() {}
|
|
|
| - // Returns true if call to Create succeeded. A buffer of size
|
| - // IP_PACKET_SIZE will be allocated and reused between calls to callback.
|
| - bool Build(PacketReadyCallback* callback) const;
|
| + // Convenience method mostly used for test. Creates packet without
|
| + // fragmentation using BlockLength() to allocate big enough buffer.
|
| + rtc::Buffer Build() const;
|
|
|
| // Returns true if call to Create succeeded. Provided buffer reference
|
| // will be used for all calls to callback.
|
| @@ -86,21 +82,21 @@ class RtcpPacket {
|
| PacketReadyCallback* callback) const = 0;
|
|
|
| protected:
|
| + // Size of the rtcp common header.
|
| + static constexpr size_t kHeaderLength = 4;
|
| RtcpPacket() {}
|
|
|
| static void CreateHeader(uint8_t count_or_format,
|
| uint8_t packet_type,
|
| - size_t block_length, // Size in 32bit words - 1.
|
| + size_t block_length, // Payload size in 32bit words.
|
| uint8_t* buffer,
|
| size_t* pos);
|
|
|
| bool OnBufferFull(uint8_t* packet,
|
| size_t* index,
|
| - RtcpPacket::PacketReadyCallback* callback) const;
|
| -
|
| + PacketReadyCallback* callback) const;
|
| + // Size of the rtcp packet as written in header.
|
| size_t HeaderLength() const;
|
| -
|
| - static const size_t kHeaderLength = 4;
|
| };
|
| } // namespace rtcp
|
| } // namespace webrtc
|
|
|