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

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h

Issue 1663413003: Clean up of CongestionController. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase. Created 4 years, 10 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
(...skipping 14 matching lines...) Expand all
25 namespace webrtc { 25 namespace webrtc {
26 26
27 class Clock; 27 class Clock;
28 28
29 // RemoteBitrateObserver is used to signal changes in bitrate estimates for 29 // RemoteBitrateObserver is used to signal changes in bitrate estimates for
30 // the incoming streams. 30 // the incoming streams.
31 class RemoteBitrateObserver { 31 class RemoteBitrateObserver {
32 public: 32 public:
33 // Called when a receive channel group has a new bitrate estimate for the 33 // Called when a receive channel group has a new bitrate estimate for the
34 // incoming streams. 34 // incoming streams.
35 virtual void OnReceiveBitrateChanged(const std::vector<unsigned int>& ssrcs, 35 virtual void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs,
36 unsigned int bitrate) = 0; 36 uint32_t bitrate) = 0;
37 37
38 virtual ~RemoteBitrateObserver() {} 38 virtual ~RemoteBitrateObserver() {}
39 }; 39 };
40 40
41 struct ReceiveBandwidthEstimatorStats { 41 struct ReceiveBandwidthEstimatorStats {
42 ReceiveBandwidthEstimatorStats() : total_propagation_time_delta_ms(0) {} 42 ReceiveBandwidthEstimatorStats() : total_propagation_time_delta_ms(0) {}
43 43
44 // The "propagation_time_delta" of a frame is defined as (d_arrival - d_sent), 44 // The "propagation_time_delta" of a frame is defined as (d_arrival - d_sent),
45 // where d_arrival is the delta of the arrival times of the frame and the 45 // where d_arrival is the delta of the arrival times of the frame and the
46 // previous frame, d_sent is the delta of the sent times of the frame and 46 // previous frame, d_sent is the delta of the sent times of the frame and
(...skipping 26 matching lines...) Expand all
73 // estimate and the over-use detector. If an over-use is detected the 73 // estimate and the over-use detector. If an over-use is detected the
74 // remote bitrate estimate will be updated. Note that |payload_size| is the 74 // remote bitrate estimate will be updated. Note that |payload_size| is the
75 // packet size excluding headers. 75 // packet size excluding headers.
76 // Note that |arrival_time_ms| can be of an arbitrary time base. 76 // Note that |arrival_time_ms| can be of an arbitrary time base.
77 virtual void IncomingPacket(int64_t arrival_time_ms, 77 virtual void IncomingPacket(int64_t arrival_time_ms,
78 size_t payload_size, 78 size_t payload_size,
79 const RTPHeader& header, 79 const RTPHeader& header,
80 bool was_paced) = 0; 80 bool was_paced) = 0;
81 81
82 // Removes all data for |ssrc|. 82 // Removes all data for |ssrc|.
83 virtual void RemoveStream(unsigned int ssrc) = 0; 83 virtual void RemoveStream(unsigned int ssrc) = 0;
the sun 2016/02/08 10:39:23 uint32_t here as well?
stefan-webrtc 2016/02/08 13:30:54 Done.
84 84
85 // Returns true if a valid estimate exists and sets |bitrate_bps| to the 85 // Returns true if a valid estimate exists and sets |bitrate_bps| to the
86 // estimated payload bitrate in bits per second. |ssrcs| is the list of ssrcs 86 // estimated payload bitrate in bits per second. |ssrcs| is the list of ssrcs
87 // currently being received and of which the bitrate estimate is based upon. 87 // currently being received and of which the bitrate estimate is based upon.
88 virtual bool LatestEstimate(std::vector<unsigned int>* ssrcs, 88 virtual bool LatestEstimate(std::vector<unsigned int>* ssrcs,
the sun 2016/02/08 10:39:23 and here
stefan-webrtc 2016/02/08 13:30:54 Done.
89 unsigned int* bitrate_bps) const = 0; 89 unsigned int* bitrate_bps) const = 0;
90 90
91 // Returns true if the statistics are available. 91 // Returns true if the statistics are available.
92 virtual bool GetStats(ReceiveBandwidthEstimatorStats* output) const = 0; 92 virtual bool GetStats(ReceiveBandwidthEstimatorStats* output) const = 0;
93 93
94 virtual void SetMinBitrate(int min_bitrate_bps) = 0; 94 virtual void SetMinBitrate(int min_bitrate_bps) = 0;
95 95
96 protected: 96 protected:
97 static const int64_t kProcessIntervalMs = 500; 97 static const int64_t kProcessIntervalMs = 500;
98 static const int64_t kStreamTimeOutMs = 2000; 98 static const int64_t kStreamTimeOutMs = 2000;
99 }; 99 };
100 100
101 } // namespace webrtc 101 } // namespace webrtc
102 102
103 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_INCLUDE_REMOTE_BITRATE_ESTIMA TOR_H_ 103 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_INCLUDE_REMOTE_BITRATE_ESTIMA TOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698