Index: webkit/media/webmediaplayer_impl.cc |
diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc |
index b5f65d056bdb0ea80c3722ab69cc44e690c90894..22a1476010dd71671018233f564a36476fd89b24 100644 |
--- a/webkit/media/webmediaplayer_impl.cc |
+++ b/webkit/media/webmediaplayer_impl.cc |
@@ -679,7 +679,15 @@ bool WebMediaPlayerImpl::sourceAppend(const WebKit::WebString& id, |
const unsigned char* data, |
unsigned length) { |
DCHECK_EQ(main_loop_, MessageLoop::current()); |
- return proxy_->DemuxerAppend(id.utf8().data(), data, length); |
+ |
+ float old_duration = duration(); |
+ if (!proxy_->DemuxerAppend(id.utf8().data(), data, length)) |
+ return false; |
+ |
+ if (old_duration != duration()) |
+ GetClient()->durationChanged(); |
+ |
+ return true; |
} |
bool WebMediaPlayerImpl::sourceAbort(const WebKit::WebString& id) { |
@@ -705,7 +713,11 @@ void WebMediaPlayerImpl::sourceEndOfStream( |
NOTIMPLEMENTED(); |
} |
+ float old_duration = duration(); |
proxy_->DemuxerEndOfStream(pipeline_status); |
+ |
+ if (old_duration != duration()) |
+ GetClient()->durationChanged(); |
} |
WebKit::WebMediaPlayer::MediaKeyException |