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

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

Issue 2553863003: Parse FlexFEC RTP headers in Call and add integration with BWE. (Closed)
Patch Set: Add NotifyBweOfReceivedPacket to mock. Created 4 years 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 18 matching lines...) Expand all
29 29
30 namespace webrtc { 30 namespace webrtc {
31 31
32 class BitrateController; 32 class BitrateController;
33 class Clock; 33 class Clock;
34 class ProbeController; 34 class ProbeController;
35 class RateLimiter; 35 class RateLimiter;
36 class RemoteBitrateEstimator; 36 class RemoteBitrateEstimator;
37 class RemoteBitrateObserver; 37 class RemoteBitrateObserver;
38 class RtcEventLog; 38 class RtcEventLog;
39 class RtpPacketReceived;
39 class TransportFeedbackObserver; 40 class TransportFeedbackObserver;
40 41
41 class CongestionController : public CallStatsObserver, public Module { 42 class CongestionController : public CallStatsObserver, public Module {
42 public: 43 public:
43 // Observer class for bitrate changes announced due to change in bandwidth 44 // Observer class for bitrate changes announced due to change in bandwidth
44 // estimate or due to that the send pacer is full. Fraction loss and rtt is 45 // estimate or due to that the send pacer is full. Fraction loss and rtt is
45 // also part of this callback to allow the observer to optimize its settings 46 // also part of this callback to allow the observer to optimize its settings
46 // for different types of network environments. The bitrate does not include 47 // for different types of network environments. The bitrate does not include
47 // packet headers and is measured in bits per second. 48 // packet headers and is measured in bits per second.
48 class Observer { 49 class Observer {
(...skipping 12 matching lines...) Expand all
61 RtcEventLog* event_log, 62 RtcEventLog* event_log,
62 PacketRouter* packet_router); 63 PacketRouter* packet_router);
63 CongestionController(Clock* clock, 64 CongestionController(Clock* clock,
64 Observer* observer, 65 Observer* observer,
65 RemoteBitrateObserver* remote_bitrate_observer, 66 RemoteBitrateObserver* remote_bitrate_observer,
66 RtcEventLog* event_log, 67 RtcEventLog* event_log,
67 PacketRouter* packet_router, 68 PacketRouter* packet_router,
68 std::unique_ptr<PacedSender> pacer); 69 std::unique_ptr<PacedSender> pacer);
69 virtual ~CongestionController(); 70 virtual ~CongestionController();
70 71
72 virtual void NotifyBweOfReceivedPacket(const RtpPacketReceived& packet);
73
71 virtual void SetBweBitrates(int min_bitrate_bps, 74 virtual void SetBweBitrates(int min_bitrate_bps,
72 int start_bitrate_bps, 75 int start_bitrate_bps,
73 int max_bitrate_bps); 76 int max_bitrate_bps);
74 // Resets both the BWE state and the bitrate estimator. Note the first 77 // Resets both the BWE state and the bitrate estimator. Note the first
75 // argument is the bitrate_bps. 78 // argument is the bitrate_bps.
76 virtual void ResetBweAndBitrates(int bitrate_bps, 79 virtual void ResetBweAndBitrates(int bitrate_bps,
77 int min_bitrate_bps, 80 int min_bitrate_bps,
78 int max_bitrate_bps); 81 int max_bitrate_bps);
79 virtual void SignalNetworkState(NetworkState state); 82 virtual void SignalNetworkState(NetworkState state);
80 virtual BitrateController* GetBitrateController() const; 83 virtual BitrateController* GetBitrateController() const;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_); 138 uint8_t last_reported_fraction_loss_ GUARDED_BY(critsect_);
136 int64_t last_reported_rtt_ GUARDED_BY(critsect_); 139 int64_t last_reported_rtt_ GUARDED_BY(critsect_);
137 NetworkState network_state_ GUARDED_BY(critsect_); 140 NetworkState network_state_ GUARDED_BY(critsect_);
138 141
139 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController); 142 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController);
140 }; 143 };
141 144
142 } // namespace webrtc 145 } // namespace webrtc
143 146
144 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ 147 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698