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..d0ed9d01c62c4d3afd39238e62f33aa306aec531 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. |
Sergey Ulanov
2016/06/29 23:02:12
Remove it in this CL?
Yuwei
2016/06/29 23:38:02
Not sure whether we can do it... Looks like the iO
|
+ // 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,12 @@ class SoftwareVideoRenderer : public protocol::VideoRenderer, |
~SoftwareVideoRenderer() override; |
// VideoRenderer interface. |
+ // client_context.decode_task_runner() will be used to decode the video |
+ // packets. |
+ // |perf_tracker| may be nullptr, performance tracking is disabled in that |
+ // case. |
Sergey Ulanov
2016/06/29 23:02:12
Don't need to duplicate documentation when impleme
Yuwei
2016/06/29 23:38:02
Done.
|
+ 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 +81,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_; |