Implement VideoQualityObserver

This class receives data about video frames from ReceiveStatisticsProxy,
calculates spatial and temporal quality metrics and outputs them to UMA
stats. It is all done in a separate class because it will be further
extended to calculate aggregated quality metrics in the future.

Bug: webrtc:9295
Change-Id: Ie36db83e10c0e8da0b9baa392651cb9a67a54a80
Reviewed-on: https://webrtc-review.googlesource.com/78220
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23387}
This commit is contained in:
Ilya Nikolaevskiy
2018-05-23 11:53:19 +02:00
committed by Commit Bot
parent 95de63b6fc
commit 94150ee487
7 changed files with 550 additions and 41 deletions

View File

@ -77,7 +77,8 @@ VideoStreamDecoder::~VideoStreamDecoder() {
int32_t VideoStreamDecoder::FrameToRender(VideoFrame& video_frame,
rtc::Optional<uint8_t> qp,
VideoContentType content_type) {
receive_stats_callback_->OnDecodedFrame(qp, content_type);
receive_stats_callback_->OnDecodedFrame(qp, video_frame.width(),
video_frame.height(), content_type);
incoming_video_stream_->OnFrame(video_frame);
return 0;
}