@@ -236,7 +236,7 @@ interface ConstrainDoubleRange extends DoubleRange {
236236 ideal?: number;
237237}
238238
239- interface ConstrainLongRange extends LongRange {
239+ interface ConstrainULongRange extends ULongRange {
240240 exact?: number;
241241 ideal?: number;
242242}
@@ -606,11 +606,6 @@ interface KeyframeEffectOptions extends EffectTiming {
606606 iterationComposite?: IterationCompositeOperation;
607607}
608608
609- interface LongRange {
610- max?: number;
611- min?: number;
612- }
613-
614609interface MediaElementAudioSourceOptions {
615610 mediaElement: HTMLMediaElement;
616611}
@@ -668,39 +663,45 @@ interface MediaStreamTrackAudioSourceOptions {
668663}
669664
670665interface MediaStreamTrackEventInit extends EventInit {
671- track? : MediaStreamTrack | null ;
666+ track: MediaStreamTrack;
672667}
673668
674669interface MediaTrackCapabilities {
675- aspectRatio?: number | DoubleRange;
670+ aspectRatio?: DoubleRange;
671+ autoGainControl?: boolean[];
672+ channelCount?: ULongRange;
676673 deviceId?: string;
677674 echoCancellation?: boolean[];
678- facingMode?: string;
679- frameRate?: number | DoubleRange;
675+ facingMode?: string[] ;
676+ frameRate?: DoubleRange;
680677 groupId?: string;
681- height?: number | LongRange;
682- sampleRate?: number | LongRange;
683- sampleSize?: number | LongRange;
684- volume?: number | DoubleRange;
685- width?: number | LongRange;
678+ height?: ULongRange;
679+ latency?: DoubleRange;
680+ noiseSuppression?: boolean[];
681+ resizeMode?: string[];
682+ sampleRate?: ULongRange;
683+ sampleSize?: ULongRange;
684+ volume?: DoubleRange;
685+ width?: ULongRange;
686686}
687687
688688interface MediaTrackConstraintSet {
689- aspectRatio?: number | ConstrainDoubleRange;
690- channelCount?: number | ConstrainLongRange;
691- deviceId?: string | string[] | ConstrainDOMStringParameters;
692- displaySurface?: string | string[] | ConstrainDOMStringParameters;
693- echoCancellation?: boolean | ConstrainBooleanParameters;
694- facingMode?: string | string[] | ConstrainDOMStringParameters;
695- frameRate?: number | ConstrainDoubleRange;
696- groupId?: string | string[] | ConstrainDOMStringParameters;
697- height?: number | ConstrainLongRange;
698- latency?: number | ConstrainDoubleRange;
699- logicalSurface?: boolean | ConstrainBooleanParameters;
700- sampleRate?: number | ConstrainLongRange;
701- sampleSize?: number | ConstrainLongRange;
702- volume?: number | ConstrainDoubleRange;
703- width?: number | ConstrainLongRange;
689+ aspectRatio?: ConstrainDouble;
690+ autoGainControl?: ConstrainBoolean;
691+ channelCount?: ConstrainULong;
692+ deviceId?: ConstrainDOMString;
693+ echoCancellation?: ConstrainBoolean;
694+ facingMode?: ConstrainDOMString;
695+ frameRate?: ConstrainDouble;
696+ groupId?: ConstrainDOMString;
697+ height?: ConstrainULong;
698+ latency?: ConstrainDouble;
699+ noiseSuppression?: ConstrainBoolean;
700+ resizeMode?: ConstrainDOMString;
701+ sampleRate?: ConstrainULong;
702+ sampleSize?: ConstrainULong;
703+ volume?: ConstrainDouble;
704+ width?: ConstrainULong;
704705}
705706
706707interface MediaTrackConstraints extends MediaTrackConstraintSet {
@@ -709,12 +710,17 @@ interface MediaTrackConstraints extends MediaTrackConstraintSet {
709710
710711interface MediaTrackSettings {
711712 aspectRatio?: number;
713+ autoGainControl?: boolean;
714+ channelCount?: number;
712715 deviceId?: string;
713716 echoCancellation?: boolean;
714717 facingMode?: string;
715718 frameRate?: number;
716719 groupId?: string;
717720 height?: number;
721+ latency?: number;
722+ noiseSuppression?: boolean;
723+ resizeMode?: string;
718724 sampleRate?: number;
719725 sampleSize?: number;
720726 volume?: number;
@@ -723,12 +729,17 @@ interface MediaTrackSettings {
723729
724730interface MediaTrackSupportedConstraints {
725731 aspectRatio?: boolean;
732+ autoGainControl?: boolean;
733+ channelCount?: boolean;
726734 deviceId?: boolean;
727735 echoCancellation?: boolean;
728736 facingMode?: boolean;
729737 frameRate?: boolean;
730738 groupId?: boolean;
731739 height?: boolean;
740+ latency?: boolean;
741+ noiseSuppression?: boolean;
742+ resizeMode?: boolean;
732743 sampleRate?: boolean;
733744 sampleSize?: boolean;
734745 volume?: boolean;
@@ -1576,6 +1587,11 @@ interface UIEventInit extends EventInit {
15761587 view?: Window | null;
15771588}
15781589
1590+ interface ULongRange {
1591+ max?: number;
1592+ min?: number;
1593+ }
1594+
15791595interface UnderlyingByteSource {
15801596 autoAllocateChunkSize?: number;
15811597 cancel?: ReadableStreamErrorCallback;
@@ -9421,6 +9437,15 @@ interface InnerHTML {
94219437 innerHTML: string;
94229438}
94239439
9440+ interface InputDeviceInfo extends MediaDeviceInfo {
9441+ getCapabilities(): MediaTrackCapabilities;
9442+ }
9443+
9444+ declare var InputDeviceInfo: {
9445+ prototype: InputDeviceInfo;
9446+ new(): InputDeviceInfo;
9447+ };
9448+
94249449/** provides a way to asynchronously observe changes in the intersection of a target element with an ancestor element or with a top-level document's viewport. */
94259450interface IntersectionObserver {
94269451 readonly root: Element | null;
@@ -9853,6 +9878,7 @@ interface MediaDeviceInfo {
98539878 readonly groupId: string;
98549879 readonly kind: MediaDeviceKind;
98559880 readonly label: string;
9881+ toJSON(): any;
98569882}
98579883
98589884declare var MediaDeviceInfo: {
@@ -9869,7 +9895,7 @@ interface MediaDevices extends EventTarget {
98699895 ondevicechange: ((this: MediaDevices, ev: Event) => any) | null;
98709896 enumerateDevices(): Promise<MediaDeviceInfo[]>;
98719897 getSupportedConstraints(): MediaTrackSupportedConstraints;
9872- getUserMedia(constraints: MediaStreamConstraints): Promise<MediaStream>;
9898+ getUserMedia(constraints? : MediaStreamConstraints): Promise<MediaStream>;
98739899 addEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
98749900 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
98759901 removeEventListener<K extends keyof MediaDevicesEventMap>(type: K, listener: (this: MediaDevices, ev: MediaDevicesEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -10081,19 +10107,15 @@ declare var MediaSource: {
1008110107};
1008210108
1008310109interface MediaStreamEventMap {
10084- "active": Event;
1008510110 "addtrack": MediaStreamTrackEvent;
10086- "inactive": Event;
1008710111 "removetrack": MediaStreamTrackEvent;
1008810112}
1008910113
1009010114/** A stream of media content. A stream consists of several tracks such as video or audio tracks. Each track is specified as an instance of MediaStreamTrack. */
1009110115interface MediaStream extends EventTarget {
1009210116 readonly active: boolean;
1009310117 readonly id: string;
10094- onactive: ((this: MediaStream, ev: Event) => any) | null;
1009510118 onaddtrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
10096- oninactive: ((this: MediaStream, ev: Event) => any) | null;
1009710119 onremovetrack: ((this: MediaStream, ev: MediaStreamTrackEvent) => any) | null;
1009810120 addTrack(track: MediaStreamTrack): void;
1009910121 clone(): MediaStream;
@@ -10102,7 +10124,6 @@ interface MediaStream extends EventTarget {
1010210124 getTracks(): MediaStreamTrack[];
1010310125 getVideoTracks(): MediaStreamTrack[];
1010410126 removeTrack(track: MediaStreamTrack): void;
10105- stop(): void;
1010610127 addEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1010710128 addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1010810129 removeEventListener<K extends keyof MediaStreamEventMap>(type: K, listener: (this: MediaStream, ev: MediaStreamEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
@@ -10166,7 +10187,7 @@ declare var MediaStreamEvent: {
1016610187};
1016710188
1016810189interface MediaStreamTrackEventMap {
10169- "ended": MediaStreamErrorEvent ;
10190+ "ended": Event ;
1017010191 "isolationchange": Event;
1017110192 "mute": Event;
1017210193 "overconstrained": MediaStreamErrorEvent;
@@ -10181,15 +10202,13 @@ interface MediaStreamTrack extends EventTarget {
1018110202 readonly kind: string;
1018210203 readonly label: string;
1018310204 readonly muted: boolean;
10184- onended: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent ) => any) | null;
10205+ onended: ((this: MediaStreamTrack, ev: Event ) => any) | null;
1018510206 onisolationchange: ((this: MediaStreamTrack, ev: Event) => any) | null;
1018610207 onmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
1018710208 onoverconstrained: ((this: MediaStreamTrack, ev: MediaStreamErrorEvent) => any) | null;
1018810209 onunmute: ((this: MediaStreamTrack, ev: Event) => any) | null;
10189- readonly readonly: boolean;
1019010210 readonly readyState: MediaStreamTrackState;
10191- readonly remote: boolean;
10192- applyConstraints(constraints: MediaTrackConstraints): Promise<void>;
10211+ applyConstraints(constraints?: MediaTrackConstraints): Promise<void>;
1019310212 clone(): MediaStreamTrack;
1019410213 getCapabilities(): MediaTrackCapabilities;
1019510214 getConstraints(): MediaTrackConstraints;
@@ -10221,7 +10240,7 @@ interface MediaStreamTrackEvent extends Event {
1022110240
1022210241declare var MediaStreamTrackEvent: {
1022310242 prototype: MediaStreamTrackEvent;
10224- new(typeArg : string, eventInitDict? : MediaStreamTrackEventInit): MediaStreamTrackEvent;
10243+ new(type : string, eventInitDict: MediaStreamTrackEventInit): MediaStreamTrackEvent;
1022510244};
1022610245
1022710246/** An interface of the Channel Messaging API allows us to create a new message channel and send data through it via its two MessagePort properties. */
@@ -10521,6 +10540,7 @@ interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils,
1052110540 gamepadInputEmulation: GamepadInputEmulationType;
1052210541 readonly geolocation: Geolocation;
1052310542 readonly maxTouchPoints: number;
10543+ readonly mediaDevices: MediaDevices;
1052410544 readonly mimeTypes: MimeTypeArray;
1052510545 readonly msManipulationViewsEnabled: boolean;
1052610546 readonly msMaxTouchPoints: number;
@@ -10531,6 +10551,7 @@ interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils,
1053110551 readonly serviceWorker: ServiceWorkerContainer;
1053210552 readonly webdriver: boolean;
1053310553 getGamepads(): (Gamepad | null)[];
10554+ getUserMedia(constraints: MediaStreamConstraints, successCallback: NavigatorUserMediaSuccessCallback, errorCallback: NavigatorUserMediaErrorCallback): void;
1053410555 getVRDisplays(): Promise<VRDisplay[]>;
1053510556 javaEnabled(): boolean;
1053610557 msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void;
@@ -10962,6 +10983,15 @@ declare var OscillatorNode: {
1096210983 new(context: BaseAudioContext, options?: OscillatorOptions): OscillatorNode;
1096310984};
1096410985
10986+ interface OverconstrainedError extends Error {
10987+ constraint: string;
10988+ }
10989+
10990+ declare var OverconstrainedError: {
10991+ prototype: OverconstrainedError;
10992+ new(): OverconstrainedError;
10993+ };
10994+
1096510995interface OverflowEvent extends UIEvent {
1096610996 readonly horizontalOverflow: boolean;
1096710997 readonly orient: number;
@@ -18444,6 +18474,10 @@ type ImageBitmapSource = CanvasImageSource | Blob | ImageData;
1844418474type OnErrorEventHandler = OnErrorEventHandlerNonNull | null;
1844518475type OnBeforeUnloadEventHandler = OnBeforeUnloadEventHandlerNonNull | null;
1844618476type TimerHandler = string | Function;
18477+ type ConstrainULong = number | ConstrainULongRange;
18478+ type ConstrainDouble = number | ConstrainDoubleRange;
18479+ type ConstrainBoolean = boolean | ConstrainBooleanParameters;
18480+ type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
1844718481type PerformanceEntryList = PerformanceEntry[];
1844818482type VibratePattern = number | number[];
1844918483type AlgorithmIdentifier = string | Algorithm;
@@ -18470,10 +18504,6 @@ type FormDataEntryValue = File | string;
1847018504type InsertPosition = "beforebegin" | "afterbegin" | "beforeend" | "afterend";
1847118505type IDBValidKey = number | string | Date | BufferSource | IDBArrayKey;
1847218506type MutationRecordType = "attributes" | "characterData" | "childList";
18473- type ConstrainBoolean = boolean | ConstrainBooleanParameters;
18474- type ConstrainDOMString = string | string[] | ConstrainDOMStringParameters;
18475- type ConstrainDouble = number | ConstrainDoubleRange;
18476- type ConstrainLong = number | ConstrainLongRange;
1847718507type IDBKeyPath = string;
1847818508type Transferable = ArrayBuffer | MessagePort | ImageBitmap;
1847918509type RTCIceGatherCandidate = RTCIceCandidateDictionary | RTCIceCandidateComplete;
0 commit comments