| // 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 "mojom/video_capture_types.mojom"; |
| import "mojom/image_capture.mojom"; |
| import "mojom/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); |
| }; |