Skip to content

Commit

Permalink
Update mediacapture-main IDL file (web-platform-tests#9794)
Browse files Browse the repository at this point in the history
  • Loading branch information
lukebjerring authored Jun 19, 2018
1 parent 726bce7 commit 2052baf
Show file tree
Hide file tree
Showing 5 changed files with 194 additions and 185 deletions.
277 changes: 147 additions & 130 deletions interfaces/mediacapture-main.idl
Original file line number Diff line number Diff line change
@@ -1,39 +1,43 @@
// GENERATED CONTENT - DO NOT EDIT
// Content of this file was automatically extracted from the Media Capture and Streams spec.
// See https://w3c.github.io/mediacapture-main/

[Exposed=Window,
Constructor,
Constructor(MediaStream stream),
Constructor(sequence<MediaStreamTrack> tracks)]
Constructor (MediaStream stream),
Constructor (sequence<MediaStreamTrack> tracks)]
interface MediaStream : EventTarget {
readonly attribute DOMString id;
sequence<MediaStreamTrack> getAudioTracks();
sequence<MediaStreamTrack> getVideoTracks();
sequence<MediaStreamTrack> getTracks();
MediaStreamTrack? getTrackById(DOMString trackId);
void addTrack(MediaStreamTrack track);
void removeTrack(MediaStreamTrack track);
MediaStream clone();
readonly attribute boolean active;
attribute EventHandler onaddtrack;
attribute EventHandler onremovetrack;
readonly attribute DOMString id;
sequence<MediaStreamTrack> getAudioTracks ();
sequence<MediaStreamTrack> getVideoTracks ();
sequence<MediaStreamTrack> getTracks ();
MediaStreamTrack? getTrackById (DOMString trackId);
void addTrack (MediaStreamTrack track);
void removeTrack (MediaStreamTrack track);
MediaStream clone ();
readonly attribute boolean active;
attribute EventHandler onaddtrack;
attribute EventHandler onremovetrack;
};

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

enum MediaStreamTrackState {
Expand All @@ -42,71 +46,83 @@ enum MediaStreamTrackState {
};

dictionary MediaTrackSupportedConstraints {
boolean width = true;
boolean height = true;
boolean aspectRatio = true;
boolean frameRate = true;
boolean facingMode = true;
boolean volume = true;
boolean sampleRate = true;
boolean sampleSize = true;
boolean echoCancellation = true;
boolean latency = true;
boolean channelCount = true;
boolean deviceId = true;
boolean groupId = true;
boolean width = true;
boolean height = true;
boolean aspectRatio = true;
boolean frameRate = true;
boolean facingMode = true;
boolean resizeMode = true;
boolean volume = true;
boolean sampleRate = true;
boolean sampleSize = true;
boolean echoCancellation = true;
boolean autoGainControl = true;
boolean noiseSuppression = true;
boolean latency = true;
boolean channelCount = true;
boolean deviceId = true;
boolean groupId = true;
};

dictionary MediaTrackCapabilities {
LongRange width;
LongRange height;
DoubleRange aspectRatio;
DoubleRange frameRate;
sequence<DOMString> facingMode;
DoubleRange volume;
LongRange sampleRate;
LongRange sampleSize;
sequence<boolean> echoCancellation;
DoubleRange latency;
LongRange channelCount;
DOMString deviceId;
DOMString groupId;
};

dictionary MediaTrackConstraints : MediaTrackConstraintSet {
sequence<MediaTrackConstraintSet> advanced;
ULongRange width;
ULongRange height;
DoubleRange aspectRatio;
DoubleRange frameRate;
sequence<DOMString> facingMode;
sequence<DOMString> resizeMode;
DoubleRange volume;
ULongRange sampleRate;
ULongRange sampleSize;
sequence<boolean> echoCancellation;
sequence<boolean> autoGainControl;
sequence<boolean> noiseSuppression;
DoubleRange latency;
ULongRange channelCount;
DOMString deviceId;
DOMString groupId;
};

dictionary MediaTrackConstraints : MediaTrackConstraintSet {
sequence<MediaTrackConstraintSet> advanced;
};

dictionary MediaTrackConstraintSet {
ConstrainLong width;
ConstrainLong height;
ConstrainDouble aspectRatio;
ConstrainDouble frameRate;
ConstrainDOMString facingMode;
ConstrainDouble volume;
ConstrainLong sampleRate;
ConstrainLong sampleSize;
ConstrainBoolean echoCancellation;
ConstrainDouble latency;
ConstrainLong channelCount;
ConstrainDOMString deviceId;
ConstrainDOMString groupId;
ConstrainULong width;
ConstrainULong height;
ConstrainDouble aspectRatio;
ConstrainDouble frameRate;
ConstrainDOMString facingMode;
ConstrainDOMString resizeMode;
ConstrainDouble volume;
ConstrainULong sampleRate;
ConstrainULong sampleSize;
ConstrainBoolean echoCancellation;
ConstrainBoolean autoGainControl;
ConstrainBoolean noiseSuppression;
ConstrainDouble latency;
ConstrainULong channelCount;
ConstrainDOMString deviceId;
ConstrainDOMString groupId;
};

dictionary MediaTrackSettings {
long width;
long height;
double aspectRatio;
double frameRate;
DOMString facingMode;
double volume;
long sampleRate;
long sampleSize;
boolean echoCancellation;
double latency;
long channelCount;
DOMString deviceId;
DOMString groupId;
long width;
long height;
double aspectRatio;
double frameRate;
DOMString facingMode;
DOMString resizeMode;
double volume;
long sampleRate;
long sampleSize;
boolean echoCancellation;
boolean autoGainControl;
boolean noiseSuppression;
double latency;
long channelCount;
DOMString deviceId;
DOMString groupId;
};

enum VideoFacingModeEnum {
Expand All @@ -116,48 +132,52 @@ enum VideoFacingModeEnum {
"right"
};

enum VideoResizeModeEnum {
"none",
"crop-and-scale"
};

[Exposed=Window,
Constructor(DOMString type, MediaStreamTrackEventInit eventInitDict)]
Constructor (DOMString type, MediaStreamTrackEventInit eventInitDict)]
interface MediaStreamTrackEvent : Event {
[SameObject]
readonly attribute MediaStreamTrack track;
readonly attribute MediaStreamTrack track;
};

dictionary MediaStreamTrackEventInit : EventInit {
required MediaStreamTrack track;
};

[Exposed=Window,
Constructor(DOMString type, OverconstrainedErrorEventInit eventInitDict)]
Constructor (DOMString type, OverconstrainedErrorEventInit eventInitDict)]
interface OverconstrainedErrorEvent : Event {
readonly attribute OverconstrainedError? error;
readonly attribute OverconstrainedError? error;
};

dictionary OverconstrainedErrorEventInit : EventInit {
OverconstrainedError? error = null;
OverconstrainedError? error = null;
};

[Exposed=Window,
NoInterfaceObject]
[Exposed=Window, NoInterfaceObject]
interface NavigatorUserMedia {
[SameObject]
readonly attribute MediaDevices mediaDevices;
readonly attribute MediaDevices mediaDevices;
};

Navigator implements NavigatorUserMedia;

[Exposed=Window]
interface MediaDevices : EventTarget {
attribute EventHandler ondevicechange;
Promise<sequence<MediaDeviceInfo>> enumerateDevices();
attribute EventHandler ondevicechange;
Promise<sequence<MediaDeviceInfo>> enumerateDevices ();
};

[Exposed=Window]
interface MediaDeviceInfo {
readonly attribute DOMString deviceId;
readonly attribute MediaDeviceKind kind;
readonly attribute DOMString label;
readonly attribute DOMString groupId;
readonly attribute DOMString deviceId;
readonly attribute MediaDeviceKind kind;
readonly attribute DOMString label;
readonly attribute DOMString groupId;
[Default] object toJSON();
};

Expand All @@ -167,25 +187,22 @@ enum MediaDeviceKind {
"videoinput"
};

[Exposed=Window]
interface InputDeviceInfo : MediaDeviceInfo {
MediaTrackCapabilities getCapabilities();
[Exposed=Window] interface InputDeviceInfo : MediaDeviceInfo {
MediaTrackCapabilities getCapabilities ();
};

partial interface NavigatorUserMedia {
void getUserMedia(MediaStreamConstraints constraints,
NavigatorUserMediaSuccessCallback successCallback,
NavigatorUserMediaErrorCallback errorCallback);
void getUserMedia (MediaStreamConstraints constraints, NavigatorUserMediaSuccessCallback successCallback, NavigatorUserMediaErrorCallback errorCallback);
};

partial interface MediaDevices {
MediaTrackSupportedConstraints getSupportedConstraints();
Promise<MediaStream> getUserMedia(optional MediaStreamConstraints constraints);
MediaTrackSupportedConstraints getSupportedConstraints ();
Promise<MediaStream> getUserMedia (optional MediaStreamConstraints constraints);
};

dictionary MediaStreamConstraints {
(boolean or MediaTrackConstraints) video = false;
(boolean or MediaTrackConstraints) audio = false;
(boolean or MediaTrackConstraints) video = false;
(boolean or MediaTrackConstraints) audio = false;
};

callback NavigatorUserMediaSuccessCallback = void (MediaStream stream);
Expand All @@ -196,44 +213,44 @@ typedef object MediaStreamError;

[NoInterfaceObject]
interface ConstrainablePattern {
Capabilities getCapabilities();
Constraints getConstraints();
Settings getSettings();
Promise<void> applyConstraints(optional Constraints constraints);
attribute EventHandler onoverconstrained;
Capabilities getCapabilities ();
Constraints getConstraints ();
Settings getSettings ();
Promise<void> applyConstraints (optional Constraints constraints);
attribute EventHandler onoverconstrained;
};

dictionary DoubleRange {
double max;
double min;
double max;
double min;
};

dictionary ConstrainDoubleRange : DoubleRange {
double exact;
double ideal;
double exact;
double ideal;
};

dictionary LongRange {
long max;
long min;
dictionary ULongRange {
[Clamp] unsigned long max;
[Clamp] unsigned long min;
};

dictionary ConstrainLongRange : LongRange {
long exact;
long ideal;
dictionary ConstrainULongRange : ULongRange {
[Clamp] unsigned long exact;
[Clamp] unsigned long ideal;
};

dictionary ConstrainBooleanParameters {
boolean exact;
boolean ideal;
boolean exact;
boolean ideal;
};

dictionary ConstrainDOMStringParameters {
(DOMString or sequence<DOMString>) exact;
(DOMString or sequence<DOMString>) ideal;
(DOMString or sequence<DOMString>) exact;
(DOMString or sequence<DOMString>) ideal;
};

typedef (long or ConstrainLongRange) ConstrainLong;
typedef ([Clamp] unsigned long or ConstrainULongRange) ConstrainULong;

typedef (double or ConstrainDoubleRange) ConstrainDouble;

Expand All @@ -251,5 +268,5 @@ dictionary ConstraintSet {
};

dictionary Constraints : ConstraintSet {
sequence<ConstraintSet> advanced;
sequence<ConstraintSet> advanced;
};
Loading

0 comments on commit 2052baf

Please sign in to comment.