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(); |
+} |
+ |
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()); |