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

Unified Diff: remoting/client/software_video_renderer.h

Issue 2156713002: [Chromoting] Implement DualBufferFrameConsumer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reviewer's Feedback Created 4 years, 5 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
« no previous file with comments | « remoting/client/gl_desktop.cc ('k') | remoting/client/software_video_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/client/software_video_renderer.h
diff --git a/remoting/client/software_video_renderer.h b/remoting/client/software_video_renderer.h
index 2172500b105162cadb61a680423b7841e8ffa722..84aafd751265bb4b7f323945a53aee4cce342dca 100644
--- a/remoting/client/software_video_renderer.h
+++ b/remoting/client/software_video_renderer.h
@@ -44,17 +44,10 @@ class SoftwareVideoRenderer : public protocol::VideoRenderer,
// be called on the same thread.
explicit 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. |consumer| and
- // |stats_consumer| must outlive the renderer. |stats_consumer| may be
- // nullptr, performance tracking is disabled in that case.
- SoftwareVideoRenderer(
- scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner,
- protocol::FrameConsumer* consumer,
- protocol::FrameStatsConsumer* stats_consumer);
+ // Same as above, but take ownership of the |consumer|.
+ explicit SoftwareVideoRenderer(
+ std::unique_ptr<protocol::FrameConsumer> consumer);
+
~SoftwareVideoRenderer() override;
// VideoRenderer interface.
@@ -77,7 +70,12 @@ class SoftwareVideoRenderer : public protocol::VideoRenderer,
const base::Closure& done);
scoped_refptr<base::SingleThreadTaskRunner> decode_task_runner_;
+
+ // |owned_consumer_| and |consumer_| should refer to the same object if
+ // |owned_consumer_| is not null.
+ std::unique_ptr<protocol::FrameConsumer> owned_consumer_;
protocol::FrameConsumer* const consumer_;
+
protocol::FrameStatsConsumer* stats_consumer_ = nullptr;
std::unique_ptr<VideoDecoder> decoder_;
« no previous file with comments | « remoting/client/gl_desktop.cc ('k') | remoting/client/software_video_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698