Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: services/video_capture/video_capture_device_proxy_impl.cc

Issue 2244773002: Video Capture Mojo (1.4c): Handle Subsequent Access (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@FillServicePart2
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698