Chromium Code Reviews| Index: remoting/client/software_video_renderer.cc |
| diff --git a/remoting/client/software_video_renderer.cc b/remoting/client/software_video_renderer.cc |
| index 7784f1702915320d094b1128c1e09053db9ae2d9..4329920ab44fe4ea33233934c01e0a029b17f039 100644 |
| --- a/remoting/client/software_video_renderer.cc |
| +++ b/remoting/client/software_video_renderer.cc |
| @@ -15,6 +15,7 @@ |
| #include "base/single_thread_task_runner.h" |
| #include "base/task_runner_util.h" |
| #include "remoting/base/util.h" |
| +#include "remoting/client/client_context.h" |
| #include "remoting/codec/video_decoder.h" |
| #include "remoting/codec/video_decoder_verbatim.h" |
| #include "remoting/codec/video_decoder_vpx.h" |
| @@ -44,6 +45,12 @@ std::unique_ptr<webrtc::DesktopFrame> DoDecodeFrame( |
| } // namespace |
| +SoftwareVideoRenderer::SoftwareVideoRenderer(protocol::FrameConsumer* consumer) |
| + : consumer_(consumer), |
| + weak_factory_(this) { |
| + thread_checker_.DetachFromThread(); |
|
Sergey Ulanov
2016/06/29 23:02:12
Why do you need this?
Yuwei
2016/06/29 23:38:02
I think after adding Initialize, the renderer can
|
| +} |
| + |
| SoftwareVideoRenderer::SoftwareVideoRenderer( |
| scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner, |
| protocol::FrameConsumer* consumer, |
| @@ -58,6 +65,15 @@ SoftwareVideoRenderer::~SoftwareVideoRenderer() { |
| decode_task_runner_->DeleteSoon(FROM_HERE, decoder_.release()); |
| } |
| +bool SoftwareVideoRenderer::Initialize( |
| + const ClientContext& client_context, |
| + protocol::PerformanceTracker* perf_tracker) { |
| + DCHECK(thread_checker_.CalledOnValidThread()); |
| + decode_task_runner_ = client_context.decode_task_runner(); |
| + perf_tracker_ = perf_tracker; |
| + return true; |
| +} |
| + |
| void SoftwareVideoRenderer::OnSessionConfig( |
| const protocol::SessionConfig& config) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |