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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h

Issue 2373053002: Move RTCPHelp::RTCPReceiveInformation inside RTCPReceiver (Closed)
Patch Set: Created 4 years, 2 months 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) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_ 11 #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_ 12 #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
13 13
14 #include <map>
15 #include <vector>
16
17 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 14 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
18 #include "webrtc/modules/rtp_rtcp/source/tmmbr_help.h"
19 #include "webrtc/typedefs.h" 15 #include "webrtc/typedefs.h"
20 16
21 namespace webrtc { 17 namespace webrtc {
22 namespace RTCPHelp { 18 namespace RTCPHelp {
23 19
24 class RTCPReportBlockInformation { 20 class RTCPReportBlockInformation {
25 public: 21 public:
26 RTCPReportBlockInformation(); 22 RTCPReportBlockInformation();
27 ~RTCPReportBlockInformation(); 23 ~RTCPReportBlockInformation();
28 24
29 // Statistics 25 // Statistics
30 RTCPReportBlock remoteReceiveBlock; 26 RTCPReportBlock remoteReceiveBlock;
31 uint32_t remoteMaxJitter; 27 uint32_t remoteMaxJitter;
32 28
33 // RTT 29 // RTT
34 int64_t RTT; 30 int64_t RTT;
35 int64_t minRTT; 31 int64_t minRTT;
36 int64_t maxRTT; 32 int64_t maxRTT;
37 int64_t avgRTT; 33 int64_t avgRTT;
38 uint32_t numAverageCalcs; 34 uint32_t numAverageCalcs;
39 }; 35 };
40 36
41 class RTCPReceiveInformation {
42 public:
43 RTCPReceiveInformation();
44 ~RTCPReceiveInformation();
45
46 void InsertTmmbrItem(uint32_t sender_ssrc,
47 const rtcp::TmmbItem& tmmbr_item,
48 int64_t current_time_ms);
49
50 void GetTmmbrSet(int64_t current_time_ms,
51 std::vector<rtcp::TmmbItem>* candidates);
52
53 void ClearTmmbr();
54
55 int64_t last_time_received_ms = 0;
56
57 int32_t last_fir_sequence_number = -1;
58 int64_t last_fir_request_ms = 0;
59
60 bool ready_for_delete = false;
61
62 std::vector<rtcp::TmmbItem> tmmbn;
63
64 private:
65 struct TimedTmmbrItem {
66 rtcp::TmmbItem tmmbr_item;
67 int64_t last_updated_ms;
68 };
69
70 std::map<uint32_t, TimedTmmbrItem> tmmbr_;
71 };
72
73 } // end namespace RTCPHelp 37 } // end namespace RTCPHelp
74 } // namespace webrtc 38 } // namespace webrtc
75 39
76 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_ 40 #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698