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

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

Issue 2755553003: Ignore packets sent on old network route when receiving feedback. (Closed)
Patch Set: Comments addressed. Created 3 years, 9 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_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ 11 #ifndef WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_
12 #define WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ 12 #define WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_
13 13
14 #include <memory> 14 #include <memory>
15 #include <vector> 15 #include <vector>
16 16
17 #include "webrtc/base/constructormagic.h" 17 #include "webrtc/base/constructormagic.h"
18 #include "webrtc/base/criticalsection.h" 18 #include "webrtc/base/criticalsection.h"
19 #include "webrtc/base/networkroute.h"
19 #include "webrtc/base/thread_checker.h" 20 #include "webrtc/base/thread_checker.h"
20 #include "webrtc/common_types.h" 21 #include "webrtc/common_types.h"
21 #include "webrtc/modules/congestion_controller/delay_based_bwe.h" 22 #include "webrtc/modules/congestion_controller/delay_based_bwe.h"
22 #include "webrtc/modules/congestion_controller/transport_feedback_adapter.h" 23 #include "webrtc/modules/congestion_controller/transport_feedback_adapter.h"
23 #include "webrtc/modules/include/module.h" 24 #include "webrtc/modules/include/module.h"
24 #include "webrtc/modules/include/module_common_types.h" 25 #include "webrtc/modules/include/module_common_types.h"
25 #include "webrtc/modules/pacing/paced_sender.h" 26 #include "webrtc/modules/pacing/paced_sender.h"
26 #include "webrtc/modules/pacing/packet_router.h" 27 #include "webrtc/modules/pacing/packet_router.h"
27 #include "webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h" 28 #include "webrtc/modules/remote_bitrate_estimator/remote_estimator_proxy.h"
28 29
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 75
75 virtual void OnReceivedPacket(int64_t arrival_time_ms, 76 virtual void OnReceivedPacket(int64_t arrival_time_ms,
76 size_t payload_size, 77 size_t payload_size,
77 const RTPHeader& header); 78 const RTPHeader& header);
78 79
79 virtual void SetBweBitrates(int min_bitrate_bps, 80 virtual void SetBweBitrates(int min_bitrate_bps,
80 int start_bitrate_bps, 81 int start_bitrate_bps,
81 int max_bitrate_bps); 82 int max_bitrate_bps);
82 // Resets both the BWE state and the bitrate estimator. Note the first 83 // Resets both the BWE state and the bitrate estimator. Note the first
83 // argument is the bitrate_bps. 84 // argument is the bitrate_bps.
84 virtual void ResetBweAndBitrates(int bitrate_bps, 85 virtual void OnNetworkRouteChanged(const rtc::NetworkRoute& network_route,
85 int min_bitrate_bps, 86 int bitrate_bps,
86 int max_bitrate_bps); 87 int min_bitrate_bps,
88 int max_bitrate_bps);
87 virtual void SignalNetworkState(NetworkState state); 89 virtual void SignalNetworkState(NetworkState state);
88 virtual void SetTransportOverhead(size_t transport_overhead_bytes_per_packet); 90 virtual void SetTransportOverhead(size_t transport_overhead_bytes_per_packet);
89 91
90 virtual BitrateController* GetBitrateController() const; 92 virtual BitrateController* GetBitrateController() const;
91 virtual RemoteBitrateEstimator* GetRemoteBitrateEstimator( 93 virtual RemoteBitrateEstimator* GetRemoteBitrateEstimator(
92 bool send_side_bwe); 94 bool send_side_bwe);
93 virtual int64_t GetPacerQueuingDelayMs() const; 95 virtual int64_t GetPacerQueuingDelayMs() const;
94 // TODO(nisse): Delete this accessor function. The pacer should be 96 // TODO(nisse): Delete this accessor function. The pacer should be
95 // internal to the congestion controller. 97 // internal to the congestion controller.
96 virtual PacedSender* pacer() { return pacer_.get(); } 98 virtual PacedSender* pacer() { return pacer_.get(); }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 std::unique_ptr<DelayBasedBwe> delay_based_bwe_ GUARDED_BY(bwe_lock_); 200 std::unique_ptr<DelayBasedBwe> delay_based_bwe_ GUARDED_BY(bwe_lock_);
199 201
200 rtc::ThreadChecker worker_thread_checker_; 202 rtc::ThreadChecker worker_thread_checker_;
201 203
202 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController); 204 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(CongestionController);
203 }; 205 };
204 206
205 } // namespace webrtc 207 } // namespace webrtc
206 208
207 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_ 209 #endif // WEBRTC_MODULES_CONGESTION_CONTROLLER_INCLUDE_CONGESTION_CONTROLLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698