// https://w3c.github.io/mediacapture-main/#mediastreamtrack

enum MediaStreamTrackState { "live", "ended" };
enum MediaStreamTrackKind { "audio", "video" };

[Exposed=Window]
interface MediaStreamTrack : EventTarget {
    readonly attribute MediaStreamTrackKind kind;
    readonly attribute DOMString id;
    readonly attribute DOMString label;
    attribute boolean enabled;
    readonly attribute boolean muted;
    readonly attribute MediaStreamTrackState readyState;
    undefined stop();
    MediaTrackCapabilities getCapabilities();
    MediaTrackConstraints getConstraints();
    MediaTrackSettings getSettings();
    Promise<undefined> applyConstraints(optional MediaTrackConstraints constraints = {});
};
