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

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: Reviewer's Feedback 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..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_;

Powered by Google App Engine
This is Rietveld 408576698