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