| Index: video/send_statistics_proxy.h
|
| diff --git a/video/send_statistics_proxy.h b/video/send_statistics_proxy.h
|
| index 8a609e0022cdf6ae2d565deb133e7be79216f48b..351683009a1108a8a570d221f53cd4078540a0ea 100644
|
| --- a/video/send_statistics_proxy.h
|
| +++ b/video/send_statistics_proxy.h
|
| @@ -16,7 +16,7 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| -#include "common_types.h"
|
| +#include "common_types.h" // NOLINT(build/include)
|
| #include "modules/video_coding/include/video_codec_interface.h"
|
| #include "modules/video_coding/include/video_coding_defines.h"
|
| #include "rtc_base/criticalsection.h"
|
| @@ -150,6 +150,14 @@ class SendStatisticsProxy : public CpuOveruseMetricsObserver,
|
| bool last_paused_or_resumed;
|
| int64_t last_ms;
|
| };
|
| + struct FallbackEncoderInfo {
|
| + bool is_possible = true;
|
| + bool is_active = false;
|
| + int on_off_events = 0;
|
| + int64_t elapsed_ms = 0;
|
| + rtc::Optional<int64_t> last_update_ms;
|
| + const int max_frame_diff_ms = 2000;
|
| + };
|
| struct StatsTimer {
|
| void Start(int64_t now_ms);
|
| void Stop(int64_t now_ms);
|
| @@ -173,9 +181,13 @@ class SendStatisticsProxy : public CpuOveruseMetricsObserver,
|
| const VideoStreamEncoder::AdaptCounts& quality_counts)
|
| RTC_EXCLUSIVE_LOCKS_REQUIRED(crit_);
|
|
|
| + void UpdateEncoderFallbackStats(const CodecSpecificInfo* codec_info)
|
| + RTC_EXCLUSIVE_LOCKS_REQUIRED(crit_);
|
| +
|
| Clock* const clock_;
|
| const std::string payload_name_;
|
| const VideoSendStream::Config::Rtp rtp_config_;
|
| + const rtc::Optional<int> min_first_fallback_interval_ms_;
|
| rtc::CriticalSection crit_;
|
| VideoEncoderConfig::ContentType content_type_ RTC_GUARDED_BY(crit_);
|
| const int64_t start_ms_;
|
| @@ -232,6 +244,8 @@ class SendStatisticsProxy : public CpuOveruseMetricsObserver,
|
| StatsTimer quality_adapt_timer_;
|
| BoolSampleCounter paused_time_counter_;
|
| TargetRateUpdates target_rate_updates_;
|
| + BoolSampleCounter fallback_active_counter_;
|
| + FallbackEncoderInfo fallback_info_;
|
| ReportBlockStats report_block_stats_;
|
| const VideoSendStream::Stats start_stats_;
|
|
|
|
|