blob: 0e8ea396fe916da76ce7eda56d1cc36e881f1d36 [file] [log] [blame]
// 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);
};