Index: remoting/protocol/webrtc_video_renderer_adapter.cc |
diff --git a/remoting/protocol/webrtc_video_renderer_adapter.cc b/remoting/protocol/webrtc_video_renderer_adapter.cc |
index 9c14304a118b95981e228dbe645410a6f1249155..6d549926c3af0f034f5d3b4904b7690db5fec1eb 100644 |
--- a/remoting/protocol/webrtc_video_renderer_adapter.cc |
+++ b/remoting/protocol/webrtc_video_renderer_adapter.cc |
@@ -17,6 +17,7 @@ |
#include "base/threading/worker_pool.h" |
#include "remoting/protocol/frame_consumer.h" |
#include "remoting/protocol/frame_stats.h" |
+#include "remoting/protocol/video_renderer.h" |
#include "third_party/libyuv/include/libyuv/convert_argb.h" |
#include "third_party/libyuv/include/libyuv/video_common.h" |
#include "third_party/webrtc/media/base/videoframe.h" |
@@ -51,9 +52,9 @@ std::unique_ptr<webrtc::DesktopFrame> ConvertYuvToRgb( |
WebrtcVideoRendererAdapter::WebrtcVideoRendererAdapter( |
scoped_refptr<webrtc::MediaStreamInterface> media_stream, |
- FrameConsumer* frame_consumer) |
+ VideoRenderer* video_renderer) |
: media_stream_(std::move(media_stream)), |
- frame_consumer_(frame_consumer), |
+ video_renderer_(video_renderer), |
task_runner_(base::ThreadTaskRunnerHandle::Get()), |
weak_factory_(this) { |
webrtc::VideoTrackVector video_tracks = media_stream_->GetVideoTracks(); |
@@ -84,7 +85,7 @@ void WebrtcVideoRendererAdapter::OnFrame(const cricket::VideoFrame& frame) { |
LOG(WARNING) << "Received frame with playout delay greater than 0."; |
} |
- std::unique_ptr<FrameStats> stats(new FrameStats()); |
+ std::unique_ptr<ClientFrameStats> stats(new ClientFrameStats()); |
// TODO(sergeyu): |time_received| is not reported correctly here because the |
// frame is already decoded at this point. |
stats->time_received = base::TimeTicks::Now(); |
@@ -98,35 +99,36 @@ void WebrtcVideoRendererAdapter::OnFrame(const cricket::VideoFrame& frame) { |
} |
void WebrtcVideoRendererAdapter::HandleFrameOnMainThread( |
- std::unique_ptr<FrameStats> stats, |
+ std::unique_ptr<ClientFrameStats> stats, |
scoped_refptr<webrtc::VideoFrameBuffer> frame) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
std::unique_ptr<webrtc::DesktopFrame> rgb_frame = |
- frame_consumer_->AllocateFrame( |
+ video_renderer_->GetFrameConsumer()->AllocateFrame( |
webrtc::DesktopSize(frame->width(), frame->height())); |
base::PostTaskAndReplyWithResult( |
base::WorkerPool::GetTaskRunner(false).get(), FROM_HERE, |
base::Bind(&ConvertYuvToRgb, base::Passed(&frame), |
- base::Passed(&rgb_frame), frame_consumer_->GetPixelFormat()), |
+ base::Passed(&rgb_frame), |
+ video_renderer_->GetFrameConsumer()->GetPixelFormat()), |
base::Bind(&WebrtcVideoRendererAdapter::DrawFrame, |
weak_factory_.GetWeakPtr(), base::Passed(&stats))); |
} |
void WebrtcVideoRendererAdapter::DrawFrame( |
- std::unique_ptr<FrameStats> stats, |
+ std::unique_ptr<ClientFrameStats> stats, |
std::unique_ptr<webrtc::DesktopFrame> frame) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
stats->time_decoded = base::TimeTicks::Now(); |
- frame_consumer_->DrawFrame( |
+ video_renderer_->GetFrameConsumer()->DrawFrame( |
std::move(frame), |
base::Bind(&WebrtcVideoRendererAdapter::FrameRendered, |
weak_factory_.GetWeakPtr(), base::Passed(&stats))); |
} |
void WebrtcVideoRendererAdapter::FrameRendered( |
- std::unique_ptr<FrameStats> stats) { |
+ std::unique_ptr<ClientFrameStats> stats) { |
// TODO(sergeyu): Report stats here |
} |