| 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..83d35fc9e95f2212e836af2b7ffd5f6de2beebd8 100644
|
| --- a/media/remoting/remoting_interstitial_ui.h
|
| +++ b/media/remoting/remoting_interstitial_ui.h
|
| @@ -5,32 +5,41 @@
|
| #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 "base/memory/weak_ptr.h"
|
| #include "third_party/skia/include/core/SkBitmap.h"
|
| +#include "ui/gfx/geometry/size.h"
|
|
|
| namespace media {
|
|
|
| -class VideoFrame;
|
| class VideoRendererSink;
|
|
|
| +enum RemotingInterstitialType {
|
| + NONE, // No interstitial is drawn. Show background image only.
|
| + SUCCESS,
|
| + FAIL,
|
| +};
|
| +
|
| class RemotingInterstitialUI {
|
| public:
|
| - RemotingInterstitialUI(VideoRendererSink* video_renderer_sink,
|
| - const PipelineMetadata& pipeline_metadata);
|
| + explicit RemotingInterstitialUI(VideoRendererSink* video_renderer_sink);
|
| ~RemotingInterstitialUI();
|
|
|
| - void ShowInterstitial(bool is_remoting_successful);
|
| + // Draw remoting interstitial on |background_image| and show it.
|
| + // |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.
|
| + void ShowInterstitialOnSink(const SkBitmap& background_image,
|
| + const gfx::Size& canvas_size,
|
| + RemotingInterstitialType interstial_type);
|
|
|
| - 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);
|
| + base::WeakPtr<RemotingInterstitialUI> GetWeakPtr() {
|
| + return weak_factory_.GetWeakPtr();
|
| + }
|
|
|
| + private:
|
| VideoRendererSink* const video_renderer_sink_; // Outlives this class.
|
| - PipelineMetadata pipeline_metadata_;
|
| + base::WeakPtrFactory<RemotingInterstitialUI> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RemotingInterstitialUI);
|
| };
|
|
|