| 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
|
|
|