// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into reffy-reports
// (https://github.com/tidoust/reffy-reports)
// Source: Media Capture from DOM Elements (https://w3c.github.io/mediacapture-fromelement/)

partial interface HTMLMediaElement {
    MediaStream captureStream ();
};

partial interface HTMLCanvasElement {
    MediaStream captureStream (optional double frameRequestRate);
};

[Exposed=Window] interface CanvasCaptureMediaStreamTrack : MediaStreamTrack {
    readonly        attribute HTMLCanvasElement canvas;
    void requestFrame ();
};
