| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index 7c67743e982b430e3c7794a1e1d2a3310806ee3c..6384c4bdb79c1e5784e27cf1a6e0e0ca250ae255 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -167,6 +167,7 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| base::WeakPtr<WebMediaPlayerDelegate> delegate,
|
| std::unique_ptr<RendererFactory> renderer_factory,
|
| linked_ptr<UrlIndex> url_index,
|
| + MediaPlayerObserver* observer,
|
| const WebMediaPlayerParams& params)
|
| : frame_(frame),
|
| delegate_state_(DelegateState::GONE),
|
| @@ -227,7 +228,8 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| suppress_destruction_errors_(false),
|
| can_suspend_state_(CanSuspendState::UNKNOWN),
|
| is_encrypted_(false),
|
| - underflow_count_(0) {
|
| + underflow_count_(0),
|
| + observer_(observer) {
|
| DCHECK(!adjust_allocated_memory_cb_.is_null());
|
| DCHECK(renderer_factory_);
|
| DCHECK(client_);
|
| @@ -337,11 +339,15 @@ void WebMediaPlayerImpl::DisableOverlay() {
|
| void WebMediaPlayerImpl::enteredFullscreen() {
|
| if (!force_video_overlays_ && !disable_fullscreen_video_overlays_)
|
| EnableOverlay();
|
| + if (observer_)
|
| + observer_->OnEnteredFullscreen();
|
| }
|
|
|
| void WebMediaPlayerImpl::exitedFullscreen() {
|
| if (!force_video_overlays_ && !disable_fullscreen_video_overlays_)
|
| DisableOverlay();
|
| + if (observer_)
|
| + observer_->OnExitedFullscreen();
|
| }
|
|
|
| void WebMediaPlayerImpl::DoLoad(LoadType load_type,
|
| @@ -953,6 +959,9 @@ void WebMediaPlayerImpl::SetCdm(const CdmAttachedCB& cdm_attached_cb,
|
| return;
|
| }
|
|
|
| + if (observer_)
|
| + observer_->OnSetCdm(cdm_context);
|
| +
|
| // If CDM initialization succeeded, tell the pipeline about it.
|
| pipeline_.SetCdm(cdm_context, cdm_attached_cb);
|
| }
|
| @@ -1089,6 +1098,11 @@ void WebMediaPlayerImpl::OnMetadata(PipelineMetadata metadata) {
|
| video_weblayer_->layer()->SetContentsOpaque(opaque_);
|
| video_weblayer_->SetContentsOpaqueIsFixed(true);
|
| client_->setWebLayer(video_weblayer_.get());
|
| + if (observer_) {
|
| + observer_->OnDecoderConfigChanged(
|
| + pipeline_metadata_.audio_decoder_config,
|
| + pipeline_metadata_.video_decoder_config);
|
| + }
|
| }
|
|
|
| CreateWatchTimeReporter();
|
| @@ -1821,4 +1835,14 @@ void WebMediaPlayerImpl::CreateWatchTimeReporter() {
|
| watch_time_reporter_->OnShown();
|
| }
|
|
|
| +void WebMediaPlayerImpl::ancestorEnteredFullscreen() {
|
| + if (observer_)
|
| + observer_->OnEnteredFullscreen();
|
| +}
|
| +
|
| +void WebMediaPlayerImpl::ancestorExitedFullscreen() {
|
| + if (observer_)
|
| + observer_->OnExitedFullscreen();
|
| +}
|
| +
|
| } // namespace media
|
|
|