rtcp::ReceiverReport moved into own file and got Parse function
BUG=webrtc:5260 R=asapersson@webrtc.org Review URL: https://codereview.webrtc.org/1453083002 . Cr-Commit-Position: refs/heads/master@{#10897}
This commit is contained in:
@ -216,52 +216,6 @@ class SenderReport : public RtcpPacket {
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(SenderReport);
|
||||
};
|
||||
|
||||
//
|
||||
// RTCP receiver report (RFC 3550).
|
||||
//
|
||||
// 0 1 2 3
|
||||
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
// |V=2|P| RC | PT=RR=201 | length |
|
||||
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
// | SSRC of packet sender |
|
||||
// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|
||||
// | report block(s) |
|
||||
// | .... |
|
||||
|
||||
class ReceiverReport : public RtcpPacket {
|
||||
public:
|
||||
ReceiverReport() : RtcpPacket() {
|
||||
memset(&rr_, 0, sizeof(rr_));
|
||||
}
|
||||
|
||||
virtual ~ReceiverReport() {}
|
||||
|
||||
void From(uint32_t ssrc) {
|
||||
rr_.SenderSSRC = ssrc;
|
||||
}
|
||||
bool WithReportBlock(const ReportBlock& block);
|
||||
|
||||
protected:
|
||||
bool Create(uint8_t* packet,
|
||||
size_t* index,
|
||||
size_t max_length,
|
||||
RtcpPacket::PacketReadyCallback* callback) const override;
|
||||
|
||||
private:
|
||||
static const int kMaxNumberOfReportBlocks = 0x1F;
|
||||
|
||||
size_t BlockLength() const {
|
||||
const size_t kRrHeaderLength = 8;
|
||||
return kRrHeaderLength + report_blocks_.size() * kReportBlockLength;
|
||||
}
|
||||
|
||||
RTCPUtility::RTCPPacketRR rr_;
|
||||
std::vector<ReportBlock> report_blocks_;
|
||||
|
||||
RTC_DISALLOW_COPY_AND_ASSIGN(ReceiverReport);
|
||||
};
|
||||
|
||||
// Source Description (SDES) (RFC 3550).
|
||||
//
|
||||
// 0 1 2 3
|
||||
|
Reference in New Issue
Block a user