blob: 73382b208d63100694fd78ea3a52def829194ded [file]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// API docs from [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web).
// Attributions and copyright licensing by Mozilla Contributors is licensed
// under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/.
// Generated from Web IDL definitions.
// ignore_for_file: unintended_html_in_doc_comment
@JS()
library;
import 'dart:js_interop';
import 'html.dart';
import 'mediacapture_streams.dart';
/// The **`CanvasCaptureMediaStreamTrack`** interface of the
/// [Media Capture and Streams API] represents the video track contained in a
/// [MediaStream] being generated from a `canvas` following a call to
/// [HTMLCanvasElement.captureStream].
///
/// ---
///
/// API documentation sourced from
/// [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/CanvasCaptureMediaStreamTrack).
extension type CanvasCaptureMediaStreamTrack._(JSObject _)
implements MediaStreamTrack, JSObject {
/// The **`requestFrame()`** method of the [CanvasCaptureMediaStreamTrack]
/// interface requests that a frame be captured from the canvas and sent to
/// the stream.
///
/// Applications that need to carefully control
/// the timing of rendering and frame capture can use `requestFrame()` to
/// directly specify when it's time to capture a frame.
///
/// To prevent automatic capture of frames, so that frames are only captured
/// when
/// `requestFrame()` is called, specify a value of 0 for the
/// [HTMLCanvasElement.captureStream] method when creating
/// the stream.
external void requestFrame();
/// The **`canvas`** read-only property of the [CanvasCaptureMediaStreamTrack]
/// interface returns the [HTMLCanvasElement] from which frames are being
/// captured.
external HTMLCanvasElement get canvas;
}