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

Unified Diff: media/remoting/remoting_interstitial_ui.h

Issue 2566223005: Media Remoting: Update remoting interstitial when status changes. (Closed)
Patch Set: Addressed comments. Created 4 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: media/remoting/remoting_interstitial_ui.h
diff --git a/media/remoting/remoting_interstitial_ui.h b/media/remoting/remoting_interstitial_ui.h
index 7807628258326b2bc7d64d54cc7567d41b696cdb..51c0a730cf8839b049805beedd06dd15742fadcf 100644
--- a/media/remoting/remoting_interstitial_ui.h
+++ b/media/remoting/remoting_interstitial_ui.h
@@ -5,36 +5,33 @@
#ifndef MEDIA_REMOTING_REMOTING_INTERSTITIAL_UI_H_
#define MEDIA_REMOTING_REMOTING_INTERSTITIAL_UI_H_
-#include "base/callback.h"
-#include "base/memory/ref_counted.h"
-#include "media/base/pipeline_metadata.h"
#include "third_party/skia/include/core/SkBitmap.h"
+namespace gfx {
+class Size;
+}
+
namespace media {
-class VideoFrame;
class VideoRendererSink;
-class RemotingInterstitialUI {
- public:
- RemotingInterstitialUI(VideoRendererSink* video_renderer_sink,
- const PipelineMetadata& pipeline_metadata);
- ~RemotingInterstitialUI();
-
- void ShowInterstitial(bool is_remoting_successful);
-
- private:
- // Gets an 'interstitial' VideoFrame to paint on the media player when the
- // video is being played remotely.
- scoped_refptr<VideoFrame> GetInterstitial(const SkBitmap& background_image,
- bool is_remoting_successful);
-
- VideoRendererSink* const video_renderer_sink_; // Outlives this class.
- PipelineMetadata pipeline_metadata_;
-
- DISALLOW_COPY_AND_ASSIGN(RemotingInterstitialUI);
+enum RemotingInterstitialType {
+ BETWEEN_SESSIONS, // Show background image only.
+ IN_SESSION, // Show MEDIA_REMOTING_CASTING_VIDEO_TEXT.
+ ENCRYPTED_MEDIA_FATAL_ERROR, // Show MEDIA_REMOTING_CAST_ERROR_TEXT.
};
+// Paint an interstitial frame and send it to the given VideoRendererSink.
+// |background_image| will be scaled to fit in |canvas_size|, but keep its
+// aspect ratio. When has different aspect ratio with |canvas_size|, scaled
+// |background_image| will be centered in the canvas. When |background_image|
+// is empty, interstitial will be drawn on a blank and black background. When
+// |interstial_type| is BETWEEN_SESSIONS, show background image only.
+void PaintRemotingInterstitial(const SkBitmap& background_image,
+ const gfx::Size& canvas_size,
+ RemotingInterstitialType interstitial_type,
+ VideoRendererSink* video_renderer_sink);
+
} // namespace media
#endif // MEDIA_REMOTING_REMOTING_INTERSTITIAL_UI_H_

Powered by Google App Engine
This is Rietveld 408576698