Index: content/renderer/media/webmediaplayer_ms.cc |
diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc |
index e302d9dcd93942855a9fcf649416c213952e3f51..d032362f1c935822963d6267d929da2b448f381c 100644 |
--- a/content/renderer/media/webmediaplayer_ms.cc |
+++ b/content/renderer/media/webmediaplayer_ms.cc |
@@ -50,8 +50,7 @@ WebMediaPlayerMS::WebMediaPlayerMS( |
media::GpuVideoAcceleratorFactories* gpu_factories, |
const blink::WebString& sink_id, |
const blink::WebSecurityOrigin& security_origin) |
- : RenderFrameObserver(RenderFrame::FromWebFrame(frame)), |
- frame_(frame), |
+ : frame_(frame), |
network_state_(WebMediaPlayer::NetworkStateEmpty), |
ready_state_(WebMediaPlayer::ReadyStateHaveNothing), |
buffered_(static_cast<size_t>(0)), |
@@ -72,6 +71,9 @@ WebMediaPlayerMS::WebMediaPlayerMS( |
: url::Origin(security_origin)) { |
DVLOG(1) << __FUNCTION__; |
DCHECK(client); |
+ if (delegate) |
+ delegate->AddObserver(this); |
+ |
media_log_->AddEvent( |
media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
} |
@@ -161,8 +163,10 @@ void WebMediaPlayerMS::play() { |
if (audio_renderer_.get()) |
audio_renderer_->Play(); |
- if (delegate_.get()) |
- delegate_->DidPlay(this); |
+ if (delegate_.get()) { |
+ delegate_->DidPlay(this, hasVideo(), hasAudio(), false, |
+ media::kInfiniteDuration()); |
+ } |
} |
paused_ = false; |
@@ -185,7 +189,7 @@ void WebMediaPlayerMS::pause() { |
audio_renderer_->Pause(); |
if (delegate_.get()) |
- delegate_->DidPause(this); |
+ delegate_->DidPause(this, false); |
} |
paused_ = true; |
@@ -360,7 +364,7 @@ unsigned WebMediaPlayerMS::videoDecodedByteCount() const { |
return 0; |
} |
-void WebMediaPlayerMS::WasHidden() { |
+void WebMediaPlayerMS::OnHidden() { |
#if defined(OS_ANDROID) |
DCHECK(thread_checker_.CalledOnValidThread()); |
DCHECK(!render_frame_suspended_); |
@@ -374,7 +378,7 @@ void WebMediaPlayerMS::WasHidden() { |
#endif // defined(OS_ANDROID) |
} |
-void WebMediaPlayerMS::WasShown() { |
+void WebMediaPlayerMS::OnShown() { |
#if defined(OS_ANDROID) |
DCHECK(thread_checker_.CalledOnValidThread()); |
@@ -382,6 +386,16 @@ void WebMediaPlayerMS::WasShown() { |
#endif // defined(OS_ANDROID) |
} |
+void WebMediaPlayerMS::OnPlay() { |
+ play(); |
+ client_->playbackStateChanged(); |
+} |
+ |
+void WebMediaPlayerMS::OnPause() { |
+ pause(); |
+ client_->playbackStateChanged(); |
+} |
+ |
bool WebMediaPlayerMS::copyVideoTextureToPlatformTexture( |
blink::WebGraphicsContext3D* web_graphics_context, |
unsigned int texture, |