Index: webrtc/call/rampup_tests.h |
diff --git a/webrtc/call/rampup_tests.h b/webrtc/call/rampup_tests.h |
index 5cf4c4fab506932d30b16dc1117c441d4e09fb9d..65276ea265c820c37389ac947f4462332619a990 100644 |
--- a/webrtc/call/rampup_tests.h |
+++ b/webrtc/call/rampup_tests.h |
@@ -33,6 +33,7 @@ class RampUpTester : public test::EndToEndTest { |
public: |
RampUpTester(size_t num_video_streams, |
size_t num_audio_streams, |
+ size_t num_flexfec_streams, |
unsigned int start_bitrate_bps, |
int64_t min_run_time_ms, |
const std::string& extension_type, |
@@ -43,6 +44,7 @@ class RampUpTester : public test::EndToEndTest { |
size_t GetNumVideoStreams() const override; |
size_t GetNumAudioStreams() const override; |
+ size_t GetNumFlexfecStreams() const override; |
void PerformTest() override; |
@@ -66,6 +68,7 @@ class RampUpTester : public test::EndToEndTest { |
FakeNetworkPipe::Config forward_transport_config_; |
const size_t num_video_streams_; |
const size_t num_audio_streams_; |
+ const size_t num_flexfec_streams_; |
const bool rtx_; |
const bool red_; |
Call* sender_call_; |
@@ -88,6 +91,8 @@ class RampUpTester : public test::EndToEndTest { |
void ModifyAudioConfigs( |
AudioSendStream::Config* send_config, |
std::vector<AudioReceiveStream::Config>* receive_configs) override; |
+ void ModifyFlexfecConfigs( |
+ std::vector<FlexfecReceiveStream::Config>* receive_configs) override; |
void OnCallsCreated(Call* sender_call, Call* receiver_call) override; |
static bool BitrateStatsPollingThread(void* obj); |
@@ -111,29 +116,42 @@ class RampUpDownUpTester : public RampUpTester { |
public: |
RampUpDownUpTester(size_t num_video_streams, |
size_t num_audio_streams, |
+ size_t num_flexfec_streams, |
unsigned int start_bitrate_bps, |
const std::string& extension_type, |
bool rtx, |
- bool red); |
+ bool red, |
+ const std::vector<int>& loss_rates); |
~RampUpDownUpTester() override; |
protected: |
bool PollStats() override; |
private: |
- enum TestStates { kFirstRampup, kLowRate, kSecondRampup }; |
+ enum TestStates { |
+ kFirstRampup = 0, |
+ kLowRate, |
+ kSecondRampup, |
+ kTestEnd, |
+ kTransitionToNextState, |
+ }; |
Call::Config GetReceiverCallConfig() override; |
std::string GetModifierString() const; |
int GetExpectedHighBitrate() const; |
int GetHighLinkCapacity() const; |
+ size_t GetFecBytes() const; |
+ bool ExpectingFec() const; |
void EvolveTestState(int bitrate_bps, bool suspended); |
+ const std::vector<int> link_rates_; |
TestStates test_state_; |
+ TestStates next_state_; |
int64_t state_start_ms_; |
int64_t interval_start_ms_; |
int sent_bytes_; |
+ std::vector<int> loss_rates_; |
}; |
} // namespace webrtc |
#endif // WEBRTC_CALL_RAMPUP_TESTS_H_ |