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_); |