| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/media/webmediaplayer_ms.h" | 5 #include "content/renderer/media/webmediaplayer_ms.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 } | 89 } |
| 90 | 90 |
| 91 } // anonymous namespace | 91 } // anonymous namespace |
| 92 | 92 |
| 93 WebMediaPlayerMS::WebMediaPlayerMS( | 93 WebMediaPlayerMS::WebMediaPlayerMS( |
| 94 blink::WebFrame* frame, | 94 blink::WebFrame* frame, |
| 95 blink::WebMediaPlayerClient* client, | 95 blink::WebMediaPlayerClient* client, |
| 96 base::WeakPtr<media::WebMediaPlayerDelegate> delegate, | 96 base::WeakPtr<media::WebMediaPlayerDelegate> delegate, |
| 97 media::MediaLog* media_log, | 97 media::MediaLog* media_log, |
| 98 scoped_ptr<MediaStreamRendererFactory> factory, | 98 scoped_ptr<MediaStreamRendererFactory> factory, |
| 99 const scoped_refptr<base::SingleThreadTaskRunner>& compositor_task_runner) | 99 const scoped_refptr<base::SingleThreadTaskRunner>& compositor_task_runner, |
| 100 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
| 101 const scoped_refptr<base::TaskRunner>& worker_task_runner, |
| 102 const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories) |
| 100 : frame_(frame), | 103 : frame_(frame), |
| 101 network_state_(WebMediaPlayer::NetworkStateEmpty), | 104 network_state_(WebMediaPlayer::NetworkStateEmpty), |
| 102 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), | 105 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), |
| 103 buffered_(static_cast<size_t>(0)), | 106 buffered_(static_cast<size_t>(0)), |
| 104 volume_(1.0f), | 107 volume_(1.0f), |
| 105 client_(client), | 108 client_(client), |
| 106 delegate_(delegate), | 109 delegate_(delegate), |
| 107 paused_(true), | 110 paused_(true), |
| 108 received_first_frame_(false), | 111 received_first_frame_(false), |
| 109 media_log_(media_log), | 112 media_log_(media_log), |
| 110 renderer_factory_(factory.Pass()), | 113 renderer_factory_(factory.Pass()), |
| 114 media_task_runner_(media_task_runner), |
| 115 worker_task_runner_(worker_task_runner), |
| 116 gpu_factories_(gpu_factories), |
| 111 compositor_(new Compositor(compositor_task_runner)), | 117 compositor_(new Compositor(compositor_task_runner)), |
| 112 compositor_task_runner_(compositor_task_runner) { | 118 compositor_task_runner_(compositor_task_runner) { |
| 113 DVLOG(1) << "WebMediaPlayerMS::ctor"; | 119 DVLOG(1) << "WebMediaPlayerMS::ctor"; |
| 114 media_log_->AddEvent( | 120 media_log_->AddEvent( |
| 115 media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); | 121 media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); |
| 116 } | 122 } |
| 117 | 123 |
| 118 WebMediaPlayerMS::~WebMediaPlayerMS() { | 124 WebMediaPlayerMS::~WebMediaPlayerMS() { |
| 119 DVLOG(1) << "WebMediaPlayerMS::dtor"; | 125 DVLOG(1) << "WebMediaPlayerMS::dtor"; |
| 120 DCHECK(thread_checker_.CalledOnValidThread()); | 126 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 148 | 154 |
| 149 GURL gurl(url); | 155 GURL gurl(url); |
| 150 | 156 |
| 151 SetNetworkState(WebMediaPlayer::NetworkStateLoading); | 157 SetNetworkState(WebMediaPlayer::NetworkStateLoading); |
| 152 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing); | 158 SetReadyState(WebMediaPlayer::ReadyStateHaveNothing); |
| 153 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec())); | 159 media_log_->AddEvent(media_log_->CreateLoadEvent(url.spec())); |
| 154 | 160 |
| 155 video_frame_provider_ = renderer_factory_->GetVideoFrameProvider( | 161 video_frame_provider_ = renderer_factory_->GetVideoFrameProvider( |
| 156 url, | 162 url, |
| 157 base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), | 163 base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), |
| 158 base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr())); | 164 base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()), |
| 165 media_task_runner_, |
| 166 worker_task_runner_, |
| 167 gpu_factories_); |
| 159 | 168 |
| 160 RenderFrame* const frame = RenderFrame::FromWebFrame(frame_); | 169 RenderFrame* const frame = RenderFrame::FromWebFrame(frame_); |
| 161 audio_renderer_ = renderer_factory_->GetAudioRenderer( | 170 audio_renderer_ = renderer_factory_->GetAudioRenderer( |
| 162 url, | 171 url, |
| 163 frame->GetRoutingID()); | 172 frame->GetRoutingID()); |
| 164 | 173 |
| 165 if (!video_frame_provider_ && !audio_renderer_) { | 174 if (!video_frame_provider_ && !audio_renderer_) { |
| 166 SetNetworkState(WebMediaPlayer::NetworkStateNetworkError); | 175 SetNetworkState(WebMediaPlayer::NetworkStateNetworkError); |
| 167 return; | 176 return; |
| 168 } | 177 } |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 643 } | 652 } |
| 644 | 653 |
| 645 unsigned WebMediaPlayerMS::Compositor::GetTotalFrameCount() { | 654 unsigned WebMediaPlayerMS::Compositor::GetTotalFrameCount() { |
| 646 return total_frame_count_; | 655 return total_frame_count_; |
| 647 } | 656 } |
| 648 | 657 |
| 649 unsigned WebMediaPlayerMS::Compositor::GetDroppedFrameCount() { | 658 unsigned WebMediaPlayerMS::Compositor::GetDroppedFrameCount() { |
| 650 return dropped_frame_count_; | 659 return dropped_frame_count_; |
| 651 } | 660 } |
| 652 } // namespace content | 661 } // namespace content |
| OLD | NEW |