Index: remoting/client/software_video_renderer.h |
diff --git a/remoting/client/software_video_renderer.h b/remoting/client/software_video_renderer.h |
index 8cb53b10abc9d51d9edbe4a66a5e962f6bf410b4..e4bd82184f43944756277a38439af598506118e8 100644 |
--- a/remoting/client/software_video_renderer.h |
+++ b/remoting/client/software_video_renderer.h |
@@ -40,6 +40,13 @@ class PerformanceTracker; |
class SoftwareVideoRenderer : public protocol::VideoRenderer, |
public protocol::VideoStub { |
public: |
+ // The renderer can be created on any thread but afterwards all methods must |
+ // be called on the same thread. |
+ SoftwareVideoRenderer(protocol::FrameConsumer* consumer); |
+ |
+ // Deprecated constructor. TODO(yuweih): remove. |
+ // Constructs the renderer and initializes it immediately. Caller should not |
+ // call Initialize() after using this constructor. |
// All methods must be called on the same thread the renderer is created. The |
// |decode_task_runner_| is used to decode the video packets. |perf_tracker| |
// must outlive the renderer. |perf_tracker| may be nullptr, performance |
@@ -51,6 +58,8 @@ class SoftwareVideoRenderer : public protocol::VideoRenderer, |
~SoftwareVideoRenderer() override; |
// VideoRenderer interface. |
+ bool Initialize(const ClientContext& client_context, |
+ protocol::PerformanceTracker* perf_tracker) override; |
void OnSessionConfig(const protocol::SessionConfig& config) override; |
protocol::VideoStub* GetVideoStub() override; |
protocol::FrameConsumer* GetFrameConsumer() override; |
@@ -68,7 +77,7 @@ class SoftwareVideoRenderer : public protocol::VideoRenderer, |
scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_; |
protocol::FrameConsumer* consumer_; |
- protocol::PerformanceTracker* perf_tracker_; |
+ protocol::PerformanceTracker* perf_tracker_ = nullptr; |
std::unique_ptr<VideoDecoder> decoder_; |