| Index: media/remoting/remoting_renderer_controller.h
|
| diff --git a/media/remoting/remoting_renderer_controller.h b/media/remoting/remoting_renderer_controller.h
|
| index 9c98af12b555441c1ade86ff34291b321c7a8076..522e100531a0c475478c7d4ecf7e936fff2a3bf1 100644
|
| --- a/media/remoting/remoting_renderer_controller.h
|
| +++ b/media/remoting/remoting_renderer_controller.h
|
| @@ -8,6 +8,7 @@
|
| #include "base/callback.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "media/base/media_observer.h"
|
| +#include "media/remoting/remoting_interstitial_ui.h"
|
| #include "media/remoting/remoting_source_impl.h"
|
|
|
| namespace media {
|
| @@ -40,6 +41,23 @@ class RemotingRendererController final : public RemotingSourceImpl::Client,
|
|
|
| void SetSwitchRendererCallback(const base::Closure& cb);
|
|
|
| + using ShowInterstitialCallback = base::Callback<
|
| + void(const SkBitmap&, const gfx::Size&, RemotingInterstitialType type)>;
|
| + // Called by RemoteRendererImpl constructor to set the callback to draw and
|
| + // show remoting interstial.
|
| + void SetShowInterstitialCallback(const ShowInterstitialCallback& cb);
|
| +
|
| + // Called when any of the following happens:
|
| + // 1. SetShowInterstitialCallback() is called (RemoteRendererImpl is
|
| + // constructed);
|
| + // 2. The remoting session is shut down (to update the status message in the
|
| + // interstitial).
|
| + // 3. The size of the canvas is changed (to update the background image and
|
| + // the position of the status message).
|
| + // TODO(xjz): Call this when poster url is set/changed. Download poster image
|
| + // when available, and draw interstitial on it.
|
| + void UpdateAndMaybeShowInterstitial();
|
| +
|
| base::WeakPtr<RemotingRendererController> GetWeakPtr() {
|
| return weak_factory_.GetWeakPtr();
|
| }
|
| @@ -64,11 +82,6 @@ class RemotingRendererController final : public RemotingSourceImpl::Client,
|
|
|
| base::WeakPtr<remoting::RpcBroker> GetRpcBroker() const;
|
|
|
| - PipelineMetadata pipeline_metadata() const {
|
| - DCHECK(thread_checker_.CalledOnValidThread());
|
| - return pipeline_metadata_;
|
| - }
|
| -
|
| private:
|
| bool has_audio() const {
|
| return pipeline_metadata_.has_audio &&
|
| @@ -99,10 +112,6 @@ class RemotingRendererController final : public RemotingSourceImpl::Client,
|
| // Indicates whether audio or video is encrypted.
|
| bool is_encrypted_ = false;
|
|
|
| - // Current audio/video config.
|
| - VideoDecoderConfig video_decoder_config_;
|
| - AudioDecoderConfig audio_decoder_config_;
|
| -
|
| // The callback to switch the media renderer.
|
| base::Closure switch_renderer_cb_;
|
|
|
| @@ -116,6 +125,11 @@ class RemotingRendererController final : public RemotingSourceImpl::Client,
|
|
|
| PipelineMetadata pipeline_metadata_;
|
|
|
| + // The callback to show remoting interstitial. It is set when entering the
|
| + // remoting mode (RemotingRendererImpl is constructed) by calling
|
| + // SetShowInterstitialCallback(), and is reset when leaving the remoting mode.
|
| + ShowInterstitialCallback show_interstitial_cb_;
|
| +
|
| base::WeakPtrFactory<RemotingRendererController> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(RemotingRendererController);
|
|
|