| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index 03818aff63b1b120fcb62dfd521a45cd693a4c68..f0e2b29561a0d8ccaba66e9c3b4c366519654b69 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -204,6 +204,9 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| params.audio_renderer_sink().get()
|
| ? params.audio_renderer_sink()
|
| : new NullAudioSink(media_task_runner_));
|
| +#if defined(OS_ANDROID)
|
| + audio_source_provider_->enable_audio_focus();
|
| +#endif
|
| }
|
|
|
| WebMediaPlayerImpl::~WebMediaPlayerImpl() {
|
| @@ -211,10 +214,8 @@ WebMediaPlayerImpl::~WebMediaPlayerImpl() {
|
|
|
| DCHECK(main_task_runner_->BelongsToCurrentThread());
|
|
|
| - if (delegate_) {
|
| - delegate_->RemoveObserver(this);
|
| + if (delegate_)
|
| delegate_->PlayerGone(this);
|
| - }
|
|
|
| // Abort any pending IO so stopping the pipeline doesn't get blocked.
|
| if (data_source_)
|
| @@ -1034,6 +1035,10 @@ void WebMediaPlayerImpl::OnAddTextTrack(
|
| done_cb.Run(std::move(text_track));
|
| }
|
|
|
| +blink::WebMediaPlayer* WebMediaPlayerImpl::GetPlayer() {
|
| + return this;
|
| +}
|
| +
|
| void WebMediaPlayerImpl::OnHidden() {
|
| DCHECK(main_task_runner_->BelongsToCurrentThread());
|
|
|
| @@ -1112,6 +1117,18 @@ void WebMediaPlayerImpl::OnShown() {
|
| Resume();
|
| }
|
|
|
| +void WebMediaPlayerImpl::OnPlay() {
|
| + // TODO(dalecurtis): All clients use the same code for OnPlay/OnPause... which
|
| + // suggests there's some cleanup worth doing.
|
| + play();
|
| + client_->playbackStateChanged();
|
| +}
|
| +
|
| +void WebMediaPlayerImpl::OnPause() {
|
| + pause();
|
| + client_->playbackStateChanged();
|
| +}
|
| +
|
| void WebMediaPlayerImpl::Resume() {
|
| DCHECK(main_task_runner_->BelongsToCurrentThread());
|
| CHECK(suspended_);
|
|
|