| Index: webkit/media/webmediaplayer_impl.cc
|
| diff --git a/webkit/media/webmediaplayer_impl.cc b/webkit/media/webmediaplayer_impl.cc
|
| index 941f88f3d053412163de40af6ac38c8cad5fe9a4..7df55e657cf7b3f7471512f87fc0c8dda99d8356 100644
|
| --- a/webkit/media/webmediaplayer_impl.cc
|
| +++ b/webkit/media/webmediaplayer_impl.cc
|
| @@ -291,9 +291,14 @@ void WebMediaPlayerImpl::load(const WebKit::WebURL& url) {
|
| }
|
|
|
| // TODO(wjia): add audio decoder handling when it's available.
|
| - if (has_video || has_audio)
|
| + if (has_video || has_audio) {
|
| + // TODO(vrk/wjia): Setting true for local_source is under the assumption
|
| + // that the MediaStream represents a local webcam. This will need to
|
| + // change in the future when GetVideoDecoder is no longer hardcoded to
|
| + // only return CaptureVideoDecoders.
|
| filter_collection_->SetDemuxerFactory(
|
| - new media::DummyDemuxerFactory(has_video, has_audio));
|
| + new media::DummyDemuxerFactory(has_video, has_audio, true));
|
| + }
|
| }
|
|
|
| // Handle any volume changes that occured before load().
|
| @@ -746,14 +751,11 @@ void WebMediaPlayerImpl::OnPipelineInitialize(PipelineStatus status) {
|
| is_accelerated_compositing_active_);
|
| }
|
|
|
| - if (pipeline_->IsLoaded())
|
| + if (pipeline_->IsLocalSource())
|
| SetNetworkState(WebKit::WebMediaPlayer::Loaded);
|
|
|
| SetReadyState(WebKit::WebMediaPlayer::HaveMetadata);
|
| - // Fire canplaythrough immediately after playback begins because of
|
| - // crbug.com/105163.
|
| - // TODO(vrk): set ready state to HaveFutureData when bug above is fixed.
|
| - SetReadyState(WebKit::WebMediaPlayer::HaveEnoughData);
|
| + SetReadyState(WebKit::WebMediaPlayer::HaveFutureData);
|
| } else {
|
| // TODO(hclam): should use |status| to determine the state
|
| // properly and reports error using MediaError.
|
| @@ -842,10 +844,7 @@ void WebMediaPlayerImpl::OnNetworkEvent(NetworkEvent type) {
|
| SetNetworkState(WebKit::WebMediaPlayer::Idle);
|
| break;
|
| case media::CAN_PLAY_THROUGH:
|
| - // Temporarily disable delayed firing of CAN_PLAY_THROUGH due to
|
| - // crbug.com/105163.
|
| - // TODO(vrk): uncomment code below when bug above is fixed.
|
| - // SetReadyState(WebKit::WebMediaPlayer::HaveEnoughData);
|
| + SetReadyState(WebKit::WebMediaPlayer::HaveEnoughData);
|
| break;
|
| default:
|
| NOTREACHED();
|
|
|