#include "video/video_quality_observer2.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <string>
#include "rtc_base/logging.h"
#include "rtc_base/strings/string_builder.h"
#include "system_wrappers/include/metrics.h"
#include "video/video_receive_stream2.h"
namespace webrtc {
namespace internal {
const uint32_t VideoQualityObserver::kMinFrameSamplesToDetectFreeze = …;
const uint32_t VideoQualityObserver::kMinIncreaseForFreezeMs = …;
const uint32_t VideoQualityObserver::kAvgInterframeDelaysWindowSizeFrames = …;
namespace {
constexpr int kMinVideoDurationMs = …;
constexpr int kMinRequiredSamples = …;
constexpr int kPixelsInHighResolution = …;
constexpr int kPixelsInMediumResolution = …;
constexpr int kBlockyQpThresholdVp8 = …;
constexpr int kBlockyQpThresholdVp9 = …;
constexpr int kMaxNumCachedBlockyFrames = …;
}
VideoQualityObserver::VideoQualityObserver()
: … { … }
void VideoQualityObserver::UpdateHistograms(bool screenshare) { … }
void VideoQualityObserver::OnRenderedFrame(
const VideoFrameMetaData& frame_meta) { … }
void VideoQualityObserver::OnDecodedFrame(uint32_t rtp_frame_timestamp,
absl::optional<uint8_t> qp,
VideoCodecType codec) { … }
void VideoQualityObserver::OnStreamInactive() { … }
uint32_t VideoQualityObserver::NumFreezes() const { … }
uint32_t VideoQualityObserver::NumPauses() const { … }
uint32_t VideoQualityObserver::TotalFreezesDurationMs() const { … }
uint32_t VideoQualityObserver::TotalPausesDurationMs() const { … }
uint32_t VideoQualityObserver::TotalFramesDurationMs() const { … }
double VideoQualityObserver::SumSquaredFrameDurationsSec() const { … }
}
}