| Index: content/renderer/media/webmediaplayer_impl.cc
|
| diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc
|
| index 9399476dd837e07a3435c0bdfebf7ced6fb91742..c8e9c087b3ce21ee381c060afc208e3dcd7e346c 100644
|
| --- a/content/renderer/media/webmediaplayer_impl.cc
|
| +++ b/content/renderer/media/webmediaplayer_impl.cc
|
| @@ -150,6 +150,8 @@ WebMediaPlayerImpl::WebMediaPlayerImpl(
|
| RenderThreadImpl::current()->GetMediaThreadMessageLoopProxy()),
|
| media_log_(new RenderMediaLog()),
|
| pipeline_(media_loop_, media_log_.get()),
|
| + has_audio_(false),
|
| + has_video_(false),
|
| paused_(true),
|
| seeking_(false),
|
| playback_rate_(0.0f),
|
| @@ -436,13 +438,13 @@ void WebMediaPlayerImpl::setPreload(WebMediaPlayer::Preload preload) {
|
| bool WebMediaPlayerImpl::hasVideo() const {
|
| DCHECK(main_loop_->BelongsToCurrentThread());
|
|
|
| - return pipeline_.HasVideo();
|
| + return has_video_;
|
| }
|
|
|
| bool WebMediaPlayerImpl::hasAudio() const {
|
| DCHECK(main_loop_->BelongsToCurrentThread());
|
|
|
| - return pipeline_.HasAudio();
|
| + return has_audio_;
|
| }
|
|
|
| blink::WebSize WebMediaPlayerImpl::naturalSize() const {
|
| @@ -968,6 +970,19 @@ void WebMediaPlayerImpl::OnPipelineError(PipelineStatus error) {
|
| InvalidateOnMainThread();
|
| }
|
|
|
| +void WebMediaPlayerImpl::OnPipelineHasTrack(
|
| + media::Pipeline::TrackType track) {
|
| + switch (track) {
|
| + case media::Pipeline::AUDIO:
|
| + has_audio_ = true;
|
| + break;
|
| +
|
| + case media::Pipeline::VIDEO:
|
| + has_video_ = true;
|
| + break;
|
| + }
|
| +}
|
| +
|
| void WebMediaPlayerImpl::OnPipelineBufferingState(
|
| media::Pipeline::BufferingState buffering_state) {
|
| DVLOG(1) << "OnPipelineBufferingState(" << buffering_state << ")";
|
| @@ -1220,6 +1235,7 @@ void WebMediaPlayerImpl::StartPipeline() {
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineEnded),
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineError),
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineSeek),
|
| + BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineHasTrack),
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnPipelineBufferingState),
|
| BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnDurationChange));
|
| }
|
|
|