| 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 @@ | 
| 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 @@ | 
|  | 
| size_t GetNumVideoStreams() const override; | 
| size_t GetNumAudioStreams() const override; | 
| +  size_t GetNumFlexfecStreams() const override; | 
|  | 
| void PerformTest() override; | 
|  | 
| @@ -66,6 +68,7 @@ | 
| 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 @@ | 
| 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 @@ | 
| 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_ | 
|  |