| 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 57       paused_(true), | 57       paused_(true), | 
| 58       render_frame_suspended_(false), | 58       render_frame_suspended_(false), | 
| 59       received_first_frame_(false), | 59       received_first_frame_(false), | 
| 60       media_log_(media_log), | 60       media_log_(media_log), | 
| 61       renderer_factory_(factory.Pass()), | 61       renderer_factory_(factory.Pass()), | 
| 62       media_task_runner_(media_task_runner), | 62       media_task_runner_(media_task_runner), | 
| 63       worker_task_runner_(worker_task_runner), | 63       worker_task_runner_(worker_task_runner), | 
| 64       gpu_factories_(gpu_factories), | 64       gpu_factories_(gpu_factories), | 
| 65       compositor_task_runner_(compositor_task_runner), | 65       compositor_task_runner_(compositor_task_runner), | 
| 66       initial_audio_output_device_id_(sink_id.utf8()), | 66       initial_audio_output_device_id_(sink_id.utf8()), | 
| 67       initial_security_origin_(security_origin.isNull() | 67       initial_security_origin_(security_origin) { | 
| 68                                    ? url::Origin() |  | 
| 69                                    : url::Origin(security_origin)) { |  | 
| 70   DVLOG(1) << __FUNCTION__; | 68   DVLOG(1) << __FUNCTION__; | 
| 71   DCHECK(client); | 69   DCHECK(client); | 
| 72   media_log_->AddEvent( | 70   media_log_->AddEvent( | 
| 73       media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); | 71       media_log_->CreateEvent(media::MediaLogEvent::WEBMEDIAPLAYER_CREATED)); | 
| 74 } | 72 } | 
| 75 | 73 | 
| 76 WebMediaPlayerMS::~WebMediaPlayerMS() { | 74 WebMediaPlayerMS::~WebMediaPlayerMS() { | 
| 77   DVLOG(1) << __FUNCTION__; | 75   DVLOG(1) << __FUNCTION__; | 
| 78   DCHECK(thread_checker_.CalledOnValidThread()); | 76   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 79 | 77 | 
| 80   if (compositor_ && !compositor_task_runner_->BelongsToCurrentThread()) | 78   if (compositor_) | 
| 81     compositor_task_runner_->DeleteSoon(FROM_HERE, compositor_.release()); | 79     compositor_task_runner_->DeleteSoon(FROM_HERE, compositor_.release()); | 
| 82 | 80 | 
| 83   get_client()->setWebLayer(nullptr); | 81   get_client()->setWebLayer(nullptr); | 
| 84 | 82 | 
| 85   if (video_frame_provider_) | 83   if (video_frame_provider_) | 
| 86     video_frame_provider_->Stop(); | 84     video_frame_provider_->Stop(); | 
| 87 | 85 | 
| 88   if (audio_renderer_) | 86   if (audio_renderer_) | 
| 89     audio_renderer_->Stop(); | 87     audio_renderer_->Stop(); | 
| 90 | 88 | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 114 | 112 | 
| 115   video_frame_provider_ = renderer_factory_->GetVideoFrameProvider( | 113   video_frame_provider_ = renderer_factory_->GetVideoFrameProvider( | 
| 116       url, | 114       url, | 
| 117       base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), | 115       base::Bind(&WebMediaPlayerMS::OnSourceError, AsWeakPtr()), | 
| 118       base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()), | 116       base::Bind(&WebMediaPlayerMS::OnFrameAvailable, AsWeakPtr()), | 
| 119       media_task_runner_, | 117       media_task_runner_, | 
| 120       worker_task_runner_, | 118       worker_task_runner_, | 
| 121       gpu_factories_); | 119       gpu_factories_); | 
| 122 | 120 | 
| 123   RenderFrame* const frame = RenderFrame::FromWebFrame(frame_); | 121   RenderFrame* const frame = RenderFrame::FromWebFrame(frame_); | 
| 124 | 122   audio_renderer_ = renderer_factory_->GetAudioRenderer( | 
| 125   if (frame) { | 123       url, frame->GetRoutingID(), initial_audio_output_device_id_, | 
| 126     audio_renderer_ = renderer_factory_->GetAudioRenderer( | 124       initial_security_origin_); | 
| 127         url, frame->GetRoutingID(), initial_audio_output_device_id_, |  | 
| 128         initial_security_origin_); |  | 
| 129   } |  | 
| 130 | 125 | 
| 131   if (!video_frame_provider_ && !audio_renderer_) { | 126   if (!video_frame_provider_ && !audio_renderer_) { | 
| 132     SetNetworkState(WebMediaPlayer::NetworkStateNetworkError); | 127     SetNetworkState(WebMediaPlayer::NetworkStateNetworkError); | 
| 133     return; | 128     return; | 
| 134   } | 129   } | 
| 135 | 130 | 
| 136   if (audio_renderer_) { | 131   if (audio_renderer_) { | 
| 137     audio_renderer_->SetVolume(DEFAULT_AUDIO_VOLUME); | 132     audio_renderer_->SetVolume(DEFAULT_AUDIO_VOLUME); | 
| 138     audio_renderer_->Start(); | 133     audio_renderer_->Start(); | 
| 139   } | 134   } | 
| (...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 477 } | 472 } | 
| 478 | 473 | 
| 479 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() { | 474 media::SkCanvasVideoRenderer* WebMediaPlayerMS::GetSkCanvasVideoRenderer() { | 
| 480   return &video_renderer_; | 475   return &video_renderer_; | 
| 481 } | 476 } | 
| 482 | 477 | 
| 483 void WebMediaPlayerMS::ResetCanvasCache() { | 478 void WebMediaPlayerMS::ResetCanvasCache() { | 
| 484   DCHECK(thread_checker_.CalledOnValidThread()); | 479   DCHECK(thread_checker_.CalledOnValidThread()); | 
| 485   video_renderer_.ResetCache(); | 480   video_renderer_.ResetCache(); | 
| 486 } | 481 } | 
| 487 |  | 
| 488 }  // namespace content | 482 }  // namespace content | 
| OLD | NEW | 
|---|