// Copyright 2016 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. module video_capture.mojom; import "media/capture/mojo/video_capture_types.mojom"; import "media/capture/mojo/image_capture.mojom"; import "services/video_capture/public/interfaces/receiver.mojom"; // Represents access to a video capture device available on the machine. // Note: Instead of offering an explicit Stop() method, the device // is stopped automatically when the message pipe corresponding to either the // Device or the given |receiver| is closed. interface Device { Start(media.mojom.VideoCaptureParams requested_settings, Receiver receiver); OnReceiverReportingUtilization(int32 frame_feedback_id, double utilization); RequestRefreshFrame(); MaybeSuspend(); Resume(); GetPhotoState() => (media.mojom.PhotoState? capabilities); SetPhotoOptions(media.mojom.PhotoSettings settings) => (bool success); TakePhoto() => (media.mojom.Blob? blob); };