Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_packet/bye.h

Issue 1430013003: rtcp::Bye packet moved to own file and got a Parse function (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Merged with 'master' Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 *
9 */ 10 */
10 11
11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ 12 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_
12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ 13 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_
13 14
15 #include <string>
14 #include <vector> 16 #include <vector>
15 17
16 #include "webrtc/base/checks.h" 18 #include "webrtc/base/checks.h"
åsapersson 2015/11/20 09:44:58 needed?
danilchap 2015/11/20 11:03:21 Done.
17 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" 19 #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h"
18 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" 20 #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h"
21 #include "webrtc/typedefs.h"
19 22
20 namespace webrtc { 23 namespace webrtc {
21 namespace rtcp { 24 namespace rtcp {
22 25
23 class ExtendedJitterReport : public RtcpPacket { 26 class Bye : public RtcpPacket {
24 public: 27 public:
25 static const uint8_t kPacketType = 195; 28 static const uint8_t kPacketType = 203;
26 29
27 ExtendedJitterReport() : RtcpPacket() {} 30 Bye();
28 31 virtual ~Bye() {}
29 virtual ~ExtendedJitterReport() {}
30 32
31 // Parse assumes header is already parsed and validated. 33 // Parse assumes header is already parsed and validated.
32 bool Parse(const RTCPUtility::RtcpCommonHeader& header, 34 bool Parse(const RTCPUtility::RtcpCommonHeader& header,
33 const uint8_t* payload); // Size of the payload is in the header. 35 const uint8_t* payload); // Size of the payload is in the header.
34 36
35 bool WithJitter(uint32_t jitter); 37 void From(uint32_t ssrc) { sender_ssrc_ = ssrc; }
38 bool WithCsrc(uint32_t csrc);
39 bool WithReason(const std::string& reason);
36 40
37 size_t jitters_count() const { return inter_arrival_jitters_.size(); } 41 uint32_t sender_ssrc() const { return sender_ssrc_; }
38 uint32_t jitter(size_t index) const { 42 const std::vector<uint32_t>& csrcs() const { return csrcs_; }
39 RTC_DCHECK_LT(index, jitters_count()); 43 const std::string& reason() const { return reason_; }
40 return inter_arrival_jitters_[index];
41 }
42 44
43 protected: 45 protected:
44 bool Create(uint8_t* packet, 46 bool Create(uint8_t* packet,
45 size_t* index, 47 size_t* index,
46 size_t max_length, 48 size_t max_length,
47 RtcpPacket::PacketReadyCallback* callback) const override; 49 RtcpPacket::PacketReadyCallback* callback) const override;
48 50
49 private: 51 private:
50 static const int kMaxNumberOfJitters = 0x1f; 52 static const int kMaxNumberOfCsrcs = 0x1f - 1; // First item is sender SSRC.
51 53
52 size_t BlockLength() const override { 54 size_t BlockLength() const override;
53 return kHeaderLength + 4 * inter_arrival_jitters_.size();
54 }
55 55
56 std::vector<uint32_t> inter_arrival_jitters_; 56 uint32_t sender_ssrc_;
57 std::vector<uint32_t> csrcs_;
58 std::string reason_;
57 59
58 RTC_DISALLOW_COPY_AND_ASSIGN(ExtendedJitterReport); 60 RTC_DISALLOW_COPY_AND_ASSIGN(Bye);
59 }; 61 };
60 62
61 } // namespace rtcp 63 } // namespace rtcp
62 } // namespace webrtc 64 } // namespace webrtc
63 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_EXTENDED_JITTER_REPORT_H_ 65 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_BYE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698