Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "base/logging.h" | 5 #include "base/logging.h" |
| 6 #include "services/video_capture/device_client_mojo_to_media_adapter.h" | 6 #include "services/video_capture/device_client_mojo_to_media_adapter.h" |
| 7 #include "services/video_capture/video_capture_device_proxy_impl.h" | 7 #include "services/video_capture/video_capture_device_proxy_impl.h" |
| 8 | 8 |
| 9 namespace video_capture { | 9 namespace video_capture { |
| 10 | 10 |
| 11 VideoCaptureDeviceProxyImpl::VideoCaptureDeviceProxyImpl( | 11 VideoCaptureDeviceProxyImpl::VideoCaptureDeviceProxyImpl( |
| 12 std::unique_ptr<media::VideoCaptureDevice> device) | 12 std::unique_ptr<media::VideoCaptureDevice> device) |
| 13 : device_(std::move(device)) {} | 13 : device_(std::move(device)) {} |
| 14 | 14 |
| 15 VideoCaptureDeviceProxyImpl::~VideoCaptureDeviceProxyImpl() = default; | 15 VideoCaptureDeviceProxyImpl::~VideoCaptureDeviceProxyImpl() = default; |
|
mcasas
2016/09/02 16:15:15
Hmm I wonder if we should call Stop() here
as well
chfremer
2016/09/02 17:44:32
Thanks for catching this. The VCD description says
| |
| 16 | 16 |
| 17 void VideoCaptureDeviceProxyImpl::Start( | 17 void VideoCaptureDeviceProxyImpl::Start( |
| 18 mojom::VideoCaptureFormatPtr requested_format, | 18 mojom::VideoCaptureFormatPtr requested_format, |
| 19 mojom::ResolutionChangePolicy resolution_change_policy, | 19 mojom::ResolutionChangePolicy resolution_change_policy, |
| 20 mojom::PowerLineFrequency power_line_frequency, | 20 mojom::PowerLineFrequency power_line_frequency, |
| 21 mojom::VideoCaptureDeviceClientPtr client) { | 21 mojom::VideoCaptureDeviceClientPtr client) { |
| 22 media::VideoCaptureParams params; | 22 media::VideoCaptureParams params; |
| 23 params.requested_format = ConvertFromMojoToMedia(std::move(requested_format)); | 23 params.requested_format = ConvertFromMojoToMedia(std::move(requested_format)); |
| 24 params.resolution_change_policy = | 24 params.resolution_change_policy = |
| 25 ConvertFromMojoToMedia(resolution_change_policy); | 25 ConvertFromMojoToMedia(resolution_change_policy); |
| 26 params.power_line_frequency = ConvertFromMojoToMedia(power_line_frequency); | 26 params.power_line_frequency = ConvertFromMojoToMedia(power_line_frequency); |
| 27 auto media_client = | 27 auto media_client = |
| 28 base::WrapUnique(new DeviceClientMojoToMediaAdapter(std::move(client))); | 28 base::WrapUnique(new DeviceClientMojoToMediaAdapter(std::move(client))); |
| 29 device_->AllocateAndStart(params, std::move(media_client)); | 29 device_->AllocateAndStart(params, std::move(media_client)); |
| 30 } | 30 } |
| 31 | 31 |
| 32 void VideoCaptureDeviceProxyImpl::Stop() { | |
| 33 device_->StopAndDeAllocate(); | |
| 34 } | |
| 35 | |
| 32 // static | 36 // static |
| 33 media::VideoCaptureFormat VideoCaptureDeviceProxyImpl::ConvertFromMojoToMedia( | 37 media::VideoCaptureFormat VideoCaptureDeviceProxyImpl::ConvertFromMojoToMedia( |
| 34 mojom::VideoCaptureFormatPtr format) { | 38 mojom::VideoCaptureFormatPtr format) { |
| 35 media::VideoCaptureFormat result; | 39 media::VideoCaptureFormat result; |
| 36 result.pixel_format = ConvertFromMojoToMedia(format->pixel_format); | 40 result.pixel_format = ConvertFromMojoToMedia(format->pixel_format); |
| 37 result.pixel_storage = ConvertFromMojoToMedia(format->pixel_storage); | 41 result.pixel_storage = ConvertFromMojoToMedia(format->pixel_storage); |
| 38 result.frame_size.SetSize(format->frame_size.width(), | 42 result.frame_size.SetSize(format->frame_size.width(), |
| 39 format->frame_size.height()); | 43 format->frame_size.height()); |
| 40 result.frame_rate = format->frame_rate; | 44 result.frame_rate = format->frame_rate; |
| 41 return result; | 45 return result; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 88 case mojom::PowerLineFrequency::HZ_50: | 92 case mojom::PowerLineFrequency::HZ_50: |
| 89 return media::PowerLineFrequency::FREQUENCY_50HZ; | 93 return media::PowerLineFrequency::FREQUENCY_50HZ; |
| 90 case mojom::PowerLineFrequency::HZ_60: | 94 case mojom::PowerLineFrequency::HZ_60: |
| 91 return media::PowerLineFrequency::FREQUENCY_60HZ; | 95 return media::PowerLineFrequency::FREQUENCY_60HZ; |
| 92 } | 96 } |
| 93 NOTREACHED(); | 97 NOTREACHED(); |
| 94 return media::PowerLineFrequency::FREQUENCY_DEFAULT; | 98 return media::PowerLineFrequency::FREQUENCY_DEFAULT; |
| 95 } | 99 } |
| 96 | 100 |
| 97 } // namespace video_capture | 101 } // namespace video_capture |
| OLD | NEW |