Delete EncodedFrameObserver::OnEncodeTiming.

This callback was used only by the PrintSamplesToFile feature of
video_quality_test, which looks like it has been broken for some time
(due to mixup of capture time and ntp time).

Bug: webrtc:8504
Change-Id: I7d2b55405caeffda582ae0d6fb0e7dfdfce4c5a9
Reviewed-on: https://webrtc-review.googlesource.com/31420
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21211}
diff --git a/common_video/include/frame_callback.h b/common_video/include/frame_callback.h
index 2101965..a3883c1 100644
--- a/common_video/include/frame_callback.h
+++ b/common_video/include/frame_callback.h
@@ -49,7 +49,6 @@
 class EncodedFrameObserver {
  public:
   virtual void EncodedFrameCallback(const EncodedFrame& encoded_frame) = 0;
-  virtual void OnEncodeTiming(int64_t capture_ntp_ms, int encode_duration_ms) {}
 
  protected:
   virtual ~EncodedFrameObserver() {}
diff --git a/video/encoder_rtcp_feedback_unittest.cc b/video/encoder_rtcp_feedback_unittest.cc
index dd09540..8acbec4 100644
--- a/video/encoder_rtcp_feedback_unittest.cc
+++ b/video/encoder_rtcp_feedback_unittest.cc
@@ -29,7 +29,6 @@
                            VideoSendStream::Config::EncoderSettings("fake", 0,
                                                                     nullptr),
                            nullptr,
-                           nullptr,
                            std::unique_ptr<OveruseFrameDetector>()) {}
   ~MockVideoStreamEncoder() { Stop(); }
 
diff --git a/video/overuse_frame_detector.cc b/video/overuse_frame_detector.cc
index c45a017..ffbeeed 100644
--- a/video/overuse_frame_detector.cc
+++ b/video/overuse_frame_detector.cc
@@ -20,7 +20,6 @@
 #include <utility>
 
 #include "api/video/video_frame.h"
-#include "common_video/include/frame_callback.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/numerics/exp_filter.h"
@@ -71,13 +70,11 @@
 // captured frames).
 class SendProcessingUsage : public OveruseFrameDetector::ProcessingUsage {
  public:
-  explicit SendProcessingUsage(const CpuOveruseOptions& options,
-                               EncodedFrameObserver* encoder_timing)
+  explicit SendProcessingUsage(const CpuOveruseOptions& options)
       : kWeightFactorFrameDiff(0.998f),
         kWeightFactorProcessing(0.995f),
         kInitialSampleDiffMs(40.0f),
         options_(options),
-        encoder_timing_(encoder_timing),
         count_(0),
         last_processed_capture_time_us_(-1),
         max_sample_diff_ms_(kDefaultSampleDiffMs * kMaxSampleDiffMarginFactor),
@@ -142,12 +139,7 @@
       if (timing.last_send_us != -1) {
         encode_duration_us.emplace(
             static_cast<int>(timing.last_send_us - timing.capture_us));
-        if (encoder_timing_) {
-          // TODO(nisse): Update encoder_timing_ to also use us units.
-          encoder_timing_->OnEncodeTiming(
-              timing.capture_time_us / rtc::kNumMicrosecsPerMillisec,
-              *encode_duration_us / rtc::kNumMicrosecsPerMillisec);
-        }
+
         if (last_processed_capture_time_us_ != -1) {
           int64_t diff_us = timing.capture_us - last_processed_capture_time_us_;
           AddSample(1e-3 * (*encode_duration_us), 1e-3 * diff_us);
@@ -211,7 +203,6 @@
   const float kInitialSampleDiffMs;
 
   const CpuOveruseOptions options_;
-  EncodedFrameObserver* const encoder_timing_;
   std::list<FrameTiming> frame_timing_;
   uint64_t count_;
   int64_t last_processed_capture_time_us_;
@@ -224,11 +215,10 @@
 class OverdoseInjector : public SendProcessingUsage {
  public:
   OverdoseInjector(const CpuOveruseOptions& options,
-                   EncodedFrameObserver* encoder_timing,
                    int64_t normal_period_ms,
                    int64_t overuse_period_ms,
                    int64_t underuse_period_ms)
-      : SendProcessingUsage(options, encoder_timing),
+      : SendProcessingUsage(options),
         normal_period_ms_(normal_period_ms),
         overuse_period_ms_(overuse_period_ms),
         underuse_period_ms_(underuse_period_ms),
@@ -350,8 +340,7 @@
 
 std::unique_ptr<OveruseFrameDetector::ProcessingUsage>
 OveruseFrameDetector::CreateProcessingUsage(
-    const CpuOveruseOptions& options,
-    EncodedFrameObserver* encoder_timing) {
+    const CpuOveruseOptions& options) {
   std::unique_ptr<ProcessingUsage> instance;
   std::string toggling_interval =
       field_trial::FindFullName("WebRTC-ForceSimulatedOveruseIntervalMs");
@@ -364,7 +353,7 @@
       if (normal_period_ms > 0 && overuse_period_ms > 0 &&
           underuse_period_ms > 0) {
         instance = rtc::MakeUnique<OverdoseInjector>(
-            options, encoder_timing, normal_period_ms, overuse_period_ms,
+            options, normal_period_ms, overuse_period_ms,
             underuse_period_ms);
       } else {
         RTC_LOG(LS_WARNING)
@@ -380,7 +369,7 @@
 
   if (!instance) {
     // No valid overuse simulation parameters set, use normal usage class.
-    instance = rtc::MakeUnique<SendProcessingUsage>(options, encoder_timing);
+    instance = rtc::MakeUnique<SendProcessingUsage>(options);
   }
 
   return instance;
@@ -419,7 +408,6 @@
 OveruseFrameDetector::OveruseFrameDetector(
     const CpuOveruseOptions& options,
     AdaptationObserverInterface* observer,
-    EncodedFrameObserver* encoder_timing,
     CpuOveruseMetricsObserver* metrics_observer)
     : check_overuse_task_(nullptr),
       options_(options),
@@ -436,7 +424,7 @@
       last_rampup_time_ms_(-1),
       in_quick_rampup_(false),
       current_rampup_delay_ms_(kStandardRampUpDelayMs),
-      usage_(CreateProcessingUsage(options, encoder_timing)) {
+      usage_(CreateProcessingUsage(options)) {
   task_checker_.Detach();
 }
 
diff --git a/video/overuse_frame_detector.h b/video/overuse_frame_detector.h
index 76508bc..6af13ac 100644
--- a/video/overuse_frame_detector.h
+++ b/video/overuse_frame_detector.h
@@ -24,7 +24,6 @@
 
 namespace webrtc {
 
-class EncodedFrameObserver;
 class VideoFrame;
 
 struct CpuOveruseOptions {
@@ -66,7 +65,6 @@
  public:
   OveruseFrameDetector(const CpuOveruseOptions& options,
                        AdaptationObserverInterface* overuse_observer,
-                       EncodedFrameObserver* encoder_timing_,
                        CpuOveruseMetricsObserver* metrics_observer);
   virtual ~OveruseFrameDetector();
 
@@ -122,8 +120,7 @@
   void ResetAll(int num_pixels);
 
   static std::unique_ptr<ProcessingUsage> CreateProcessingUsage(
-      const CpuOveruseOptions& options,
-      EncodedFrameObserver* encoder_timing);
+      const CpuOveruseOptions& options);
 
   rtc::SequencedTaskChecker task_checker_;
   // Owned by the task queue from where StartCheckForOveruse is called.
diff --git a/video/overuse_frame_detector_unittest.cc b/video/overuse_frame_detector_unittest.cc
index 0f3dd86..a258b71 100644
--- a/video/overuse_frame_detector_unittest.cc
+++ b/video/overuse_frame_detector_unittest.cc
@@ -57,11 +57,9 @@
  public:
   OveruseFrameDetectorUnderTest(const CpuOveruseOptions& options,
                                 AdaptationObserverInterface* overuse_observer,
-                                EncodedFrameObserver* encoder_timing,
                                 CpuOveruseMetricsObserver* metrics_observer)
       : OveruseFrameDetector(options,
                              overuse_observer,
-                             encoder_timing,
                              metrics_observer) {}
   ~OveruseFrameDetectorUnderTest() {}
 
@@ -79,7 +77,7 @@
 
   void ReinitializeOveruseDetector() {
     overuse_detector_.reset(new OveruseFrameDetectorUnderTest(
-        options_, observer_.get(), nullptr, this));
+        options_, observer_.get(), this));
   }
 
   void OnEncodedFrameTimeMeasured(int encode_time_ms,
@@ -182,7 +180,7 @@
 
 TEST_F(OveruseFrameDetectorTest, OveruseAndRecoverWithNoObserver) {
   overuse_detector_.reset(new OveruseFrameDetectorUnderTest(
-      options_, nullptr, nullptr, this));
+      options_, nullptr, this));
   EXPECT_CALL(*(observer_.get()), AdaptDown(reason_)).Times(0);
   TriggerOveruse(options_.high_threshold_consecutive_count);
   EXPECT_CALL(*(observer_.get()), AdaptUp(reason_)).Times(0);
@@ -202,7 +200,7 @@
   options_.min_process_count = 1;
   CpuOveruseObserverImpl overuse_observer;
   overuse_detector_.reset(new OveruseFrameDetectorUnderTest(
-      options_, &overuse_observer, nullptr, this));
+      options_, &overuse_observer, this));
   InsertAndSendFramesWithInterval(
       1200, kFrameIntervalUs, kWidth, kHeight, kProcessTimeUs);
   overuse_detector_->CheckForOveruse();
diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index 5e3090a..30a49d4 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -318,11 +318,6 @@
     return receiver_->DeliverPacket(media_type, std::move(packet), packet_time);
   }
 
-  void MeasuredEncodeTiming(int64_t ntp_time_ms, int encode_time_ms) {
-    rtc::CritScope crit(&comparison_lock_);
-    samples_encode_time_ms_[ntp_time_ms] = encode_time_ms;
-  }
-
   void PreEncodeOnFrame(const VideoFrame& video_frame) {
     rtc::CritScope lock(&crit_);
     if (!first_encoded_timestamp_) {
@@ -592,9 +587,6 @@
    public:
     explicit OnEncodeTimingProxy(VideoAnalyzer* parent) : parent_(parent) {}
 
-    void OnEncodeTiming(int64_t ntp_time_ms, int encode_time_ms) override {
-      parent_->MeasuredEncodeTiming(ntp_time_ms, encode_time_ms);
-    }
     void EncodedFrameCallback(const EncodedFrame& frame) override {
       parent_->PostEncodeFrameCallback(frame);
     }
@@ -946,27 +938,12 @@
             "psnr "
             "ssim "
             "encode_time_ms\n");
-    int missing_encode_time_samples = 0;
     for (const Sample& sample : samples_) {
-      auto it = samples_encode_time_ms_.find(sample.input_time_ms);
-      int encode_time_ms;
-      if (it != samples_encode_time_ms_.end()) {
-        encode_time_ms = it->second;
-      } else {
-        ++missing_encode_time_samples;
-        encode_time_ms = -1;
-      }
       fprintf(out, "%d %" PRId64 " %" PRId64 " %" PRId64 " %" PRId64 " %" PRIuS
-                   " %lf %lf %d\n",
+                   " %lf %lf\n",
               sample.dropped, sample.input_time_ms, sample.send_time_ms,
               sample.recv_time_ms, sample.render_time_ms,
-              sample.encoded_frame_size, sample.psnr, sample.ssim,
-              encode_time_ms);
-    }
-    if (missing_encode_time_samples) {
-      fprintf(stderr,
-              "Warning: Missing encode_time_ms samples for %d frame(s).\n",
-              missing_encode_time_samples);
+              sample.encoded_frame_size, sample.psnr, sample.ssim);
     }
   }
 
@@ -1061,8 +1038,6 @@
   PreEncodeProxy pre_encode_proxy_;
   OnEncodeTimingProxy encode_timing_proxy_;
   std::vector<Sample> samples_ RTC_GUARDED_BY(comparison_lock_);
-  std::map<int64_t, int> samples_encode_time_ms_
-      RTC_GUARDED_BY(comparison_lock_);
   test::Statistics sender_time_ RTC_GUARDED_BY(comparison_lock_);
   test::Statistics receiver_time_ RTC_GUARDED_BY(comparison_lock_);
   test::Statistics psnr_ RTC_GUARDED_BY(comparison_lock_);
diff --git a/video/video_send_stream.cc b/video/video_send_stream.cc
index 37e6f6e..6b406a0 100644
--- a/video/video_send_stream.cc
+++ b/video/video_send_stream.cc
@@ -567,7 +567,6 @@
       new VideoStreamEncoder(num_cpu_cores, &stats_proxy_,
                              config_.encoder_settings,
                              config_.pre_encode_callback,
-                             config_.post_encode_callback,
                              std::unique_ptr<OveruseFrameDetector>()));
   worker_queue_->PostTask(std::unique_ptr<rtc::QueuedTask>(new ConstructionTask(
       &send_stream_, &thread_sync_event_, &stats_proxy_,
diff --git a/video/video_stream_encoder.cc b/video/video_stream_encoder.cc
index 77945dc..a763f01 100644
--- a/video/video_stream_encoder.cc
+++ b/video/video_stream_encoder.cc
@@ -388,7 +388,6 @@
     SendStatisticsProxy* stats_proxy,
     const VideoSendStream::Config::EncoderSettings& settings,
     rtc::VideoSinkInterface<VideoFrame>* pre_encode_callback,
-    EncodedFrameObserver* encoder_timing,
     std::unique_ptr<OveruseFrameDetector> overuse_detector)
     : shutdown_event_(true /* manual_reset */, false),
       number_of_cores_(number_of_cores),
@@ -404,7 +403,6 @@
               : new OveruseFrameDetector(
                     GetCpuOveruseOptions(settings.full_overuse_time),
                     this,
-                    encoder_timing,
                     stats_proxy)),
       stats_proxy_(stats_proxy),
       pre_encode_callback_(pre_encode_callback),
diff --git a/video/video_stream_encoder.h b/video/video_stream_encoder.h
index 421b733..c69f9c5 100644
--- a/video/video_stream_encoder.h
+++ b/video/video_stream_encoder.h
@@ -75,7 +75,6 @@
                      SendStatisticsProxy* stats_proxy,
                      const VideoSendStream::Config::EncoderSettings& settings,
                      rtc::VideoSinkInterface<VideoFrame>* pre_encode_callback,
-                     EncodedFrameObserver* encoder_timing,
                      std::unique_ptr<OveruseFrameDetector> overuse_detector);
   ~VideoStreamEncoder();
 
diff --git a/video/video_stream_encoder_unittest.cc b/video/video_stream_encoder_unittest.cc
index 26e9d38..a4f7999 100644
--- a/video/video_stream_encoder_unittest.cc
+++ b/video/video_stream_encoder_unittest.cc
@@ -67,11 +67,9 @@
  public:
   CpuOveruseDetectorProxy(const CpuOveruseOptions& options,
                           AdaptationObserverInterface* overuse_observer,
-                          EncodedFrameObserver* encoder_timing_,
                           CpuOveruseMetricsObserver* metrics_observer)
       : OveruseFrameDetector(options,
                              overuse_observer,
-                             encoder_timing_,
                              metrics_observer),
         last_target_framerate_fps_(-1) {}
   virtual ~CpuOveruseDetectorProxy() {}
@@ -101,12 +99,10 @@
             stats_proxy,
             settings,
             nullptr /* pre_encode_callback */,
-            nullptr /* encoder_timing */,
             std::unique_ptr<OveruseFrameDetector>(
                 overuse_detector_proxy_ = new CpuOveruseDetectorProxy(
                     GetCpuOveruseOptions(settings.full_overuse_time),
                     this,
-                    nullptr,
                     stats_proxy))) {}
 
   void PostTaskAndWait(bool down, AdaptReason reason) {