Revert "Always use real VideoStreamsFactory in full stack tests"

This reverts commit 18cf2383aa2eb9de5778991c9d13b6b847143d37.

Reason for revert: Unexpected changes in webrtc_perf stats.

Original change's description:
> Always use real VideoStreamsFactory in full stack tests
> 
> Because quality scaling is enabled now in full stack test, correct
> factory should be used to compute actual resolution.
> 
> Also, since analyzed stream may be disabled completely now, change how
> analyzer considers the test finished --- count captured frames and
> stop if required amount of frames is captured and no new comparison were
> made.
> 
> Bug: webrtc:10204
> Change-Id: I205ebc892969ec1cf2d83e054e5c95e089d32104
> Reviewed-on: https://webrtc-review.googlesource.com/c/118687
> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26358}

TBR=ilnik@webrtc.org,sprang@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:10204
Change-Id: Ia52fd55c9f68627166e0538d377003eae4ea518a
Reviewed-on: https://webrtc-review.googlesource.com/c/119946
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26405}
diff --git a/video/video_analyzer.cc b/video/video_analyzer.cc
index 0943567..e29d53e 100644
--- a/video/video_analyzer.cc
+++ b/video/video_analyzer.cc
@@ -36,12 +36,6 @@
 namespace {
 constexpr int kSendStatsPollingIntervalMs = 1000;
 constexpr size_t kMaxComparisons = 10;
-// How often is keep alive message printed.
-constexpr int kKeepAliveIntervalSeconds = 30;
-// Interval between checking that the test is over.
-constexpr int kProbingIntervalMs = 500;
-constexpr int kKeepAliveIntervalIterations =
-    kKeepAliveIntervalSeconds * 1000 / kProbingIntervalMs;
 
 bool IsFlexfec(int payload_type) {
   return payload_type == test::CallTest::kFlexfecPayloadType;
@@ -69,7 +63,7 @@
       send_stream_(nullptr),
       receive_stream_(nullptr),
       audio_receive_stream_(nullptr),
-      captured_frame_forwarder_(this, clock, duration_frames),
+      captured_frame_forwarder_(this, clock),
       test_label_(test_label),
       graph_data_output_file_(graph_data_output_file),
       graph_title_(graph_title),
@@ -83,7 +77,6 @@
       frames_recorded_(0),
       frames_processed_(0),
       dropped_frames_(0),
-      captured_frames_(0),
       dropped_frames_before_first_encode_(0),
       dropped_frames_before_rendering_(0),
       last_render_time_(0),
@@ -340,16 +333,12 @@
   stats_polling_thread_.Start();
 
   int last_frames_processed = -1;
-  int last_frames_captured = -1;
   int iteration = 0;
-
-  while (!done_.Wait(kProbingIntervalMs)) {
+  while (!done_.Wait(test::CallTest::kDefaultTimeoutMs)) {
     int frames_processed;
-    int frames_captured;
     {
       rtc::CritScope crit(&comparison_lock_);
       frames_processed = frames_processed_;
-      frames_captured = captured_frames_;
     }
 
     // Print some output so test infrastructure won't think we've crashed.
@@ -357,35 +346,24 @@
         "Uh, I'm-I'm not quite dead, sir.",
         "Uh, I-I think uh, I could pull through, sir.",
         "Actually, I think I'm all right to come with you--"};
-    if (++iteration % kKeepAliveIntervalIterations == 0) {
-      printf("- %s\n", kKeepAliveMessages[iteration % 3]);
-    }
+    printf("- %s\n", kKeepAliveMessages[iteration++ % 3]);
 
     if (last_frames_processed == -1) {
       last_frames_processed = frames_processed;
-      last_frames_captured = frames_captured;
       continue;
     }
-    if (frames_processed == last_frames_processed &&
-        last_frames_captured == frames_captured) {
-      if (frames_captured < frames_to_process_) {
-        EXPECT_GT(frames_processed, last_frames_processed)
-            << "Analyzer stalled while waiting for test to finish.";
-      }
+    if (frames_processed == last_frames_processed) {
+      EXPECT_GT(frames_processed, last_frames_processed)
+          << "Analyzer stalled while waiting for test to finish.";
       done_.Set();
       break;
     }
     last_frames_processed = frames_processed;
-    last_frames_captured = frames_captured;
   }
 
   if (iteration > 0)
     printf("- Farewell, sweet Concorde!\n");
 
-  PrintResults();
-  if (graph_data_output_file_)
-    PrintSamplesToFile();
-
   stats_polling_thread_.Stop();
 }
 
@@ -538,6 +516,9 @@
   StopExcludingCpuThreadTime();
 
   if (FrameProcessed()) {
+    PrintResults();
+    if (graph_data_output_file_)
+      PrintSamplesToFile();
     done_.Set();
     comparison_available_event_.Set();
     return false;
@@ -583,11 +564,6 @@
 
 void VideoAnalyzer::PrintResults() {
   StopMeasuringCpuProcessTime();
-  int frames_left;
-  {
-    rtc::CritScope crit(&crit_);
-    frames_left = frames_.size();
-  }
   rtc::CritScope crit(&comparison_lock_);
   // Record the time from the last freeze until the last rendered frame to
   // ensure we cover the full timespan of the session. Otherwise the metric
@@ -616,8 +592,7 @@
   if (receive_stream_ != nullptr) {
     PrintResult("decode_time", decode_time_ms_, " ms");
   }
-  dropped_frames_ += dropped_frames_before_first_encode_ +
-                     dropped_frames_before_rendering_ + frames_left;
+
   test::PrintResult("dropped_frames", "", test_label_.c_str(), dropped_frames_,
                     "frames", false);
   test::PrintResult("cpu_usage", "", test_label_.c_str(), GetCpuUsagePercent(),
@@ -778,10 +753,7 @@
 void VideoAnalyzer::AddCapturedFrameForComparison(
     const VideoFrame& video_frame) {
   rtc::CritScope lock(&crit_);
-  if (captured_frames_ < frames_to_process_) {
-    ++captured_frames_;
-    frames_.push_back(video_frame);
-  }
+  frames_.push_back(video_frame);
 }
 
 void VideoAnalyzer::AddFrameComparison(const VideoFrame& reference,
@@ -872,14 +844,11 @@
 
 VideoAnalyzer::CapturedFrameForwarder::CapturedFrameForwarder(
     VideoAnalyzer* analyzer,
-    Clock* clock,
-    int frames_to_process)
+    Clock* clock)
     : analyzer_(analyzer),
       send_stream_input_(nullptr),
       video_source_(nullptr),
-      clock_(clock),
-      captured_frames_(0),
-      frames_to_process_(frames_to_process) {}
+      clock_(clock) {}
 
 void VideoAnalyzer::CapturedFrameForwarder::SetSource(
     VideoSourceInterface<VideoFrame>* video_source) {
@@ -897,8 +866,7 @@
   copy.set_timestamp(copy.ntp_time_ms() * 90);
   analyzer_->AddCapturedFrameForComparison(copy);
   rtc::CritScope lock(&crit_);
-  ++captured_frames_;
-  if (send_stream_input_ && captured_frames_ <= frames_to_process_)
+  if (send_stream_input_)
     send_stream_input_->OnFrame(copy);
 }
 
diff --git a/video/video_analyzer.h b/video/video_analyzer.h
index 8caaf14..4e2abcd 100644
--- a/video/video_analyzer.h
+++ b/video/video_analyzer.h
@@ -136,9 +136,7 @@
   class CapturedFrameForwarder : public rtc::VideoSinkInterface<VideoFrame>,
                                  public rtc::VideoSourceInterface<VideoFrame> {
    public:
-    CapturedFrameForwarder(VideoAnalyzer* analyzer,
-                           Clock* clock,
-                           int frames_to_process);
+    explicit CapturedFrameForwarder(VideoAnalyzer* analyzer, Clock* clock);
     void SetSource(rtc::VideoSourceInterface<VideoFrame>* video_source);
 
    private:
@@ -157,8 +155,6 @@
         RTC_GUARDED_BY(crit_);
     VideoSourceInterface<VideoFrame>* video_source_;
     Clock* clock_;
-    int captured_frames_ RTC_GUARDED_BY(crit_);
-    int frames_to_process_ RTC_GUARDED_BY(crit_);
   };
 
   struct FrameWithPsnr {
@@ -244,7 +240,6 @@
   int frames_recorded_;
   int frames_processed_;
   int dropped_frames_;
-  int captured_frames_;
   int dropped_frames_before_first_encode_;
   int dropped_frames_before_rendering_;
   int64_t last_render_time_;
diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index b811cfe..c8b2041 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -630,17 +630,19 @@
       video_encoder_configs_[video_idx].max_bitrate_bps +=
           params_.ss[video_idx].streams[i].max_bitrate_bps;
     }
-    video_encoder_configs_[video_idx].simulcast_layers =
-        std::vector<VideoStream>(params_.ss[video_idx].streams.size());
-    if (!params_.ss[video_idx].infer_streams) {
+    if (params_.ss[video_idx].infer_streams) {
       video_encoder_configs_[video_idx].simulcast_layers =
-          params_.ss[video_idx].streams;
+          std::vector<VideoStream>(params_.ss[video_idx].streams.size());
+      video_encoder_configs_[video_idx].video_stream_factory =
+          new rtc::RefCountedObject<cricket::EncoderStreamFactory>(
+              params_.video[video_idx].codec,
+              params_.ss[video_idx].streams[0].max_qp,
+              params_.screenshare[video_idx].enabled, true);
+    } else {
+      video_encoder_configs_[video_idx].video_stream_factory =
+          new rtc::RefCountedObject<VideoStreamFactory>(
+              params_.ss[video_idx].streams);
     }
-    video_encoder_configs_[video_idx].video_stream_factory =
-        new rtc::RefCountedObject<cricket::EncoderStreamFactory>(
-            params_.video[video_idx].codec,
-            params_.ss[video_idx].streams[0].max_qp,
-            params_.screenshare[video_idx].enabled, true);
 
     video_encoder_configs_[video_idx].spatial_layers =
         params_.ss[video_idx].spatial_layers;
@@ -717,26 +719,6 @@
                          << params_.video[video_idx].codec << ", stream "
                          << video_idx;
       }
-    } else {
-      // Default mode. Single SL, no automatic_scaling,
-      if (params_.video[video_idx].codec == "VP8") {
-        VideoCodecVP8 vp8_settings = VideoEncoder::GetDefaultVp8Settings();
-        vp8_settings.automaticResizeOn = false;
-        video_encoder_configs_[video_idx].encoder_specific_settings =
-            new rtc::RefCountedObject<
-                VideoEncoderConfig::Vp8EncoderSpecificSettings>(vp8_settings);
-      } else if (params_.video[video_idx].codec == "VP9") {
-        VideoCodecVP9 vp9_settings = VideoEncoder::GetDefaultVp9Settings();
-        vp9_settings.automaticResizeOn = false;
-        video_encoder_configs_[video_idx].encoder_specific_settings =
-            new rtc::RefCountedObject<
-                VideoEncoderConfig::Vp9EncoderSpecificSettings>(vp9_settings);
-      } else if (params_.video[video_idx].codec == "H264") {
-        VideoCodecH264 h264_settings = VideoEncoder::GetDefaultH264Settings();
-        video_encoder_configs_[video_idx].encoder_specific_settings =
-            new rtc::RefCountedObject<
-                VideoEncoderConfig::H264EncoderSpecificSettings>(h264_settings);
-      }
     }
     total_streams_used += num_video_substreams;
   }
@@ -809,9 +791,16 @@
         params_.video[0].suspend_below_min_bitrate;
     thumbnail_encoder_config.number_of_streams = 1;
     thumbnail_encoder_config.max_bitrate_bps = 50000;
-    std::vector<VideoStream> streams{params_.ss[0].streams[0]};
-    thumbnail_encoder_config.video_stream_factory =
-        new rtc::RefCountedObject<VideoStreamFactory>(streams);
+    if (params_.ss[0].infer_streams) {
+      thumbnail_encoder_config.video_stream_factory =
+          new rtc::RefCountedObject<VideoStreamFactory>(params_.ss[0].streams);
+    } else {
+      thumbnail_encoder_config.simulcast_layers = std::vector<VideoStream>(1);
+      thumbnail_encoder_config.video_stream_factory =
+          new rtc::RefCountedObject<cricket::EncoderStreamFactory>(
+              params_.video[0].codec, params_.ss[0].streams[0].max_qp,
+              params_.screenshare[0].enabled, true);
+    }
     thumbnail_encoder_config.spatial_layers = params_.ss[0].spatial_layers;
 
     thumbnail_encoder_configs_.push_back(thumbnail_encoder_config.Copy());