Index: media/blink/webmediaplayer_impl.cc |
diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc |
index dc174674c5d3224d7450c56e611e13c157da2230..a8a5e2427221e8d674e0ba2ca8da4e41066aa302 100644 |
--- a/media/blink/webmediaplayer_impl.cc |
+++ b/media/blink/webmediaplayer_impl.cc |
@@ -213,10 +213,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_) |
@@ -1117,6 +1115,16 @@ void WebMediaPlayerImpl::OnShown() { |
Resume(); |
} |
+void WebMediaPlayerImpl::OnPlay() { |
+ play(); |
+ client_->playbackStateChanged(); |
+} |
+ |
+void WebMediaPlayerImpl::OnPause() { |
+ pause(); |
+ client_->playbackStateChanged(); |
+} |
+ |
void WebMediaPlayerImpl::Resume() { |
DCHECK(main_task_runner_->BelongsToCurrentThread()); |
CHECK(suspended_); |
@@ -1331,8 +1339,10 @@ void WebMediaPlayerImpl::UpdatePausedTime() { |
} |
void WebMediaPlayerImpl::NotifyPlaybackStarted() { |
- if (delegate_) |
- delegate_->DidPlay(this); |
+ if (delegate_) { |
+ delegate_->DidPlay(this, hasVideo(), hasAudio(), false, |
+ pipeline_.GetMediaDuration()); |
+ } |
if (!memory_usage_reporting_timer_.IsRunning()) { |
memory_usage_reporting_timer_.Start(FROM_HERE, |
base::TimeDelta::FromSeconds(2), this, |
@@ -1342,7 +1352,7 @@ void WebMediaPlayerImpl::NotifyPlaybackStarted() { |
void WebMediaPlayerImpl::NotifyPlaybackPaused() { |
if (delegate_) |
- delegate_->DidPause(this); |
+ delegate_->DidPause(this, ended_); |
memory_usage_reporting_timer_.Stop(); |
ReportMemoryUsage(); |
} |