| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/logging.h" |
| #include "base/numerics/safe_conversions.h" |
| #include "ppapi/proxy/camera_capabilities_resource.h" |
| |
| namespace ppapi { |
| namespace proxy { |
| |
| CameraCapabilitiesResource::CameraCapabilitiesResource( |
| PP_Instance instance, |
| const std::vector<PP_VideoCaptureFormat>& formats) |
| : Resource(OBJECT_IS_PROXY, instance), |
| num_video_capture_formats_(formats.size()), |
| video_capture_formats_( |
| new PP_VideoCaptureFormat[num_video_capture_formats_]) { |
| std::copy(formats.begin(), formats.end(), video_capture_formats_.get()); |
| } |
| |
| CameraCapabilitiesResource::~CameraCapabilitiesResource() { |
| } |
| |
| thunk::PPB_CameraCapabilities_API* |
| CameraCapabilitiesResource::AsPPB_CameraCapabilities_API() { |
| return this; |
| } |
| |
| void CameraCapabilitiesResource::GetSupportedVideoCaptureFormats( |
| uint32_t* array_size, |
| PP_VideoCaptureFormat** formats) { |
| *array_size = base::checked_cast<uint32_t>(num_video_capture_formats_); |
| *formats = video_capture_formats_.get(); |
| } |
| |
| } // namespace proxy |
| } // namespace ppapi |