| // 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 |