blob: 10b03968a24d973a20309b2e1d17ec986f37dfe2 [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 "mojom/video_capture_types.mojom";
import "mojom/image_capture.mojom";
import "mojom/video_frame_handler.mojom";
// Represents access to a video capture device available on the machine. The
// device is stopped automatically when the message pipe corresponding to either
// the Device or the given |handler| is closed. Note that as a response to
// stopping the device, the service may still need to send out events such as
// VideoFrameHandler.OnBufferRetired() to |handler|. The service will send a
// final event VideoFrameHandler.OnStopped() to indicate that stopping has
// completed and no further events are going to be sent to |handler|.
interface Device {
Start(media.mojom.VideoCaptureParams requested_settings,
pending_remote<VideoFrameHandler> handler);
=> (media.mojom.PhotoState? capabilities);
SetPhotoOptions(media.mojom.PhotoSettings settings)
=> (bool success);
=> (media.mojom.Blob? blob);