// 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& 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(num_video_capture_formats_); *formats = video_capture_formats_.get(); } } // namespace proxy } // namespace ppapi