@webex/internal-media-core 0.0.2-beta → 0.0.3-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/package.json +3 -2
  2. package/dist/transpiled/Logger/index.js +0 -41
  3. package/dist/transpiled/Logger/index.js.map +0 -1
  4. package/dist/transpiled/Media/Device/Device.js +0 -21
  5. package/dist/transpiled/Media/Device/Device.js.map +0 -1
  6. package/dist/transpiled/Media/Device/DeviceMocks.js +0 -65
  7. package/dist/transpiled/Media/Device/DeviceMocks.js.map +0 -1
  8. package/dist/transpiled/Media/Device/index.js +0 -2
  9. package/dist/transpiled/Media/Device/index.js.map +0 -1
  10. package/dist/transpiled/Media/Effects/BNR/Bnr.integration-test.js +0 -47
  11. package/dist/transpiled/Media/Effects/BNR/Bnr.integration-test.js.map +0 -1
  12. package/dist/transpiled/Media/Effects/BNR/Bnr.js +0 -187
  13. package/dist/transpiled/Media/Effects/BNR/Bnr.js.map +0 -1
  14. package/dist/transpiled/Media/Effects/BNR/Bnr.test.js +0 -37
  15. package/dist/transpiled/Media/Effects/BNR/Bnr.test.js.map +0 -1
  16. package/dist/transpiled/Media/Effects/BNR/BnrMock.js +0 -92
  17. package/dist/transpiled/Media/Effects/BNR/BnrMock.js.map +0 -1
  18. package/dist/transpiled/Media/Effects/BNR/index.js +0 -2
  19. package/dist/transpiled/Media/Effects/BNR/index.js.map +0 -1
  20. package/dist/transpiled/Media/Media.integration-test.js +0 -40
  21. package/dist/transpiled/Media/Media.integration-test.js.map +0 -1
  22. package/dist/transpiled/Media/Media.test.js +0 -291
  23. package/dist/transpiled/Media/Media.test.js.map +0 -1
  24. package/dist/transpiled/Media/Track/BufferSourceAudioTrack.js +0 -4
  25. package/dist/transpiled/Media/Track/BufferSourceAudioTrack.js.map +0 -1
  26. package/dist/transpiled/Media/Track/CameraVideoTrack.js +0 -4
  27. package/dist/transpiled/Media/Track/CameraVideoTrack.js.map +0 -1
  28. package/dist/transpiled/Media/Track/LocalAudioTrack.js +0 -4
  29. package/dist/transpiled/Media/Track/LocalAudioTrack.js.map +0 -1
  30. package/dist/transpiled/Media/Track/LocalTrack.js +0 -4
  31. package/dist/transpiled/Media/Track/LocalTrack.js.map +0 -1
  32. package/dist/transpiled/Media/Track/LocalVideoTrack.js +0 -4
  33. package/dist/transpiled/Media/Track/LocalVideoTrack.js.map +0 -1
  34. package/dist/transpiled/Media/Track/MicrophoneAudioTrack.js +0 -4
  35. package/dist/transpiled/Media/Track/MicrophoneAudioTrack.js.map +0 -1
  36. package/dist/transpiled/Media/Track/RemoteAudioTrack.js +0 -4
  37. package/dist/transpiled/Media/Track/RemoteAudioTrack.js.map +0 -1
  38. package/dist/transpiled/Media/Track/RemoteTrack.js +0 -4
  39. package/dist/transpiled/Media/Track/RemoteTrack.js.map +0 -1
  40. package/dist/transpiled/Media/Track/RemoteVideoTrack.js +0 -4
  41. package/dist/transpiled/Media/Track/RemoteVideoTrack.js.map +0 -1
  42. package/dist/transpiled/Media/Track/Track.integration-test.js +0 -118
  43. package/dist/transpiled/Media/Track/Track.integration-test.js.map +0 -1
  44. package/dist/transpiled/Media/Track/Track.js +0 -120
  45. package/dist/transpiled/Media/Track/Track.js.map +0 -1
  46. package/dist/transpiled/Media/Track/Track.test.js +0 -26
  47. package/dist/transpiled/Media/Track/Track.test.js.map +0 -1
  48. package/dist/transpiled/Media/Track/TrackMock.js +0 -109
  49. package/dist/transpiled/Media/Track/TrackMock.js.map +0 -1
  50. package/dist/transpiled/Media/Track/Utils.js +0 -31
  51. package/dist/transpiled/Media/Track/Utils.js.map +0 -1
  52. package/dist/transpiled/Media/Track/index.js +0 -2
  53. package/dist/transpiled/Media/Track/index.js.map +0 -1
  54. package/dist/transpiled/Media/index.js +0 -401
  55. package/dist/transpiled/Media/index.js.map +0 -1
  56. package/dist/transpiled/MediaConnection/EventEmitter.js +0 -4
  57. package/dist/transpiled/MediaConnection/EventEmitter.js.map +0 -1
  58. package/dist/transpiled/MediaConnection/MediaConnection.integration-test.js +0 -218
  59. package/dist/transpiled/MediaConnection/MediaConnection.integration-test.js.map +0 -1
  60. package/dist/transpiled/MediaConnection/MediaConnection.js +0 -357
  61. package/dist/transpiled/MediaConnection/MediaConnection.js.map +0 -1
  62. package/dist/transpiled/MediaConnection/MediaConnection.test.js +0 -427
  63. package/dist/transpiled/MediaConnection/MediaConnection.test.js.map +0 -1
  64. package/dist/transpiled/MediaConnection/RoapMediaConnection.integration-test.js +0 -368
  65. package/dist/transpiled/MediaConnection/RoapMediaConnection.integration-test.js.map +0 -1
  66. package/dist/transpiled/MediaConnection/RoapMediaConnection.js +0 -148
  67. package/dist/transpiled/MediaConnection/RoapMediaConnection.js.map +0 -1
  68. package/dist/transpiled/MediaConnection/RoapMediaConnection.test.js +0 -320
  69. package/dist/transpiled/MediaConnection/RoapMediaConnection.test.js.map +0 -1
  70. package/dist/transpiled/MediaConnection/config.js +0 -2
  71. package/dist/transpiled/MediaConnection/config.js.map +0 -1
  72. package/dist/transpiled/MediaConnection/eventTypes.js +0 -36
  73. package/dist/transpiled/MediaConnection/eventTypes.js.map +0 -1
  74. package/dist/transpiled/MediaConnection/index.js +0 -4
  75. package/dist/transpiled/MediaConnection/index.js.map +0 -1
  76. package/dist/transpiled/MediaConnection/logger.js +0 -22
  77. package/dist/transpiled/MediaConnection/logger.js.map +0 -1
  78. package/dist/transpiled/MediaConnection/roap.js +0 -399
  79. package/dist/transpiled/MediaConnection/roap.js.map +0 -1
  80. package/dist/transpiled/MediaConnection/roap.test.js +0 -873
  81. package/dist/transpiled/MediaConnection/roap.test.js.map +0 -1
  82. package/dist/transpiled/MediaConnection/roap.typegen.js +0 -2
  83. package/dist/transpiled/MediaConnection/roap.typegen.js.map +0 -1
  84. package/dist/transpiled/MediaConnection/testUtils/EventListener.js +0 -102
  85. package/dist/transpiled/MediaConnection/testUtils/EventListener.js.map +0 -1
  86. package/dist/transpiled/MediaConnection/testUtils/RoapListener.js +0 -15
  87. package/dist/transpiled/MediaConnection/testUtils/RoapListener.js.map +0 -1
  88. package/dist/transpiled/MediaConnection/testUtils/index.js +0 -17
  89. package/dist/transpiled/MediaConnection/testUtils/index.js.map +0 -1
  90. package/dist/transpiled/MediaConnection/testUtils/logger.js +0 -31
  91. package/dist/transpiled/MediaConnection/testUtils/logger.js.map +0 -1
  92. package/dist/transpiled/MediaConnection/testUtils.js +0 -14
  93. package/dist/transpiled/MediaConnection/testUtils.js.map +0 -1
  94. package/dist/transpiled/MediaConnection/utils.js +0 -71
  95. package/dist/transpiled/MediaConnection/utils.js.map +0 -1
  96. package/dist/transpiled/MediaConnection/utils.test-fixtures.js +0 -287
  97. package/dist/transpiled/MediaConnection/utils.test-fixtures.js.map +0 -1
  98. package/dist/transpiled/MediaConnection/utils.test.js +0 -20
  99. package/dist/transpiled/MediaConnection/utils.test.js.map +0 -1
  100. package/dist/transpiled/common/peerConnectionMock.js +0 -52
  101. package/dist/transpiled/common/peerConnectionMock.js.map +0 -1
  102. package/dist/transpiled/constants.js +0 -9
  103. package/dist/transpiled/constants.js.map +0 -1
  104. package/dist/transpiled/index.intergation-test.js +0 -14
  105. package/dist/transpiled/index.intergation-test.js.map +0 -1
  106. package/dist/transpiled/index.js +0 -41
  107. package/dist/transpiled/index.js.map +0 -1
@@ -1,320 +0,0 @@
1
- import EventEmitter from 'events';
2
- import { setupTestLogger, teardownTestLogger } from './testUtils';
3
- import { Event, ConnectionState, RemoteTrackType, ErrorType, } from './eventTypes';
4
- import { RoapMediaConnection } from './index';
5
- import * as roap from './roap';
6
- import * as mediaConnection from './MediaConnection';
7
- describe('RoapMediaConnection', () => {
8
- const DEFAULT_CONFIG = {
9
- iceServers: [],
10
- skipInactiveTransceivers: false,
11
- sdpMunging: {},
12
- };
13
- const FAKE_AUDIO_TRACK = {
14
- kind: 'audio',
15
- };
16
- const FAKE_VIDEO_TRACK = {
17
- kind: 'video',
18
- };
19
- const FAKE_SCREENSHARE_TRACK = {
20
- kind: 'video',
21
- };
22
- const FAKE_MC = {
23
- insertDTMF: jest.fn(),
24
- initializeTransceivers: jest.fn(),
25
- on: jest.fn(),
26
- getConfig: jest.fn(),
27
- getSendReceiveOptions: jest.fn(),
28
- getConnectionState: jest.fn(),
29
- getStats: jest.fn(),
30
- close: jest.fn(),
31
- removeAllListeners: jest.fn(),
32
- };
33
- const FAKE_ROAP = {
34
- getSeq: jest.fn(),
35
- initiateOffer: jest.fn(),
36
- roapMessageReceived: jest.fn(),
37
- on: jest.fn(),
38
- stop: jest.fn(),
39
- removeAllListeners: jest.fn(),
40
- };
41
- let mediaConnectionCtorSpy;
42
- let roapCtorSpy;
43
- beforeAll(() => {
44
- setupTestLogger();
45
- });
46
- afterAll(() => {
47
- teardownTestLogger();
48
- });
49
- beforeEach(() => {
50
- roapCtorSpy = jest
51
- .spyOn(roap, 'Roap')
52
- .mockImplementation(() => FAKE_ROAP);
53
- mediaConnectionCtorSpy = jest
54
- .spyOn(mediaConnection, 'MediaConnection')
55
- .mockImplementation(() => FAKE_MC);
56
- });
57
- it('getConnectionState() calls getConnectionState() on the media connection', () => {
58
- const mc = new RoapMediaConnection(DEFAULT_CONFIG, {
59
- send: {},
60
- receive: {
61
- audio: true,
62
- video: true,
63
- screenShareVideo: true,
64
- },
65
- });
66
- mc.getConnectionState();
67
- expect(FAKE_MC.getConnectionState).toBeCalledOnceWith();
68
- });
69
- it('getStats() calls getStats() on the media connection', async () => {
70
- const FAKE_STATS = { someStats: 'any value' };
71
- FAKE_MC.getStats.mockResolvedValue(FAKE_STATS);
72
- const mc = new RoapMediaConnection(DEFAULT_CONFIG, {
73
- send: {},
74
- receive: {
75
- audio: true,
76
- video: true,
77
- screenShareVideo: true,
78
- },
79
- });
80
- const stats = await mc.getStats();
81
- expect(FAKE_MC.getStats).toBeCalledOnceWith();
82
- expect(stats).toEqual(FAKE_STATS);
83
- FAKE_MC.getStats.mockReset();
84
- });
85
- describe('outgoing call/joining a meeting', () => {
86
- let mc;
87
- beforeEach(() => {
88
- mc = new RoapMediaConnection(DEFAULT_CONFIG, {
89
- send: {
90
- audio: FAKE_AUDIO_TRACK,
91
- video: FAKE_VIDEO_TRACK,
92
- screenShareVideo: FAKE_SCREENSHARE_TRACK,
93
- },
94
- receive: {
95
- audio: true,
96
- video: true,
97
- screenShareVideo: true,
98
- },
99
- });
100
- });
101
- it('initializes transceivers when initiateOffer() is called', async () => {
102
- await mc.initiateOffer();
103
- expect(FAKE_MC.initializeTransceivers).toBeCalledOnceWith(false);
104
- expect(FAKE_ROAP.initiateOffer).toBeCalledOnceWith();
105
- });
106
- it('fails if initiateOffer() is called for a second time', async () => {
107
- await mc.initiateOffer();
108
- FAKE_ROAP.initiateOffer.mockClear();
109
- await expect(mc.initiateOffer()).rejects.toThrow(new Error('SDP negotiation already started'));
110
- expect(FAKE_ROAP.initiateOffer).not.toBeCalled();
111
- });
112
- it('does not call initializeTransceivers() on remote offer', async () => {
113
- await mc.initiateOffer();
114
- FAKE_MC.initializeTransceivers.mockClear();
115
- mc.roapMessageReceived({ messageType: 'OFFER', sdp: 'fake', seq: 2 });
116
- expect(FAKE_MC.initializeTransceivers).not.toBeCalled();
117
- });
118
- });
119
- describe('incoming call', () => {
120
- const FAKE_OFFER = { messageType: 'OFFER', sdp: 'fake', seq: 1 };
121
- it('calls initializeTransceivers(true) when first incoming offer arrives', () => {
122
- const mc = new RoapMediaConnection(DEFAULT_CONFIG, {
123
- send: {
124
- audio: FAKE_AUDIO_TRACK,
125
- video: FAKE_VIDEO_TRACK,
126
- screenShareVideo: FAKE_SCREENSHARE_TRACK,
127
- },
128
- receive: {
129
- audio: false,
130
- video: false,
131
- screenShareVideo: false,
132
- },
133
- });
134
- mc.roapMessageReceived(FAKE_OFFER);
135
- expect(FAKE_MC.initializeTransceivers).toBeCalledOnceWith(true);
136
- expect(FAKE_ROAP.roapMessageReceived).toBeCalledOnceWith(FAKE_OFFER);
137
- });
138
- it('calls initializeTransceivers(true) only once for incoming calls', () => {
139
- const mc = new RoapMediaConnection(DEFAULT_CONFIG, {
140
- send: {
141
- audio: FAKE_AUDIO_TRACK,
142
- video: FAKE_VIDEO_TRACK,
143
- },
144
- receive: {
145
- audio: true,
146
- video: true,
147
- screenShareVideo: true,
148
- },
149
- });
150
- mc.roapMessageReceived(FAKE_OFFER);
151
- expect(FAKE_ROAP.roapMessageReceived).toBeCalledOnceWith(FAKE_OFFER);
152
- expect(FAKE_MC.initializeTransceivers).toBeCalledOnceWith(true);
153
- FAKE_MC.initializeTransceivers.mockClear();
154
- FAKE_ROAP.roapMessageReceived.mockClear();
155
- mc.roapMessageReceived({ messageType: 'OFFER', sdp: 'fake', seq: 2 });
156
- expect(FAKE_ROAP.roapMessageReceived).toBeCalledOnceWith({
157
- messageType: 'OFFER',
158
- sdp: 'fake',
159
- seq: 2,
160
- });
161
- expect(FAKE_MC.initializeTransceivers).not.toBeCalled();
162
- });
163
- });
164
- describe('insertDTMF()', () => {
165
- describe('calls insertDTMF() on the mediaConnection', () => {
166
- let mc;
167
- beforeEach(() => {
168
- mc = new RoapMediaConnection(DEFAULT_CONFIG, {
169
- send: {},
170
- receive: {
171
- audio: false,
172
- video: false,
173
- screenShareVideo: false,
174
- },
175
- });
176
- });
177
- it('without optional parameters', () => {
178
- mc.insertDTMF('ABCD');
179
- expect(FAKE_MC.insertDTMF).toBeCalledOnceWith('ABCD', undefined, undefined);
180
- });
181
- it('with only the 1st optional parameter', () => {
182
- mc.insertDTMF('2468', 500);
183
- expect(FAKE_MC.insertDTMF).toBeCalledOnceWith('2468', 500, undefined);
184
- });
185
- it('with all parameters', () => {
186
- mc.insertDTMF('#A123*', 300, 600);
187
- expect(FAKE_MC.insertDTMF).toBeCalledOnceWith('#A123*', 300, 600);
188
- });
189
- });
190
- });
191
- describe('Events', () => {
192
- let mc;
193
- const setup = () => {
194
- mc = new RoapMediaConnection(DEFAULT_CONFIG, {
195
- send: {},
196
- receive: {
197
- audio: false,
198
- video: false,
199
- screenShareVideo: false,
200
- },
201
- });
202
- };
203
- it('registers for the correct MediaConnection events', () => {
204
- setup();
205
- expect(FAKE_MC.on).toBeCalledTimes(3);
206
- expect(FAKE_MC.on).toBeCalledWith(Event.REMOTE_TRACK_ADDED, expect.any(Function));
207
- expect(FAKE_MC.on).toBeCalledWith(Event.CONNECTION_STATE_CHANGED, expect.any(Function));
208
- expect(FAKE_MC.on).toBeCalledWith(Event.DTMF_TONE_CHANGED, expect.any(Function));
209
- });
210
- const testEvent = (from, eventType, eventData) => {
211
- const emitter = new EventEmitter();
212
- if (from === 'mc') {
213
- jest
214
- .spyOn(mediaConnection, 'MediaConnection')
215
- .mockImplementation(() => emitter);
216
- }
217
- else if (from === 'roap') {
218
- jest.spyOn(roap, 'Roap').mockImplementation(() => emitter);
219
- }
220
- setup();
221
- let eventListenerCalled = false;
222
- mc.on(eventType, (data) => {
223
- expect(data).toEqual(eventData);
224
- eventListenerCalled = true;
225
- });
226
- emitter.emit(eventType, eventData);
227
- expect(eventListenerCalled).toEqual(true);
228
- };
229
- it('forwards the DTMF_TONE_CHANGED event', () => {
230
- testEvent('mc', Event.DTMF_TONE_CHANGED, { tone: 'abc123456*#' });
231
- });
232
- it('forwards the REMOTE_TRACK_ADDED event', () => {
233
- testEvent('mc', Event.REMOTE_TRACK_ADDED, {
234
- track: FAKE_AUDIO_TRACK,
235
- type: RemoteTrackType.AUDIO,
236
- });
237
- });
238
- it('forwards the CONNECTION_STATE_CHANGED event', () => {
239
- testEvent('mc', Event.CONNECTION_STATE_CHANGED, { state: ConnectionState.CONNECTING });
240
- });
241
- it('registers for the correct Roap events', () => {
242
- setup();
243
- expect(FAKE_ROAP.on).toBeCalledTimes(2);
244
- expect(FAKE_ROAP.on).toBeCalledWith(Event.ROAP_MESSAGE_TO_SEND, expect.any(Function));
245
- expect(FAKE_ROAP.on).toBeCalledWith(Event.ROAP_FAILURE, expect.any(Function));
246
- });
247
- it('forwards the ROAP_MESSAGE_TO_SEND event', () => {
248
- testEvent('roap', Event.ROAP_MESSAGE_TO_SEND, {
249
- roapMessage: { messageType: 'OFFER', seq: 100, sdp: 'fake', tieBreaker: 123 },
250
- });
251
- testEvent('roap', Event.ROAP_MESSAGE_TO_SEND, {
252
- roapMessage: { messageType: 'ERROR', seq: 100, errorType: ErrorType.FAILED, retryAfter: 10 },
253
- });
254
- });
255
- it('forwards the ROAP_FAILURE event', () => {
256
- testEvent('roap', Event.ROAP_FAILURE, undefined);
257
- });
258
- });
259
- describe('reconnect()', () => {
260
- let mc;
261
- const DEBUG_ID = 'some debug id';
262
- beforeEach(() => {
263
- mc = new RoapMediaConnection(DEFAULT_CONFIG, {
264
- send: {},
265
- receive: {
266
- audio: true,
267
- video: true,
268
- screenShareVideo: true,
269
- },
270
- }, DEBUG_ID);
271
- });
272
- it('closes the media connection and stops the roap session', () => {
273
- mc.reconnect();
274
- expect(FAKE_MC.close).toBeCalledOnceWith();
275
- expect(FAKE_ROAP.stop).toBeCalledOnceWith();
276
- });
277
- it('creates a new media connection with same config, options and debugId', () => {
278
- const FAKE_CONFIG = { anyField: 'any value' };
279
- const FAKE_OPTIONS = { send: { audio: FAKE_AUDIO_TRACK }, receive: { audio: false, video: true } };
280
- FAKE_MC.getConfig.mockReturnValue(FAKE_CONFIG);
281
- FAKE_MC.getSendReceiveOptions.mockReturnValue(FAKE_OPTIONS);
282
- mediaConnectionCtorSpy.mockClear();
283
- FAKE_MC.on.mockClear();
284
- mc.reconnect();
285
- expect(mediaConnectionCtorSpy).toBeCalledOnceWith(FAKE_CONFIG, FAKE_OPTIONS, DEBUG_ID);
286
- expect(FAKE_MC.on).toBeCalledTimes(3);
287
- expect(FAKE_MC.on).toBeCalledWith(Event.REMOTE_TRACK_ADDED, expect.any(Function));
288
- expect(FAKE_MC.on).toBeCalledWith(Event.CONNECTION_STATE_CHANGED, expect.any(Function));
289
- expect(FAKE_MC.on).toBeCalledWith(Event.DTMF_TONE_CHANGED, expect.any(Function));
290
- });
291
- it('creates a new roap session, maintaining the seq from the old one', () => {
292
- const FAKE_SEQ = 100;
293
- FAKE_ROAP.getSeq.mockReturnValue(FAKE_SEQ);
294
- roapCtorSpy.mockClear();
295
- FAKE_ROAP.on.mockClear();
296
- mc.reconnect();
297
- expect(roapCtorSpy).toBeCalledOnceWith(expect.any(Function), expect.any(Function), expect.any(Function), DEBUG_ID, FAKE_SEQ);
298
- expect(FAKE_ROAP.on).toBeCalledTimes(2);
299
- expect(FAKE_ROAP.on).toBeCalledWith(Event.ROAP_MESSAGE_TO_SEND, expect.any(Function));
300
- expect(FAKE_ROAP.on).toBeCalledWith(Event.ROAP_FAILURE, expect.any(Function));
301
- });
302
- it('initiates new offer by default', () => {
303
- mc.reconnect();
304
- expect(FAKE_ROAP.initiateOffer).toBeCalledOnceWith();
305
- });
306
- it('does not initiate new offer when initiateOffer argument is false', () => {
307
- FAKE_MC.initializeTransceivers.mockClear();
308
- mc.reconnect(false);
309
- expect(FAKE_ROAP.initiateOffer).not.toBeCalled();
310
- mc.roapMessageReceived({ messageType: 'OFFER', sdp: 'fake remote offer', seq: 2 });
311
- expect(FAKE_MC.initializeTransceivers).toBeCalledOnceWith(true);
312
- expect(FAKE_ROAP.roapMessageReceived).toBeCalledOnceWith({
313
- messageType: 'OFFER',
314
- sdp: 'fake remote offer',
315
- seq: 2,
316
- });
317
- });
318
- });
319
- });
320
- //# sourceMappingURL=RoapMediaConnection.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoapMediaConnection.test.js","sourceRoot":"","sources":["../../../src/MediaConnection/RoapMediaConnection.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/MediaConnection/config.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- export var Event;
2
- (function (Event) {
3
- Event["CONNECTION_STATE_CHANGED"] = "connectionState:changed";
4
- Event["REMOTE_TRACK_ADDED"] = "remoteTrack:added";
5
- Event["ROAP_MESSAGE_TO_SEND"] = "roap:messageToSend";
6
- Event["ROAP_FAILURE"] = "roap:failure";
7
- Event["DTMF_TONE_CHANGED"] = "dtmfTone:changed";
8
- })(Event || (Event = {}));
9
- export var ConnectionState;
10
- (function (ConnectionState) {
11
- ConnectionState["NEW"] = "NEW";
12
- ConnectionState["CLOSED"] = "CLOSED";
13
- ConnectionState["CONNECTED"] = "CONNECTED";
14
- ConnectionState["CONNECTING"] = "CONNECTING";
15
- ConnectionState["DISCONNECTED"] = "DISCONNECTED";
16
- ConnectionState["FAILED"] = "FAILED";
17
- })(ConnectionState || (ConnectionState = {}));
18
- export var RemoteTrackType;
19
- (function (RemoteTrackType) {
20
- RemoteTrackType["AUDIO"] = "audio";
21
- RemoteTrackType["VIDEO"] = "video";
22
- RemoteTrackType["SCREENSHARE_VIDEO"] = "screenShareVideo";
23
- })(RemoteTrackType || (RemoteTrackType = {}));
24
- export var ErrorType;
25
- (function (ErrorType) {
26
- ErrorType["DOUBLECONFLICT"] = "DOUBLECONFLICT";
27
- ErrorType["CONFLICT"] = "CONFLICT";
28
- ErrorType["FAILED"] = "FAILED";
29
- ErrorType["INVALID_STATE"] = "INVALID_STATE";
30
- ErrorType["NOMATCH"] = "NOMATCH";
31
- ErrorType["OUT_OF_ORDER"] = "OUT_OF_ORDER";
32
- ErrorType["REFUSED"] = "REFUSED";
33
- ErrorType["RETRY"] = "RETRY";
34
- ErrorType["TIMEOUT"] = "TIMEOUT";
35
- })(ErrorType || (ErrorType = {}));
36
- //# sourceMappingURL=eventTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventTypes.js","sourceRoot":"","sources":["../../../src/MediaConnection/eventTypes.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,KAMX;AAND,WAAY,KAAK;IACf,6DAAoD,CAAA;IACpD,iDAAwC,CAAA;IACxC,oDAA2C,CAAA;IAC3C,sCAA6B,CAAA;IAC7B,+CAAsC,CAAA;AACxC,CAAC,EANW,KAAK,KAAL,KAAK,QAMhB;AAGD,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,oCAAiB,CAAA;IACjB,0CAAuB,CAAA;IACvB,4CAAyB,CAAA;IACzB,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;AACnB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAMD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,kCAAe,CAAA;IACf,yDAAsC,CAAA;AACxC,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAOD,MAAM,CAAN,IAAY,SAUX;AAVD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,4CAA+B,CAAA;IAC/B,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACrB,CAAC,EAVW,SAAS,KAAT,SAAS,QAUpB"}
@@ -1,4 +0,0 @@
1
- export * from './RoapMediaConnection';
2
- export { Event, ConnectionState, RemoteTrackType, } from './eventTypes';
3
- export * from './logger';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/MediaConnection/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AAEtC,OAAO,EAEL,KAAK,EACL,eAAe,EAEf,eAAe,GAIhB,MAAM,cAAc,CAAC;AAEtB,cAAc,UAAU,CAAC"}
@@ -1,22 +0,0 @@
1
- const defaultLogger = {
2
- info: (...args) => console.info(...args),
3
- log: (...args) => console.log(...args),
4
- error: (...args) => console.error(...args),
5
- warn: (...args) => console.warn(...args),
6
- trace: (...args) => console.trace(...args),
7
- debug: (...args) => console.debug(...args),
8
- };
9
- let currentLogger = defaultLogger;
10
- export const setLogger = (newLogger) => {
11
- if (newLogger) {
12
- currentLogger = newLogger;
13
- }
14
- else {
15
- currentLogger = defaultLogger;
16
- }
17
- };
18
- export const getLogger = () => currentLogger;
19
- export const getErrorDescription = (error) => {
20
- return error ? (error.stack ? `${error.message}: ${error.stack}` : `${error}`) : '';
21
- };
22
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/MediaConnection/logger.ts"],"names":[],"mappings":"AAcA,MAAM,aAAa,GAAW;IAC5B,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,IAAI,aAAa,GAAW,aAAa,CAAC;AAU1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAwB,EAAE,EAAE;IACpD,IAAI,SAAS,EAAE;QACb,aAAa,GAAG,SAAS,CAAC;KAC3B;SAAM;QACL,aAAa,GAAG,aAAa,CAAC;KAC/B;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC;AASrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE;IAE3D,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC,CAAC"}