Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h |
| similarity index 54% |
| copy from webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h |
| copy to webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h |
| index 49de7be1a803011f9d263a82538f3bdb2f783480..1cd560c5caae3348e6c3996dbd1339d581a9a2ff 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h |
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h |
| @@ -6,39 +6,41 @@ |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| + * |
| */ |
| -#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ |
| -#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ |
| +#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_ |
| +#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_ |
| +#include <string> |
| #include <vector> |
| #include "webrtc/base/checks.h" |
|
åsapersson
2015/11/20 09:44:58
needed?
danilchap
2015/11/20 11:03:21
Done.
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" |
| +#include "webrtc/typedefs.h" |
| namespace webrtc { |
| namespace rtcp { |
| -class ExtendedJitterReport : public RtcpPacket { |
| +class Bye : public RtcpPacket { |
| public: |
| - static const uint8_t kPacketType = 195; |
| - |
| - ExtendedJitterReport() : RtcpPacket() {} |
| + static const uint8_t kPacketType = 203; |
| - virtual ~ExtendedJitterReport() {} |
| + Bye(); |
| + virtual ~Bye() {} |
| // Parse assumes header is already parsed and validated. |
| bool Parse(const RTCPUtility::RtcpCommonHeader& header, |
| const uint8_t* payload); // Size of the payload is in the header. |
| - bool WithJitter(uint32_t jitter); |
| + void From(uint32_t ssrc) { sender_ssrc_ = ssrc; } |
| + bool WithCsrc(uint32_t csrc); |
| + bool WithReason(const std::string& reason); |
| - size_t jitters_count() const { return inter_arrival_jitters_.size(); } |
| - uint32_t jitter(size_t index) const { |
| - RTC_DCHECK_LT(index, jitters_count()); |
| - return inter_arrival_jitters_[index]; |
| - } |
| + uint32_t sender_ssrc() const { return sender_ssrc_; } |
| + const std::vector<uint32_t>& csrcs() const { return csrcs_; } |
| + const std::string& reason() const { return reason_; } |
| protected: |
| bool Create(uint8_t* packet, |
| @@ -47,17 +49,17 @@ class ExtendedJitterReport : public RtcpPacket { |
| RtcpPacket::PacketReadyCallback* callback) const override; |
| private: |
| - static const int kMaxNumberOfJitters = 0x1f; |
| + static const int kMaxNumberOfCsrcs = 0x1f - 1; // First item is sender SSRC. |
| - size_t BlockLength() const override { |
| - return kHeaderLength + 4 * inter_arrival_jitters_.size(); |
| - } |
| + size_t BlockLength() const override; |
| - std::vector<uint32_t> inter_arrival_jitters_; |
| + uint32_t sender_ssrc_; |
| + std::vector<uint32_t> csrcs_; |
| + std::string reason_; |
| - RTC_DISALLOW_COPY_AND_ASSIGN(ExtendedJitterReport); |
| + RTC_DISALLOW_COPY_AND_ASSIGN(Bye); |
| }; |
| } // namespace rtcp |
| } // namespace webrtc |
| -#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ |
| +#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_ |