Chromium Code Reviews| 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_; |