Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Unified Diff: remoting/client/software_video_renderer.h

Issue 2101833002: [Remoting Android] DisplayUpdaterFactory cleanups (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Build Fix again Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698