| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/media_stream_video_capturer_source.h" | 5 #include "content/renderer/media/media_stream_video_capturer_source.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" | 8 #include "base/location.h" |
| 9 #include "content/renderer/media/video_capture_impl_manager.h" | 9 #include "content/renderer/media/video_capture_impl_manager.h" |
| 10 #include "content/renderer/render_thread_impl.h" | 10 #include "content/renderer/render_thread_impl.h" |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 const StreamDeviceInfo& device_info) | 37 const StreamDeviceInfo& device_info) |
| 38 : session_id_(device_info.session_id), | 38 : session_id_(device_info.session_id), |
| 39 capture_engine_( | 39 capture_engine_( |
| 40 RenderThreadImpl::current()->video_capture_impl_manager() | 40 RenderThreadImpl::current()->video_capture_impl_manager() |
| 41 ->UseDevice(device_info.session_id)), | 41 ->UseDevice(device_info.session_id)), |
| 42 is_screen_cast_(device_info.device.type == MEDIA_TAB_VIDEO_CAPTURE || | 42 is_screen_cast_(device_info.device.type == MEDIA_TAB_VIDEO_CAPTURE || |
| 43 device_info.device.type == MEDIA_DESKTOP_VIDEO_CAPTURE), | 43 device_info.device.type == MEDIA_DESKTOP_VIDEO_CAPTURE), |
| 44 got_first_frame_(false) { | 44 got_first_frame_(false) { |
| 45 DVLOG(3) << "VideoCapturerDelegate::ctor"; | 45 DVLOG(3) << "VideoCapturerDelegate::ctor"; |
| 46 DCHECK(capture_engine_); | 46 DCHECK(capture_engine_); |
| 47 message_loop_proxy_ = base::MessageLoopProxy::current(); |
| 47 } | 48 } |
| 48 | 49 |
| 49 VideoCapturerDelegate::~VideoCapturerDelegate() { | 50 VideoCapturerDelegate::~VideoCapturerDelegate() { |
| 50 DVLOG(3) << "VideoCapturerDelegate::dtor"; | 51 DVLOG(3) << "VideoCapturerDelegate::dtor"; |
| 51 DCHECK(new_frame_callback_.is_null()); | 52 DCHECK(new_frame_callback_.is_null()); |
| 52 } | 53 } |
| 53 | 54 |
| 54 void VideoCapturerDelegate::GetCurrentSupportedFormats( | 55 void VideoCapturerDelegate::GetCurrentSupportedFormats( |
| 55 int max_requested_width, | 56 int max_requested_width, |
| 56 int max_requested_height, | 57 int max_requested_height, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 86 media::PIXEL_FORMAT_I420)); | 87 media::PIXEL_FORMAT_I420)); |
| 87 } | 88 } |
| 88 callback.Run(formats); | 89 callback.Run(formats); |
| 89 } | 90 } |
| 90 | 91 |
| 91 void VideoCapturerDelegate::StartDeliver( | 92 void VideoCapturerDelegate::StartDeliver( |
| 92 const media::VideoCaptureParams& params, | 93 const media::VideoCaptureParams& params, |
| 93 const NewFrameCallback& new_frame_callback, | 94 const NewFrameCallback& new_frame_callback, |
| 94 const StartedCallback& started_callback) { | 95 const StartedCallback& started_callback) { |
| 95 DCHECK(params.requested_format.IsValid()); | 96 DCHECK(params.requested_format.IsValid()); |
| 96 message_loop_proxy_ = base::MessageLoopProxy::current(); | 97 DCHECK(message_loop_proxy_ == base::MessageLoopProxy::current()); |
| 97 new_frame_callback_ = new_frame_callback; | 98 new_frame_callback_ = new_frame_callback; |
| 98 started_callback_ = started_callback; | 99 started_callback_ = started_callback; |
| 99 got_first_frame_ = false; | 100 got_first_frame_ = false; |
| 100 | 101 |
| 101 // Increase the reference count to ensure the object is not deleted until | 102 // Increase the reference count to ensure the object is not deleted until |
| 102 // it is unregistered in VideoCapturerDelegate::OnRemoved. | 103 // it is unregistered in VideoCapturerDelegate::OnRemoved. |
| 103 AddRef(); | 104 AddRef(); |
| 104 capture_engine_->StartCapture(this, params); | 105 capture_engine_->StartCapture(this, params); |
| 105 } | 106 } |
| 106 | 107 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 117 DVLOG(3) << "VideoCapturerDelegate::OnStarted"; | 118 DVLOG(3) << "VideoCapturerDelegate::OnStarted"; |
| 118 } | 119 } |
| 119 | 120 |
| 120 void VideoCapturerDelegate::OnStopped(media::VideoCapture* capture) { | 121 void VideoCapturerDelegate::OnStopped(media::VideoCapture* capture) { |
| 121 } | 122 } |
| 122 | 123 |
| 123 void VideoCapturerDelegate::OnPaused(media::VideoCapture* capture) { | 124 void VideoCapturerDelegate::OnPaused(media::VideoCapture* capture) { |
| 124 } | 125 } |
| 125 | 126 |
| 126 void VideoCapturerDelegate::OnError(media::VideoCapture* capture, | 127 void VideoCapturerDelegate::OnError(media::VideoCapture* capture, |
| 127 int error_code) { | 128 int error_code) { |
| 128 DVLOG(3) << "VideoCapturerDelegate::OnError"; | 129 DVLOG(3) << "VideoCapturerDelegate::OnError"; |
| 129 message_loop_proxy_->PostTask( | 130 message_loop_proxy_->PostTask( |
| 130 FROM_HERE, | 131 FROM_HERE, |
| 131 base::Bind(&VideoCapturerDelegate::OnErrorOnCaptureThread, | 132 base::Bind(&VideoCapturerDelegate::OnErrorOnCaptureThread, |
| 132 this, capture)); | 133 this, capture)); |
| 133 } | 134 } |
| 134 | 135 |
| 135 void VideoCapturerDelegate::OnRemoved(media::VideoCapture* capture) { | 136 void VideoCapturerDelegate::OnRemoved(media::VideoCapture* capture) { |
| 136 DVLOG(3) << " MediaStreamVideoCapturerSource::OnRemoved"; | 137 DVLOG(3) << " MediaStreamVideoCapturerSource::OnRemoved"; |
| 137 | 138 |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 base::Unretained(this)), | 205 base::Unretained(this)), |
| 205 base::Bind(&MediaStreamVideoCapturerSource::OnStartDone, | 206 base::Bind(&MediaStreamVideoCapturerSource::OnStartDone, |
| 206 base::Unretained(this))); | 207 base::Unretained(this))); |
| 207 } | 208 } |
| 208 | 209 |
| 209 void MediaStreamVideoCapturerSource::StopSourceImpl() { | 210 void MediaStreamVideoCapturerSource::StopSourceImpl() { |
| 210 delegate_->StopDeliver(); | 211 delegate_->StopDeliver(); |
| 211 } | 212 } |
| 212 | 213 |
| 213 } // namespace content | 214 } // namespace content |
| OLD | NEW |