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

Side by Side Diff: media/blink/video_frame_compositor.h

Issue 1904253002: Convert //media/blink from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « media/blink/url_index.cc ('k') | media/blink/video_frame_compositor_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_ 5 #ifndef MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
6 #define MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_ 6 #define MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
7 7
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 // does not receive a |client_|. In this case, frame acquisition is driven by 104 // does not receive a |client_|. In this case, frame acquisition is driven by
105 // the frequency of canvas or WebGL paints requested via JavaScript. 105 // the frequency of canvas or WebGL paints requested via JavaScript.
106 scoped_refptr<VideoFrame> GetCurrentFrameAndUpdateIfStale(); 106 scoped_refptr<VideoFrame> GetCurrentFrameAndUpdateIfStale();
107 107
108 // Returns the timestamp of the current (possibly stale) frame, or 108 // Returns the timestamp of the current (possibly stale) frame, or
109 // base::TimeDelta() if there is no current frame. This method may be called 109 // base::TimeDelta() if there is no current frame. This method may be called
110 // from the media thread as long as the VFC is stopped. (Assuming that 110 // from the media thread as long as the VFC is stopped. (Assuming that
111 // PaintFrameUsingOldRenderingPath() is not also called while stopped.) 111 // PaintFrameUsingOldRenderingPath() is not also called while stopped.)
112 base::TimeDelta GetCurrentFrameTimestamp() const; 112 base::TimeDelta GetCurrentFrameTimestamp() const;
113 113
114 void set_tick_clock_for_testing(scoped_ptr<base::TickClock> tick_clock) { 114 void set_tick_clock_for_testing(std::unique_ptr<base::TickClock> tick_clock) {
115 tick_clock_ = std::move(tick_clock); 115 tick_clock_ = std::move(tick_clock);
116 } 116 }
117 117
118 void clear_current_frame_for_testing() { current_frame_ = nullptr; } 118 void clear_current_frame_for_testing() { current_frame_ = nullptr; }
119 119
120 // Enables or disables background rendering. If |enabled|, |timeout| is the 120 // Enables or disables background rendering. If |enabled|, |timeout| is the
121 // amount of time to wait after the last Render() call before starting the 121 // amount of time to wait after the last Render() call before starting the
122 // background rendering mode. Note, this can not disable the background 122 // background rendering mode. Note, this can not disable the background
123 // rendering call issues when a sink is started. 123 // rendering call issues when a sink is started.
124 void set_background_rendering_for_testing(bool enabled) { 124 void set_background_rendering_for_testing(bool enabled) {
(...skipping 16 matching lines...) Expand all
141 // If |callback_| is available, calls Render() with the provided properties. 141 // If |callback_| is available, calls Render() with the provided properties.
142 // Updates |is_background_rendering_|, |last_interval_|, and resets 142 // Updates |is_background_rendering_|, |last_interval_|, and resets
143 // |background_rendering_timer_|. Ensures that natural size and opacity 143 // |background_rendering_timer_|. Ensures that natural size and opacity
144 // changes are correctly fired. Returns true if there's a new frame available 144 // changes are correctly fired. Returns true if there's a new frame available
145 // via GetCurrentFrame(). 145 // via GetCurrentFrame().
146 bool CallRender(base::TimeTicks deadline_min, 146 bool CallRender(base::TimeTicks deadline_min,
147 base::TimeTicks deadline_max, 147 base::TimeTicks deadline_max,
148 bool background_rendering); 148 bool background_rendering);
149 149
150 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_; 150 scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner_;
151 scoped_ptr<base::TickClock> tick_clock_; 151 std::unique_ptr<base::TickClock> tick_clock_;
152 152
153 // These callbacks are executed on the compositor thread. 153 // These callbacks are executed on the compositor thread.
154 const base::Callback<void(gfx::Size)> natural_size_changed_cb_; 154 const base::Callback<void(gfx::Size)> natural_size_changed_cb_;
155 const base::Callback<void(bool)> opacity_changed_cb_; 155 const base::Callback<void(bool)> opacity_changed_cb_;
156 156
157 // Allows tests to disable the background rendering task. 157 // Allows tests to disable the background rendering task.
158 bool background_rendering_enabled_; 158 bool background_rendering_enabled_;
159 159
160 // Manages UpdateCurrentFrame() callbacks if |client_| has stopped sending 160 // Manages UpdateCurrentFrame() callbacks if |client_| has stopped sending
161 // them for various reasons. Runs on |compositor_task_runner_| and is reset 161 // them for various reasons. Runs on |compositor_task_runner_| and is reset
(...skipping 16 matching lines...) Expand all
178 // These values are updated and read from the media and compositor threads. 178 // These values are updated and read from the media and compositor threads.
179 base::Lock callback_lock_; 179 base::Lock callback_lock_;
180 VideoRendererSink::RenderCallback* callback_; 180 VideoRendererSink::RenderCallback* callback_;
181 181
182 DISALLOW_COPY_AND_ASSIGN(VideoFrameCompositor); 182 DISALLOW_COPY_AND_ASSIGN(VideoFrameCompositor);
183 }; 183 };
184 184
185 } // namespace media 185 } // namespace media
186 186
187 #endif // MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_ 187 #endif // MEDIA_BLINK_VIDEO_FRAME_COMPOSITOR_H_
OLDNEW
« no previous file with comments | « media/blink/url_index.cc ('k') | media/blink/video_frame_compositor_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698