1 module libwasm.bindings.MediaStream; 2 3 import libwasm.types; 4 5 import memutils.ct: tuple; 6 import libwasm.bindings.EventHandler; 7 import libwasm.bindings.EventTarget; 8 import libwasm.bindings.MediaStreamTrack; 9 10 @safe: 11 nothrow: 12 13 struct DisplayMediaStreamConstraints { 14 nothrow: 15 JsHandle handle; 16 alias handle this; 17 this(Handle h) { 18 this.handle = JsHandle(h); 19 } 20 static auto create() { 21 return DisplayMediaStreamConstraints(libwasm_add__object()); 22 } 23 void video()(scope ref SumType!(bool, MediaTrackConstraints) video) { 24 Serialize_Object_VarArgCall!void(this.handle, "video", "SumType!(bool,Handle)", tuple(libwasm.sumtype.match!(((bool v) => 0),((ref video.Types[1] v) => 1))(video),tuple(libwasm.sumtype.match!(((bool v) => v),((ref video.Types[1] v) => bool.init))(video),libwasm.sumtype.match!(((bool v) => Handle.init),((ref video.Types[1] v) => cast(Handle)v.handle))(video)))); 25 } 26 auto video()() { 27 return Object_Getter__Handle(this.handle, "video"); 28 } 29 void audio()(scope ref SumType!(bool, MediaTrackConstraints) audio) { 30 Serialize_Object_VarArgCall!void(this.handle, "audio", "SumType!(bool,Handle)", tuple(libwasm.sumtype.match!(((bool v) => 0),((ref audio.Types[1] v) => 1))(audio),tuple(libwasm.sumtype.match!(((bool v) => v),((ref audio.Types[1] v) => bool.init))(audio),libwasm.sumtype.match!(((bool v) => Handle.init),((ref audio.Types[1] v) => cast(Handle)v.handle))(audio)))); 31 } 32 auto audio()() { 33 return Object_Getter__Handle(this.handle, "audio"); 34 } 35 } 36 struct MediaStream { 37 nothrow: 38 libwasm.bindings.EventTarget.EventTarget _parent; 39 alias _parent this; 40 this(Handle h) { 41 _parent = .EventTarget(h); 42 } 43 string id()() { 44 return Object_Getter__string(this._parent, "id"); 45 } 46 auto getAudioTracks()() { 47 return Sequence!(MediaStreamTrack)(Object_Getter__Handle(this._parent, "getAudioTracks")); 48 } 49 auto getVideoTracks()() { 50 return Sequence!(MediaStreamTrack)(Object_Getter__Handle(this._parent, "getVideoTracks")); 51 } 52 auto getTracks()() { 53 return Sequence!(MediaStreamTrack)(Object_Getter__Handle(this._parent, "getTracks")); 54 } 55 auto getTrackById()(string trackId) { 56 return recastOpt!(MediaStreamTrack)(Object_Call_string__OptionalHandle(this._parent, "getTrackById", trackId)); 57 } 58 void addTrack()(scope ref MediaStreamTrack track) { 59 Object_Call_Handle__void(this._parent, "addTrack", track._parent); 60 } 61 void removeTrack()(scope ref MediaStreamTrack track) { 62 Object_Call_Handle__void(this._parent, "removeTrack", track._parent); 63 } 64 auto clone()() { 65 return MediaStream(Object_Getter__Handle(this._parent, "clone")); 66 } 67 bool active()() { 68 return Object_Getter__bool(this._parent, "active"); 69 } 70 void onaddtrack(T0)(scope auto ref Optional!(T0) onaddtrack) if (isTOrPointer!(T0, EventHandlerNonNull)) { 71 Object_Call_EventHandler__void(this._parent, "onaddtrack", !onaddtrack.empty, onaddtrack.front); 72 } 73 EventHandler onaddtrack()() { 74 return Object_Getter__EventHandler(this._parent, "onaddtrack"); 75 } 76 void onremovetrack(T0)(scope auto ref Optional!(T0) onremovetrack) if (isTOrPointer!(T0, EventHandlerNonNull)) { 77 Object_Call_EventHandler__void(this._parent, "onremovetrack", !onremovetrack.empty, onremovetrack.front); 78 } 79 EventHandler onremovetrack()() { 80 return Object_Getter__EventHandler(this._parent, "onremovetrack"); 81 } 82 auto countUnderlyingStreams()() { 83 return JsPromise!(int)(Object_Getter__Handle(this._parent, "countUnderlyingStreams")); 84 } 85 void assignId()(string id) { 86 Object_Call_string__void(this._parent, "assignId", id); 87 } 88 } 89 struct MediaStreamConstraints { 90 nothrow: 91 JsHandle handle; 92 alias handle this; 93 this(Handle h) { 94 this.handle = JsHandle(h); 95 } 96 static auto create() { 97 return MediaStreamConstraints(libwasm_add__object()); 98 } 99 void audio()(scope ref SumType!(bool, MediaTrackConstraints) audio) { 100 Serialize_Object_VarArgCall!void(this.handle, "audio", "SumType!(bool,Handle)", tuple(libwasm.sumtype.match!(((bool v) => 0),((ref audio.Types[1] v) => 1))(audio),tuple(libwasm.sumtype.match!(((bool v) => v),((ref audio.Types[1] v) => bool.init))(audio),libwasm.sumtype.match!(((bool v) => Handle.init),((ref audio.Types[1] v) => cast(Handle)v.handle))(audio)))); 101 } 102 auto audio()() { 103 return Object_Getter__Handle(this.handle, "audio"); 104 } 105 void video()(scope ref SumType!(bool, MediaTrackConstraints) video) { 106 Serialize_Object_VarArgCall!void(this.handle, "video", "SumType!(bool,Handle)", tuple(libwasm.sumtype.match!(((bool v) => 0),((ref video.Types[1] v) => 1))(video),tuple(libwasm.sumtype.match!(((bool v) => v),((ref video.Types[1] v) => bool.init))(video),libwasm.sumtype.match!(((bool v) => Handle.init),((ref video.Types[1] v) => cast(Handle)v.handle))(video)))); 107 } 108 auto video()() { 109 return Object_Getter__Handle(this.handle, "video"); 110 } 111 void picture()(bool picture) { 112 Object_Call_bool__void(this.handle, "picture", picture); 113 } 114 bool picture()() { 115 return Object_Getter__bool(this.handle, "picture"); 116 } 117 void fake()(bool fake) { 118 Object_Call_bool__void(this.handle, "fake", fake); 119 } 120 bool fake()() { 121 return Object_Getter__bool(this.handle, "fake"); 122 } 123 void peerIdentity(T0)(scope auto ref Optional!(T0) peerIdentity) if (isTOrPointer!(T0, string)) { 124 Serialize_Object_VarArgCall!void(this.handle, "peerIdentity", "Optional!(string)", tuple(!peerIdentity.empty, peerIdentity.front)); 125 } 126 Optional!(string) peerIdentity()() { 127 return Object_Getter__OptionalString(this.handle, "peerIdentity"); 128 } 129 } 130 131