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

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

Issue 2431093003: Fix BWE simulations so that it uses the delay based BWE. (Closed)
Patch Set: Nit Created 4 years, 1 month 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/call/mock/mock_rtc_event_log.h" 17 #include "webrtc/logging/rtc_event_log/mock/mock_rtc_event_log.h"
18 #include "webrtc/modules/remote_bitrate_estimator/include/send_time_history.h" 18 #include "webrtc/modules/remote_bitrate_estimator/include/send_time_history.h"
19 #include "webrtc/modules/remote_bitrate_estimator/test/bwe.h" 19 #include "webrtc/modules/remote_bitrate_estimator/test/bwe.h"
20 20
21 namespace webrtc { 21 namespace webrtc {
22 namespace testing { 22 namespace testing {
23 namespace bwe { 23 namespace bwe {
24 24
25 class FullBweSender : public BweSender, public RemoteBitrateObserver { 25 class SendSideBweSender : public BweSender, public RemoteBitrateObserver {
26 public: 26 public:
27 FullBweSender(int kbps, BitrateObserver* observer, Clock* clock); 27 SendSideBweSender(int kbps, BitrateObserver* observer, Clock* clock);
28 virtual ~FullBweSender(); 28 virtual ~SendSideBweSender();
29 29
30 int GetFeedbackIntervalMs() const override; 30 int GetFeedbackIntervalMs() const override;
31 void GiveFeedback(const FeedbackPacket& feedback) override; 31 void GiveFeedback(const FeedbackPacket& feedback) override;
32 void OnPacketsSent(const Packets& packets) override; 32 void OnPacketsSent(const Packets& packets) override;
33 void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs, 33 void OnReceiveBitrateChanged(const std::vector<uint32_t>& ssrcs,
34 uint32_t bitrate) override; 34 uint32_t bitrate) override;
35 int64_t TimeUntilNextProcess() override; 35 int64_t TimeUntilNextProcess() override;
36 void Process() override; 36 void Process() override;
37 37
38 protected: 38 protected:
39 std::unique_ptr<BitrateController> bitrate_controller_; 39 std::unique_ptr<BitrateController> bitrate_controller_;
40 std::unique_ptr<RemoteBitrateEstimator> rbe_; 40 std::unique_ptr<DelayBasedBwe> bwe_;
41 std::unique_ptr<RtcpBandwidthObserver> feedback_observer_; 41 std::unique_ptr<RtcpBandwidthObserver> feedback_observer_;
42 42
43 private: 43 private:
44 Clock* const clock_; 44 Clock* const clock_;
45 RTCPReportBlock report_block_; 45 RTCPReportBlock report_block_;
46 SendTimeHistory send_time_history_; 46 SendTimeHistory send_time_history_;
47 bool has_received_ack_; 47 bool has_received_ack_;
48 uint16_t last_acked_seq_num_; 48 uint16_t last_acked_seq_num_;
49 int64_t last_log_time_ms_; 49 int64_t last_log_time_ms_;
50 SequenceNumberUnwrapper seq_num_unwrapper_; 50 SequenceNumberUnwrapper seq_num_unwrapper_;
51 ::testing::NiceMock<MockRtcEventLog> event_log_; 51 ::testing::NiceMock<MockRtcEventLog> event_log_;
52 52
53 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(FullBweSender); 53 RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(SendSideBweSender);
54 }; 54 };
55 55
56 class SendSideBweReceiver : public BweReceiver { 56 class SendSideBweReceiver : public BweReceiver {
57 public: 57 public:
58 explicit SendSideBweReceiver(int flow_id); 58 explicit SendSideBweReceiver(int flow_id);
59 virtual ~SendSideBweReceiver(); 59 virtual ~SendSideBweReceiver();
60 60
61 void ReceivePacket(int64_t arrival_time_ms, 61 void ReceivePacket(int64_t arrival_time_ms,
62 const MediaPacket& media_packet) override; 62 const MediaPacket& media_packet) override;
63 FeedbackPacket* GetFeedback(int64_t now_ms) override; 63 FeedbackPacket* GetFeedback(int64_t now_ms) override;
64 64
65 private: 65 private:
66 int64_t last_feedback_ms_; 66 int64_t last_feedback_ms_;
67 std::vector<PacketInfo> packet_feedback_vector_; 67 std::vector<PacketInfo> packet_feedback_vector_;
68 }; 68 };
69 69
70 } // namespace bwe 70 } // namespace bwe
71 } // namespace testing 71 } // namespace testing
72 } // namespace webrtc 72 } // namespace webrtc
73 73
74 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_ 74 #endif // WEBRTC_MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698