@unwanted/matrix-sdk-mini 34.12.0-1 → 34.12.0-2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (185) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +0 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js.map +1 -1
  5. package/lib/client.d.ts +2 -50
  6. package/lib/client.d.ts.map +1 -1
  7. package/lib/client.js +391 -501
  8. package/lib/client.js.map +1 -1
  9. package/lib/embedded.d.ts.map +1 -1
  10. package/lib/embedded.js +0 -1
  11. package/lib/embedded.js.map +1 -1
  12. package/lib/matrix.d.ts +0 -6
  13. package/lib/matrix.d.ts.map +1 -1
  14. package/lib/matrix.js +1 -5
  15. package/lib/matrix.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/@types/event.ts +2 -36
  18. package/src/client.ts +1 -150
  19. package/src/embedded.ts +0 -2
  20. package/src/matrix.ts +0 -13
  21. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  22. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  23. package/lib/matrixrtc/CallMembership.js +0 -197
  24. package/lib/matrixrtc/CallMembership.js.map +0 -1
  25. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  26. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  27. package/lib/matrixrtc/LivekitFocus.js +0 -20
  28. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  29. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  30. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  31. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  32. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  33. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  34. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  35. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  36. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  37. package/lib/matrixrtc/focus.d.ts +0 -10
  38. package/lib/matrixrtc/focus.d.ts.map +0 -1
  39. package/lib/matrixrtc/focus.js +0 -1
  40. package/lib/matrixrtc/focus.js.map +0 -1
  41. package/lib/matrixrtc/index.d.ts +0 -7
  42. package/lib/matrixrtc/index.d.ts.map +0 -1
  43. package/lib/matrixrtc/index.js +0 -21
  44. package/lib/matrixrtc/index.js.map +0 -1
  45. package/lib/matrixrtc/types.d.ts +0 -19
  46. package/lib/matrixrtc/types.d.ts.map +0 -1
  47. package/lib/matrixrtc/types.js +0 -1
  48. package/lib/matrixrtc/types.js.map +0 -1
  49. package/lib/webrtc/audioContext.d.ts +0 -15
  50. package/lib/webrtc/audioContext.d.ts.map +0 -1
  51. package/lib/webrtc/audioContext.js +0 -46
  52. package/lib/webrtc/audioContext.js.map +0 -1
  53. package/lib/webrtc/call.d.ts +0 -560
  54. package/lib/webrtc/call.d.ts.map +0 -1
  55. package/lib/webrtc/call.js +0 -2541
  56. package/lib/webrtc/call.js.map +0 -1
  57. package/lib/webrtc/callEventHandler.d.ts +0 -37
  58. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  59. package/lib/webrtc/callEventHandler.js +0 -344
  60. package/lib/webrtc/callEventHandler.js.map +0 -1
  61. package/lib/webrtc/callEventTypes.d.ts +0 -73
  62. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  63. package/lib/webrtc/callEventTypes.js +0 -13
  64. package/lib/webrtc/callEventTypes.js.map +0 -1
  65. package/lib/webrtc/callFeed.d.ts +0 -128
  66. package/lib/webrtc/callFeed.d.ts.map +0 -1
  67. package/lib/webrtc/callFeed.js +0 -289
  68. package/lib/webrtc/callFeed.js.map +0 -1
  69. package/lib/webrtc/groupCall.d.ts +0 -323
  70. package/lib/webrtc/groupCall.d.ts.map +0 -1
  71. package/lib/webrtc/groupCall.js +0 -1337
  72. package/lib/webrtc/groupCall.js.map +0 -1
  73. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  74. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  75. package/lib/webrtc/groupCallEventHandler.js +0 -178
  76. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  77. package/lib/webrtc/mediaHandler.d.ts +0 -89
  78. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  79. package/lib/webrtc/mediaHandler.js +0 -437
  80. package/lib/webrtc/mediaHandler.js.map +0 -1
  81. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  82. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  83. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  84. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  85. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  86. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  87. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  88. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  89. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  90. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  91. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  92. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  93. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  94. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  95. package/lib/webrtc/stats/connectionStats.js +0 -26
  96. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  97. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  98. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  99. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  100. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  101. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  102. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  103. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  104. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  105. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  106. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  107. package/lib/webrtc/stats/groupCallStats.js +0 -78
  108. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  109. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  110. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  111. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  112. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  113. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  114. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  115. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  116. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  117. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  118. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  119. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  120. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  121. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  122. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  123. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  124. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  125. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  126. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  127. package/lib/webrtc/stats/statsReport.js +0 -32
  128. package/lib/webrtc/stats/statsReport.js.map +0 -1
  129. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  130. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  131. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  132. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  133. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  134. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  135. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  136. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  137. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  138. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  139. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  140. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  141. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  142. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  143. package/lib/webrtc/stats/transportStats.js +0 -1
  144. package/lib/webrtc/stats/transportStats.js.map +0 -1
  145. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  146. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  147. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  148. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  149. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  150. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  151. package/lib/webrtc/stats/valueFormatter.js +0 -25
  152. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  153. package/src/matrixrtc/CallMembership.ts +0 -247
  154. package/src/matrixrtc/LivekitFocus.ts +0 -39
  155. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  156. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  157. package/src/matrixrtc/focus.ts +0 -25
  158. package/src/matrixrtc/index.ts +0 -22
  159. package/src/matrixrtc/types.ts +0 -36
  160. package/src/webrtc/audioContext.ts +0 -44
  161. package/src/webrtc/call.ts +0 -3074
  162. package/src/webrtc/callEventHandler.ts +0 -425
  163. package/src/webrtc/callEventTypes.ts +0 -93
  164. package/src/webrtc/callFeed.ts +0 -364
  165. package/src/webrtc/groupCall.ts +0 -1735
  166. package/src/webrtc/groupCallEventHandler.ts +0 -234
  167. package/src/webrtc/mediaHandler.ts +0 -484
  168. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  169. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  170. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  171. package/src/webrtc/stats/connectionStats.ts +0 -47
  172. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  173. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  174. package/src/webrtc/stats/groupCallStats.ts +0 -93
  175. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  176. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  177. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  178. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  179. package/src/webrtc/stats/statsReport.ts +0 -133
  180. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  181. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  182. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  183. package/src/webrtc/stats/transportStats.ts +0 -26
  184. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  185. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,46 +0,0 @@
1
- /*
2
- Copyright 2022 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- var audioContext = null;
18
- var refCount = 0;
19
-
20
- /**
21
- * Acquires a reference to the shared AudioContext.
22
- * It's highly recommended to reuse this AudioContext rather than creating your
23
- * own, because multiple AudioContexts can be problematic in some browsers.
24
- * Make sure to call releaseContext when you're done using it.
25
- * @returns The shared AudioContext
26
- */
27
- export var acquireContext = () => {
28
- if (audioContext === null) audioContext = new AudioContext();
29
- refCount++;
30
- return audioContext;
31
- };
32
-
33
- /**
34
- * Signals that one of the references to the shared AudioContext has been
35
- * released, allowing the context and associated hardware resources to be
36
- * cleaned up if nothing else is using it.
37
- */
38
- export var releaseContext = () => {
39
- refCount--;
40
- if (refCount === 0) {
41
- var _audioContext;
42
- (_audioContext = audioContext) === null || _audioContext === void 0 || _audioContext.close();
43
- audioContext = null;
44
- }
45
- };
46
- //# sourceMappingURL=audioContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audioContext.js","names":["audioContext","refCount","acquireContext","AudioContext","releaseContext","_audioContext","close"],"sources":["../../src/webrtc/audioContext.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nlet audioContext: AudioContext | null = null;\nlet refCount = 0;\n\n/**\n * Acquires a reference to the shared AudioContext.\n * It's highly recommended to reuse this AudioContext rather than creating your\n * own, because multiple AudioContexts can be problematic in some browsers.\n * Make sure to call releaseContext when you're done using it.\n * @returns The shared AudioContext\n */\nexport const acquireContext = (): AudioContext => {\n if (audioContext === null) audioContext = new AudioContext();\n refCount++;\n return audioContext;\n};\n\n/**\n * Signals that one of the references to the shared AudioContext has been\n * released, allowing the context and associated hardware resources to be\n * cleaned up if nothing else is using it.\n */\nexport const releaseContext = (): void => {\n refCount--;\n if (refCount === 0) {\n audioContext?.close();\n audioContext = null;\n }\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAIA,YAAiC,GAAG,IAAI;AAC5C,IAAIC,QAAQ,GAAG,CAAC;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,cAAc,GAAGA,CAAA,KAAoB;EAC9C,IAAIF,YAAY,KAAK,IAAI,EAAEA,YAAY,GAAG,IAAIG,YAAY,CAAC,CAAC;EAC5DF,QAAQ,EAAE;EACV,OAAOD,YAAY;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMI,cAAc,GAAGA,CAAA,KAAY;EACtCH,QAAQ,EAAE;EACV,IAAIA,QAAQ,KAAK,CAAC,EAAE;IAAA,IAAAI,aAAA;IAChB,CAAAA,aAAA,GAAAL,YAAY,cAAAK,aAAA,eAAZA,aAAA,CAAcC,KAAK,CAAC,CAAC;IACrBN,YAAY,GAAG,IAAI;EACvB;AACJ,CAAC","ignoreList":[]}
@@ -1,560 +0,0 @@
1
- import { MatrixEvent } from "../models/event.ts";
2
- import { EventType, TimelineEvents } from "../@types/event.ts";
3
- import { RoomMember } from "../models/room-member.ts";
4
- import { MCallAnswer, MCallHangupReject } from "./callEventTypes.ts";
5
- import { CallFeed } from "./callFeed.ts";
6
- import { MatrixClient } from "../client.ts";
7
- import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
8
- import { IScreensharingOpts } from "./mediaHandler.ts";
9
- import { GroupCallStats } from "./stats/groupCallStats.ts";
10
- interface CallOpts {
11
- roomId: string;
12
- invitee?: string;
13
- client: MatrixClient;
14
- /**
15
- * Whether relay through TURN should be forced.
16
- * @deprecated use opts.forceTURN when creating the matrix client
17
- * since it's only possible to set this option on outbound calls.
18
- */
19
- forceTURN?: boolean;
20
- turnServers?: Array<TurnServer>;
21
- opponentDeviceId?: string;
22
- opponentSessionId?: string;
23
- groupCallId?: string;
24
- }
25
- interface TurnServer {
26
- urls: Array<string>;
27
- username?: string;
28
- password?: string;
29
- ttl?: number;
30
- }
31
- interface AssertedIdentity {
32
- id: string;
33
- displayName: string;
34
- }
35
- export declare enum CallState {
36
- Fledgling = "fledgling",
37
- InviteSent = "invite_sent",
38
- WaitLocalMedia = "wait_local_media",
39
- CreateOffer = "create_offer",
40
- CreateAnswer = "create_answer",
41
- Connecting = "connecting",
42
- Connected = "connected",
43
- Ringing = "ringing",
44
- Ended = "ended"
45
- }
46
- export declare enum CallType {
47
- Voice = "voice",
48
- Video = "video"
49
- }
50
- export declare enum CallDirection {
51
- Inbound = "inbound",
52
- Outbound = "outbound"
53
- }
54
- export declare enum CallParty {
55
- Local = "local",
56
- Remote = "remote"
57
- }
58
- export declare enum CallEvent {
59
- Hangup = "hangup",
60
- State = "state",
61
- Error = "error",
62
- Replaced = "replaced",
63
- LocalHoldUnhold = "local_hold_unhold",
64
- RemoteHoldUnhold = "remote_hold_unhold",
65
- HoldUnhold = "hold_unhold",
66
- FeedsChanged = "feeds_changed",
67
- AssertedIdentityChanged = "asserted_identity_changed",
68
- LengthChanged = "length_changed",
69
- DataChannel = "datachannel",
70
- SendVoipEvent = "send_voip_event",
71
- PeerConnectionCreated = "peer_connection_created"
72
- }
73
- export declare enum CallErrorCode {
74
- /** The user chose to end the call */
75
- UserHangup = "user_hangup",
76
- /** An error code when the local client failed to create an offer. */
77
- LocalOfferFailed = "local_offer_failed",
78
- /**
79
- * An error code when there is no local mic/camera to use. This may be because
80
- * the hardware isn't plugged in, or the user has explicitly denied access.
81
- */
82
- NoUserMedia = "no_user_media",
83
- /**
84
- * Error code used when a call event failed to send
85
- * because unknown devices were present in the room
86
- */
87
- UnknownDevices = "unknown_devices",
88
- /**
89
- * Error code used when we fail to send the invite
90
- * for some reason other than there being unknown devices
91
- */
92
- SendInvite = "send_invite",
93
- /**
94
- * An answer could not be created
95
- */
96
- CreateAnswer = "create_answer",
97
- /**
98
- * An offer could not be created
99
- */
100
- CreateOffer = "create_offer",
101
- /**
102
- * Error code used when we fail to send the answer
103
- * for some reason other than there being unknown devices
104
- */
105
- SendAnswer = "send_answer",
106
- /**
107
- * The session description from the other side could not be set
108
- */
109
- SetRemoteDescription = "set_remote_description",
110
- /**
111
- * The session description from this side could not be set
112
- */
113
- SetLocalDescription = "set_local_description",
114
- /**
115
- * A different device answered the call
116
- */
117
- AnsweredElsewhere = "answered_elsewhere",
118
- /**
119
- * No media connection could be established to the other party
120
- */
121
- IceFailed = "ice_failed",
122
- /**
123
- * The invite timed out whilst waiting for an answer
124
- */
125
- InviteTimeout = "invite_timeout",
126
- /**
127
- * The call was replaced by another call
128
- */
129
- Replaced = "replaced",
130
- /**
131
- * Signalling for the call could not be sent (other than the initial invite)
132
- */
133
- SignallingFailed = "signalling_timeout",
134
- /**
135
- * The remote party is busy
136
- */
137
- UserBusy = "user_busy",
138
- /**
139
- * We transferred the call off to somewhere else
140
- */
141
- Transferred = "transferred",
142
- /**
143
- * A call from the same user was found with a new session id
144
- */
145
- NewSession = "new_session"
146
- }
147
- /** The fallback ICE server to use for STUN or TURN protocols. */
148
- export declare const FALLBACK_ICE_SERVER = "stun:turn.matrix.org";
149
- export declare class CallError extends Error {
150
- readonly code: string;
151
- constructor(code: CallErrorCode, msg: string, err: Error);
152
- }
153
- export declare function genCallID(): string;
154
- type CallEventType = EventType.CallReplaces | EventType.CallAnswer | EventType.CallSelectAnswer | EventType.CallNegotiate | EventType.CallInvite | EventType.CallCandidates | EventType.CallHangup | EventType.CallReject | EventType.CallSDPStreamMetadataChangedPrefix;
155
- export interface VoipEvent {
156
- type: "toDevice" | "sendEvent";
157
- eventType: string;
158
- userId?: string;
159
- opponentDeviceId?: string;
160
- roomId?: string;
161
- content: TimelineEvents[CallEventType];
162
- }
163
- /**
164
- * These now all have the call object as an argument. Why? Well, to know which call a given event is
165
- * about you have three options:
166
- * 1. Use a closure as the callback that remembers what call it's listening to. This can be
167
- * a pain because you need to pass the listener function again when you remove the listener,
168
- * which might be somewhere else.
169
- * 2. Use not-very-well-known fact that EventEmitter sets 'this' to the emitter object in the
170
- * callback. This doesn't really play well with modern Typescript and eslint and doesn't work
171
- * with our pattern of re-emitting events.
172
- * 3. Pass the object in question as an argument to the callback.
173
- *
174
- * Now that we have group calls which have to deal with multiple call objects, this will
175
- * become more important, and I think methods 1 and 2 are just going to cause issues.
176
- */
177
- export type CallEventHandlerMap = {
178
- [CallEvent.DataChannel]: (channel: RTCDataChannel, call: MatrixCall) => void;
179
- [CallEvent.FeedsChanged]: (feeds: CallFeed[], call: MatrixCall) => void;
180
- [CallEvent.Replaced]: (newCall: MatrixCall, oldCall: MatrixCall) => void;
181
- [CallEvent.Error]: (error: CallError, call: MatrixCall) => void;
182
- [CallEvent.RemoteHoldUnhold]: (onHold: boolean, call: MatrixCall) => void;
183
- [CallEvent.LocalHoldUnhold]: (onHold: boolean, call: MatrixCall) => void;
184
- [CallEvent.LengthChanged]: (length: number, call: MatrixCall) => void;
185
- [CallEvent.State]: (state: CallState, oldState: CallState, call: MatrixCall) => void;
186
- [CallEvent.Hangup]: (call: MatrixCall) => void;
187
- [CallEvent.AssertedIdentityChanged]: (call: MatrixCall) => void;
188
- [CallEvent.HoldUnhold]: (onHold: boolean) => void;
189
- [CallEvent.SendVoipEvent]: (event: VoipEvent, call: MatrixCall) => void;
190
- [CallEvent.PeerConnectionCreated]: (peerConn: RTCPeerConnection, call: MatrixCall) => void;
191
- };
192
- export declare class MatrixCall extends TypedEventEmitter<CallEvent, CallEventHandlerMap> {
193
- roomId: string;
194
- callId: string;
195
- invitee?: string;
196
- hangupParty?: CallParty;
197
- hangupReason?: string;
198
- direction?: CallDirection;
199
- ourPartyId: string;
200
- peerConn?: RTCPeerConnection;
201
- toDeviceSeq: number;
202
- isPtt: boolean;
203
- private _state;
204
- private readonly client;
205
- private readonly forceTURN?;
206
- private readonly turnServers;
207
- private candidateSendQueue;
208
- private candidateSendTries;
209
- private candidatesEnded;
210
- private feeds;
211
- private transceivers;
212
- private inviteOrAnswerSent;
213
- private waitForLocalAVStream;
214
- private successor?;
215
- private opponentMember?;
216
- private opponentVersion?;
217
- private opponentPartyId;
218
- private opponentCaps?;
219
- private iceDisconnectedTimeout?;
220
- private iceReconnectionTimeOut?;
221
- private inviteTimeout?;
222
- private readonly removeTrackListeners;
223
- private remoteOnHold;
224
- private callStatsAtEnd?;
225
- private makingOffer;
226
- private ignoreOffer;
227
- private isSettingRemoteAnswerPending;
228
- private responsePromiseChain?;
229
- private remoteCandidateBuffer;
230
- private remoteAssertedIdentity?;
231
- private remoteSDPStreamMetadata?;
232
- private callLengthInterval?;
233
- private callStartTime?;
234
- private opponentDeviceId?;
235
- private opponentDeviceInfo?;
236
- private opponentSessionId?;
237
- groupCallId?: string;
238
- private stopVideoTrackTimer?;
239
- private readonly isOnlyDataChannelAllowed;
240
- private stats;
241
- /**
242
- * Construct a new Matrix Call.
243
- * @param opts - Config options.
244
- */
245
- constructor(opts: CallOpts);
246
- /**
247
- * Place a voice call to this room.
248
- * @throws If you have not specified a listener for 'error' events.
249
- */
250
- placeVoiceCall(): Promise<void>;
251
- /**
252
- * Place a video call to this room.
253
- * @throws If you have not specified a listener for 'error' events.
254
- */
255
- placeVideoCall(): Promise<void>;
256
- /**
257
- * Create a datachannel using this call's peer connection.
258
- * @param label - A human readable label for this datachannel
259
- * @param options - An object providing configuration options for the data channel.
260
- */
261
- createDataChannel(label: string, options: RTCDataChannelInit | undefined): RTCDataChannel;
262
- getOpponentMember(): RoomMember | undefined;
263
- getOpponentDeviceId(): string | undefined;
264
- getOpponentSessionId(): string | undefined;
265
- opponentCanBeTransferred(): boolean;
266
- opponentSupportsDTMF(): boolean;
267
- getRemoteAssertedIdentity(): AssertedIdentity | undefined;
268
- get state(): CallState;
269
- private set state(value);
270
- get type(): CallType;
271
- get hasLocalUserMediaVideoTrack(): boolean;
272
- get hasRemoteUserMediaVideoTrack(): boolean;
273
- get hasLocalUserMediaAudioTrack(): boolean;
274
- get hasRemoteUserMediaAudioTrack(): boolean;
275
- private get hasUserMediaAudioSender();
276
- private get hasUserMediaVideoSender();
277
- get localUsermediaFeed(): CallFeed | undefined;
278
- get localScreensharingFeed(): CallFeed | undefined;
279
- get localUsermediaStream(): MediaStream | undefined;
280
- get localScreensharingStream(): MediaStream | undefined;
281
- get remoteUsermediaFeed(): CallFeed | undefined;
282
- get remoteScreensharingFeed(): CallFeed | undefined;
283
- get remoteUsermediaStream(): MediaStream | undefined;
284
- get remoteScreensharingStream(): MediaStream | undefined;
285
- private getFeedByStreamId;
286
- /**
287
- * Returns an array of all CallFeeds
288
- * @returns CallFeeds
289
- */
290
- getFeeds(): Array<CallFeed>;
291
- /**
292
- * Returns an array of all local CallFeeds
293
- * @returns local CallFeeds
294
- */
295
- getLocalFeeds(): Array<CallFeed>;
296
- /**
297
- * Returns an array of all remote CallFeeds
298
- * @returns remote CallFeeds
299
- */
300
- getRemoteFeeds(): Array<CallFeed>;
301
- private initOpponentCrypto;
302
- /**
303
- * Generates and returns localSDPStreamMetadata
304
- * @returns localSDPStreamMetadata
305
- */
306
- private getLocalSDPStreamMetadata;
307
- /**
308
- * Returns true if there are no incoming feeds,
309
- * otherwise returns false
310
- * @returns no incoming feeds
311
- */
312
- noIncomingFeeds(): boolean;
313
- private pushRemoteFeed;
314
- /**
315
- * This method is used ONLY if the other client doesn't support sending SDPStreamMetadata
316
- */
317
- private pushRemoteFeedWithoutMetadata;
318
- private pushNewLocalFeed;
319
- /**
320
- * Pushes supplied feed to the call
321
- * @param callFeed - to push
322
- * @param addToPeerConnection - whether to add the tracks to the peer connection
323
- */
324
- pushLocalFeed(callFeed: CallFeed, addToPeerConnection?: boolean): void;
325
- /**
326
- * Removes local call feed from the call and its tracks from the peer
327
- * connection
328
- * @param callFeed - to remove
329
- */
330
- removeLocalFeed(callFeed: CallFeed): void;
331
- private deleteAllFeeds;
332
- private deleteFeedByStream;
333
- private deleteFeed;
334
- getCurrentCallStats(): Promise<any[] | undefined>;
335
- private collectCallStats;
336
- /**
337
- * Configure this call from an invite event. Used by MatrixClient.
338
- * @param event - The m.call.invite event
339
- */
340
- initWithInvite(event: MatrixEvent): Promise<void>;
341
- /**
342
- * Configure this call from a hangup or reject event. Used by MatrixClient.
343
- * @param event - The m.call.hangup event
344
- */
345
- initWithHangup(event: MatrixEvent): void;
346
- private shouldAnswerWithMediaType;
347
- /**
348
- * Answer a call.
349
- */
350
- answer(audio?: boolean, video?: boolean): Promise<void>;
351
- answerWithCallFeeds(callFeeds: CallFeed[]): void;
352
- /**
353
- * Replace this call with a new call, e.g. for glare resolution. Used by
354
- * MatrixClient.
355
- * @param newCall - The new call.
356
- */
357
- replacedBy(newCall: MatrixCall): void;
358
- /**
359
- * Hangup a call.
360
- * @param reason - The reason why the call is being hung up.
361
- * @param suppressEvent - True to suppress emitting an event.
362
- */
363
- hangup(reason: CallErrorCode, suppressEvent: boolean): void;
364
- /**
365
- * Reject a call
366
- * This used to be done by calling hangup, but is a separate method and protocol
367
- * event as of MSC2746.
368
- */
369
- reject(): void;
370
- /**
371
- * Adds an audio and/or video track - upgrades the call
372
- * @param audio - should add an audio track
373
- * @param video - should add an video track
374
- */
375
- private upgradeCall;
376
- /**
377
- * Returns true if this.remoteSDPStreamMetadata is defined, otherwise returns false
378
- * @returns can screenshare
379
- */
380
- opponentSupportsSDPStreamMetadata(): boolean;
381
- /**
382
- * If there is a screensharing stream returns true, otherwise returns false
383
- * @returns is screensharing
384
- */
385
- isScreensharing(): boolean;
386
- /**
387
- * Starts/stops screensharing
388
- * @param enabled - the desired screensharing state
389
- * @param opts - screen sharing options
390
- * @returns new screensharing state
391
- */
392
- setScreensharingEnabled(enabled: boolean, opts?: IScreensharingOpts): Promise<boolean>;
393
- /**
394
- * Starts/stops screensharing
395
- * Should be used ONLY if the opponent doesn't support SDPStreamMetadata
396
- * @param enabled - the desired screensharing state
397
- * @param opts - screen sharing options
398
- * @returns new screensharing state
399
- */
400
- private setScreensharingEnabledWithoutMetadataSupport;
401
- /**
402
- * Replaces/adds the tracks from the passed stream to the localUsermediaStream
403
- * @param stream - to use a replacement for the local usermedia stream
404
- */
405
- updateLocalUsermediaStream(stream: MediaStream, forceAudio?: boolean, forceVideo?: boolean): Promise<void>;
406
- /**
407
- * Set whether our outbound video should be muted or not.
408
- * @param muted - True to mute the outbound video.
409
- * @returns the new mute state
410
- */
411
- setLocalVideoMuted(muted: boolean): Promise<boolean>;
412
- /**
413
- * Check if local video is muted.
414
- *
415
- * If there are multiple video tracks, <i>all</i> of the tracks need to be muted
416
- * for this to return true. This means if there are no video tracks, this will
417
- * return true.
418
- * @returns True if the local preview video is muted, else false
419
- * (including if the call is not set up yet).
420
- */
421
- isLocalVideoMuted(): boolean;
422
- /**
423
- * Set whether the microphone should be muted or not.
424
- * @param muted - True to mute the mic.
425
- * @returns the new mute state
426
- */
427
- setMicrophoneMuted(muted: boolean): Promise<boolean>;
428
- /**
429
- * Check if the microphone is muted.
430
- *
431
- * If there are multiple audio tracks, <i>all</i> of the tracks need to be muted
432
- * for this to return true. This means if there are no audio tracks, this will
433
- * return true.
434
- * @returns True if the mic is muted, else false (including if the call
435
- * is not set up yet).
436
- */
437
- isMicrophoneMuted(): boolean;
438
- /**
439
- * @returns true if we have put the party on the other side of the call on hold
440
- * (that is, we are signalling to them that we are not listening)
441
- */
442
- isRemoteOnHold(): boolean;
443
- setRemoteOnHold(onHold: boolean): void;
444
- /**
445
- * Indicates whether we are 'on hold' to the remote party (ie. if true,
446
- * they cannot hear us).
447
- * @returns true if the other party has put us on hold
448
- */
449
- isLocalOnHold(): boolean;
450
- /**
451
- * Sends a DTMF digit to the other party
452
- * @param digit - The digit (nb. string - '#' and '*' are dtmf too)
453
- */
454
- sendDtmfDigit(digit: string): void;
455
- private updateMuteStatus;
456
- sendMetadataUpdate(): Promise<void>;
457
- private gotCallFeedsForInvite;
458
- private sendAnswer;
459
- private queueGotCallFeedsForAnswer;
460
- private mungeSdp;
461
- private createOffer;
462
- private createAnswer;
463
- private gotCallFeedsForAnswer;
464
- /**
465
- * Internal
466
- */
467
- private gotLocalIceCandidate;
468
- private onIceGatheringStateChange;
469
- onRemoteIceCandidatesReceived(ev: MatrixEvent): Promise<void>;
470
- /**
471
- * Used by MatrixClient.
472
- */
473
- onAnswerReceived(event: MatrixEvent): Promise<void>;
474
- onSelectAnswerReceived(event: MatrixEvent): Promise<void>;
475
- onNegotiateReceived(event: MatrixEvent): Promise<void>;
476
- private updateRemoteSDPStreamMetadata;
477
- onSDPStreamMetadataChangedReceived(event: MatrixEvent): void;
478
- onAssertedIdentityReceived(event: MatrixEvent): Promise<void>;
479
- callHasEnded(): boolean;
480
- private queueGotLocalOffer;
481
- private wrappedGotLocalOffer;
482
- private gotLocalOffer;
483
- private getLocalOfferFailed;
484
- private getUserMediaFailed;
485
- private placeCallFailed;
486
- private onIceConnectionStateChanged;
487
- private onSignallingStateChanged;
488
- private onTrack;
489
- private onDataChannel;
490
- /**
491
- * This method removes all video/rtx codecs from screensharing video
492
- * transceivers. This is necessary since they can cause problems. Without
493
- * this the following steps should produce an error:
494
- * Chromium calls Firefox
495
- * Firefox answers
496
- * Firefox starts screen-sharing
497
- * Chromium starts screen-sharing
498
- * Call crashes for Chromium with:
499
- * [96685:23:0518/162603.933321:ERROR:webrtc_video_engine.cc(3296)] RTX codec (PT=97) mapped to PT=96 which is not in the codec list.
500
- * [96685:23:0518/162603.933377:ERROR:webrtc_video_engine.cc(1171)] GetChangedRecvParameters called without any video codecs.
501
- * [96685:23:0518/162603.933430:ERROR:sdp_offer_answer.cc(4302)] Failed to set local video description recv parameters for m-section with mid='2'. (INVALID_PARAMETER)
502
- */
503
- private getRidOfRTXCodecs;
504
- private onNegotiationNeeded;
505
- onHangupReceived: (msg: MCallHangupReject) => void;
506
- onRejectReceived: (msg: MCallHangupReject) => void;
507
- onAnsweredElsewhere: (msg: MCallAnswer) => void;
508
- /**
509
- * @internal
510
- */
511
- private sendVoipEvent;
512
- /**
513
- * Queue a candidate to be sent
514
- * @param content - The candidate to queue up, or null if candidates have finished being generated
515
- * and end-of-candidates should be signalled
516
- */
517
- private queueCandidate;
518
- private discardDuplicateCandidates;
519
- transfer(targetUserId: string): Promise<void>;
520
- transferToCall(transferTargetCall: MatrixCall): Promise<void>;
521
- private terminate;
522
- private stopAllMedia;
523
- private checkForErrorListener;
524
- private sendCandidateQueue;
525
- /**
526
- * Place a call to this room.
527
- * @throws if you have not specified a listener for 'error' events.
528
- * @throws if have passed audio=false.
529
- */
530
- placeCall(audio: boolean, video: boolean): Promise<void>;
531
- /**
532
- * Place a call to this room with call feed.
533
- * @param callFeeds - to use
534
- * @throws if you have not specified a listener for 'error' events.
535
- * @throws if have passed audio=false.
536
- */
537
- placeCallWithCallFeeds(callFeeds: CallFeed[], requestScreenshareFeed?: boolean): Promise<void>;
538
- private createPeerConnection;
539
- private partyIdMatches;
540
- private chooseOpponent;
541
- private addBufferedIceCandidates;
542
- private addIceCandidates;
543
- get hasPeerConnection(): boolean;
544
- initStats(stats: GroupCallStats, peerId?: string): void;
545
- }
546
- export declare function setTracksEnabled(tracks: Array<MediaStreamTrack>, enabled: boolean): void;
547
- export declare function supportsMatrixCall(): boolean;
548
- /**
549
- * DEPRECATED
550
- * Use client.createCall()
551
- *
552
- * Create a new Matrix call for the browser.
553
- * @param client - The client instance to use.
554
- * @param roomId - The room the call is in.
555
- * @param options - DEPRECATED optional options map.
556
- * @returns the call or null if the browser doesn't support calling.
557
- */
558
- export declare function createNewMatrixCall(client: MatrixClient, roomId: string, options?: Pick<CallOpts, "forceTURN" | "invitee" | "opponentDeviceId" | "opponentSessionId" | "groupCallId">): MatrixCall | null;
559
- export {};
560
- //# sourceMappingURL=call.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/webrtc/call.ts"],"names":[],"mappings":"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"}