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

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h

Issue 2917873002: Refactored incoming bitrate estimator. (Closed)
Patch Set: Respond to comments Created 3 years, 6 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) 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 #ifndef WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_ 11 #ifndef WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
12 #define WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_ 12 #define WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
13 13
14 #include <memory> 14 #include <memory>
15 #include <vector> 15 #include <vector>
16 16
17 #include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h" 17 #include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h"
18 #include "webrtc/modules/congestion_controller/acknowledge_bitrate_estimator.h"
18 #include "webrtc/modules/remote_bitrate_estimator/include/send_time_history.h" 19 #include "webrtc/modules/remote_bitrate_estimator/include/send_time_history.h"
19 #include "webrtc/modules/remote_bitrate_estimator/test/bwe.h" 20 #include "webrtc/modules/remote_bitrate_estimator/test/bwe.h"
20 21
21 namespace webrtc { 22 namespace webrtc {
22 namespace testing { 23 namespace testing {
23 namespace bwe { 24 namespace bwe {
24 25
25 class SendSideBweSender : public BweSender, public RemoteBitrateObserver { 26 class SendSideBweSender : public BweSender, public RemoteBitrateObserver {
26 public: 27 public:
27 SendSideBweSender(int kbps, BitrateObserver* observer, Clock* clock); 28 SendSideBweSender(int kbps, BitrateObserver* observer, Clock* clock);
28 virtual ~SendSideBweSender(); 29 virtual ~SendSideBweSender();
29 30
30 int GetFeedbackIntervalMs() const override; 31 int GetFeedbackIntervalMs() const override;
31 void GiveFeedback(const FeedbackPacket& feedback) override; 32 void GiveFeedback(const FeedbackPacket& feedback) override;
32 void OnPacketsSent(const Packets& packets) override; 33 void OnPacketsSent(const Packets& packets) override;
33 void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs, 34 void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs,
34 uint32_t bitrate) override; 35 uint32_t bitrate) override;
35 int64_t TimeUntilNextProcess() override; 36 int64_t TimeUntilNextProcess() override;
36 void Process() override; 37 void Process() override;
37 38
38 protected: 39 protected:
39 std::unique_ptr<BitrateController> bitrate_controller_; 40 std::unique_ptr<BitrateController> bitrate_controller_;
41 std::unique_ptr<AcknowledgedBitrateEstimator> acknowledged_bitrate_estimator_;
40 std::unique_ptr<DelayBasedBwe> bwe_; 42 std::unique_ptr<DelayBasedBwe> bwe_;
41 std::unique_ptr<RtcpBandwidthObserver> feedback_observer_; 43 std::unique_ptr<RtcpBandwidthObserver> feedback_observer_;
42 44
43 private: 45 private:
44 Clock* const clock_; 46 Clock* const clock_;
45 RTCPReportBlock report_block_; 47 RTCPReportBlock report_block_;
46 SendTimeHistory send_time_history_; 48 SendTimeHistory send_time_history_;
47 bool has_received_ack_; 49 bool has_received_ack_;
48 uint16_t last_acked_seq_num_; 50 uint16_t last_acked_seq_num_;
49 int64_t last_log_time_ms_; 51 int64_t last_log_time_ms_;
(...skipping 15 matching lines...) Expand all
65 private: 67 private:
66 int64_t last_feedback_ms_; 68 int64_t last_feedback_ms_;
67 std::vector<PacketFeedback> packet_feedback_vector_; 69 std::vector<PacketFeedback> packet_feedback_vector_;
68 }; 70 };
69 71
70 } // namespace bwe 72 } // namespace bwe
71 } // namespace testing 73 } // namespace testing
72 } // namespace webrtc 74 } // namespace webrtc
73 75
74 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_ 76 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698