Index: webrtc/video/overuse_frame_detector.h |
diff --git a/webrtc/video/overuse_frame_detector.h b/webrtc/video/overuse_frame_detector.h |
index 3cd1fd5cdf29b83a80f37600f6a54667c19fb25a..b4fe5f5a5a1154cd6c966d8b22ad6459a489417e 100644 |
--- a/webrtc/video/overuse_frame_detector.h |
+++ b/webrtc/video/overuse_frame_detector.h |
@@ -20,6 +20,7 @@ |
#include "webrtc/base/sequenced_task_checker.h" |
#include "webrtc/base/task_queue.h" |
#include "webrtc/base/thread_annotations.h" |
+#include "webrtc/modules/video_coding/utility/quality_scaler.h" |
namespace webrtc { |
@@ -27,19 +28,6 @@ class Clock; |
class EncodedFrameObserver; |
class VideoFrame; |
-// CpuOveruseObserver is called when a system overuse is detected and |
-// VideoEngine cannot keep up the encoding frequency. |
-class CpuOveruseObserver { |
- public: |
- // Called as soon as an overuse is detected. |
- virtual void OveruseDetected() = 0; |
- // Called periodically when the system is not overused any longer. |
- virtual void NormalUsage() = 0; |
- |
- protected: |
- virtual ~CpuOveruseObserver() {} |
-}; |
- |
struct CpuOveruseOptions { |
CpuOveruseOptions(); |
@@ -79,7 +67,7 @@ class OveruseFrameDetector { |
public: |
OveruseFrameDetector(Clock* clock, |
const CpuOveruseOptions& options, |
- CpuOveruseObserver* overuse_observer, |
+ ScalingObserverInterface* overuse_observer, |
EncodedFrameObserver* encoder_timing_, |
CpuOveruseMetricsObserver* metrics_observer); |
~OveruseFrameDetector(); |
@@ -131,7 +119,7 @@ class OveruseFrameDetector { |
const CpuOveruseOptions options_; |
// Observer getting overuse reports. |
- CpuOveruseObserver* const observer_; |
+ ScalingObserverInterface* const observer_; |
EncodedFrameObserver* const encoder_timing_; |
// Stats metrics. |
@@ -158,6 +146,8 @@ class OveruseFrameDetector { |
const std::unique_ptr<SendProcessingUsage> usage_ GUARDED_BY(task_checker_); |
std::list<FrameTiming> frame_timing_ GUARDED_BY(task_checker_); |
+ static const auto scale_reason_ = ScalingObserverInterface::kCpu; |
magjed_webrtc
2016/10/26 14:28:37
Why do you need this as a const class static const
kthelgason
2016/10/26 19:02:50
We don't need to, I just prefer it over using the
magjed_webrtc
2016/10/27 11:45:57
Ok. I would go with ScalingObserverInterface::kCpu
|
+ |
RTC_DISALLOW_COPY_AND_ASSIGN(OveruseFrameDetector); |
}; |