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

Unified Diff: chromecast/media/base/video_plane_controller.h

Issue 1531543002: [Chromecast] Adding pause/resume operations to VideoPlaneController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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: chromecast/media/base/video_plane_controller.h
diff --git a/chromecast/media/base/video_plane_controller.h b/chromecast/media/base/video_plane_controller.h
index 302c8fa4341c2f6a202244b34c5b203bdce4269f..f5b2cb5ddc296f5a1b75230f95e920c7f867cbd4 100644
--- a/chromecast/media/base/video_plane_controller.h
+++ b/chromecast/media/base/video_plane_controller.h
@@ -44,6 +44,9 @@ class VideoPlaneController {
// If there is no change to video plane parameters from the last call to this
// method, it is a no-op.
void SetGeometry(const RectF& display_rect, VideoPlane::Transform transform);
+ // Posts call to VideoPlane::SetGeometry with most recent resolution and
+ // geometry parameters (assuming they are all set). Use to reset video plane.
+ void ResetGeometry();
halliwell 2015/12/28 22:22:31 nit: blank line before comment. I don't quite lik
esum 2016/01/11 16:28:57 Method no longer needed since resetting the video
// Sets physical screen resolution. This must be called at least once when
// the final output resolution (HDMI signal or panel resolution) is known,
@@ -58,6 +61,15 @@ class VideoPlaneController {
// no-op.
void SetGraphicsPlaneResolution(const Size& resolution);
+ // After Pause is called, no further calls to VideoPlane::SetGeometry will be
+ // made except for any pending calls already scheduled on the media thread.
+ // The Set methods will however update cached parameters that will take
+ // effect once the class is resumed. Safe to call multiple times.
+ void Pause();
+ // Makes class active again. Safe to call multiple times.
+ void Resume();
+ bool is_paused() const;
+
private:
class RateLimitedSetVideoPlaneGeometry;
friend struct base::DefaultSingletonTraits<VideoPlaneController>;
@@ -73,6 +85,8 @@ class VideoPlaneController {
// VideoPlane::SetGeometry.
bool HaveDataForSetGeometry() const;
+ bool is_paused_;
+
// Current resolutions
bool have_output_res_;
bool have_graphics_res_;
« no previous file with comments | « chromecast/browser/media/cma_media_pipeline_client.cc ('k') | chromecast/media/base/video_plane_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698