livekit-client 0.17.3 → 0.17.6-rc1

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 (155) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +26 -20
  3. package/dist/api/SignalClient.d.ts +1 -0
  4. package/dist/connect.d.ts +2 -0
  5. package/dist/index.d.ts +2 -2
  6. package/dist/livekit-client.esm.js +17344 -0
  7. package/dist/livekit-client.esm.js.map +1 -0
  8. package/dist/livekit-client.umd.js +17388 -0
  9. package/dist/livekit-client.umd.js.map +1 -0
  10. package/dist/logger.d.ts +22 -11
  11. package/dist/options.d.ts +4 -2
  12. package/dist/proto/google/protobuf/timestamp.d.ts +12 -2
  13. package/dist/proto/livekit_models.d.ts +524 -17
  14. package/dist/proto/livekit_rtc.d.ts +3449 -31
  15. package/dist/room/DeviceManager.d.ts +1 -1
  16. package/dist/room/RTCEngine.d.ts +1 -1
  17. package/dist/room/Room.d.ts +2 -2
  18. package/dist/room/events.d.ts +1 -1
  19. package/dist/room/participant/LocalParticipant.d.ts +9 -5
  20. package/dist/room/participant/RemoteParticipant.d.ts +9 -0
  21. package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
  22. package/dist/room/track/options.d.ts +1 -1
  23. package/dist/test/mocks.d.ts +11 -0
  24. package/dist/version.d.ts +1 -1
  25. package/package.json +41 -16
  26. package/.eslintrc.js +0 -17
  27. package/.gitmodules +0 -3
  28. package/dist/api/RequestQueue.js +0 -61
  29. package/dist/api/RequestQueue.js.map +0 -1
  30. package/dist/api/SignalClient.js +0 -428
  31. package/dist/api/SignalClient.js.map +0 -1
  32. package/dist/connect.js +0 -130
  33. package/dist/connect.js.map +0 -1
  34. package/dist/index.js +0 -71
  35. package/dist/index.js.map +0 -1
  36. package/dist/logger.js +0 -24
  37. package/dist/logger.js.map +0 -1
  38. package/dist/options.js +0 -3
  39. package/dist/options.js.map +0 -1
  40. package/dist/proto/google/protobuf/timestamp.js +0 -93
  41. package/dist/proto/google/protobuf/timestamp.js.map +0 -1
  42. package/dist/proto/livekit_models.js +0 -2688
  43. package/dist/proto/livekit_models.js.map +0 -1
  44. package/dist/proto/livekit_rtc.js +0 -2995
  45. package/dist/proto/livekit_rtc.js.map +0 -1
  46. package/dist/room/DeviceManager.js +0 -62
  47. package/dist/room/DeviceManager.js.map +0 -1
  48. package/dist/room/PCTransport.js +0 -91
  49. package/dist/room/PCTransport.js.map +0 -1
  50. package/dist/room/RTCEngine.js +0 -562
  51. package/dist/room/RTCEngine.js.map +0 -1
  52. package/dist/room/Room.js +0 -759
  53. package/dist/room/Room.js.map +0 -1
  54. package/dist/room/errors.js +0 -68
  55. package/dist/room/errors.js.map +0 -1
  56. package/dist/room/events.js +0 -385
  57. package/dist/room/events.js.map +0 -1
  58. package/dist/room/participant/LocalParticipant.js +0 -647
  59. package/dist/room/participant/LocalParticipant.js.map +0 -1
  60. package/dist/room/participant/Participant.js +0 -189
  61. package/dist/room/participant/Participant.js.map +0 -1
  62. package/dist/room/participant/ParticipantTrackPermission.js +0 -16
  63. package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
  64. package/dist/room/participant/RemoteParticipant.js +0 -194
  65. package/dist/room/participant/RemoteParticipant.js.map +0 -1
  66. package/dist/room/participant/publishUtils.js +0 -189
  67. package/dist/room/participant/publishUtils.js.map +0 -1
  68. package/dist/room/participant/publishUtils.test.d.ts +0 -1
  69. package/dist/room/participant/publishUtils.test.js +0 -118
  70. package/dist/room/participant/publishUtils.test.js.map +0 -1
  71. package/dist/room/stats.js +0 -26
  72. package/dist/room/stats.js.map +0 -1
  73. package/dist/room/track/LocalAudioTrack.js +0 -153
  74. package/dist/room/track/LocalAudioTrack.js.map +0 -1
  75. package/dist/room/track/LocalTrack.js +0 -158
  76. package/dist/room/track/LocalTrack.js.map +0 -1
  77. package/dist/room/track/LocalTrackPublication.js +0 -64
  78. package/dist/room/track/LocalTrackPublication.js.map +0 -1
  79. package/dist/room/track/LocalVideoTrack.js +0 -297
  80. package/dist/room/track/LocalVideoTrack.js.map +0 -1
  81. package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
  82. package/dist/room/track/LocalVideoTrack.test.js +0 -68
  83. package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
  84. package/dist/room/track/RemoteAudioTrack.js +0 -64
  85. package/dist/room/track/RemoteAudioTrack.js.map +0 -1
  86. package/dist/room/track/RemoteTrack.js +0 -49
  87. package/dist/room/track/RemoteTrack.js.map +0 -1
  88. package/dist/room/track/RemoteTrackPublication.js +0 -178
  89. package/dist/room/track/RemoteTrackPublication.js.map +0 -1
  90. package/dist/room/track/RemoteVideoTrack.js +0 -201
  91. package/dist/room/track/RemoteVideoTrack.js.map +0 -1
  92. package/dist/room/track/Track.js +0 -276
  93. package/dist/room/track/Track.js.map +0 -1
  94. package/dist/room/track/TrackPublication.js +0 -92
  95. package/dist/room/track/TrackPublication.js.map +0 -1
  96. package/dist/room/track/create.js +0 -131
  97. package/dist/room/track/create.js.map +0 -1
  98. package/dist/room/track/defaults.js +0 -21
  99. package/dist/room/track/defaults.js.map +0 -1
  100. package/dist/room/track/options.js +0 -100
  101. package/dist/room/track/options.js.map +0 -1
  102. package/dist/room/track/types.js +0 -3
  103. package/dist/room/track/types.js.map +0 -1
  104. package/dist/room/track/utils.js +0 -113
  105. package/dist/room/track/utils.js.map +0 -1
  106. package/dist/room/track/utils.test.d.ts +0 -1
  107. package/dist/room/track/utils.test.js +0 -85
  108. package/dist/room/track/utils.test.js.map +0 -1
  109. package/dist/room/utils.js +0 -79
  110. package/dist/room/utils.js.map +0 -1
  111. package/dist/version.js +0 -6
  112. package/dist/version.js.map +0 -1
  113. package/jest.config.js +0 -6
  114. package/src/api/RequestQueue.ts +0 -53
  115. package/src/api/SignalClient.ts +0 -499
  116. package/src/connect.ts +0 -100
  117. package/src/index.ts +0 -47
  118. package/src/logger.ts +0 -22
  119. package/src/options.ts +0 -149
  120. package/src/proto/google/protobuf/timestamp.ts +0 -222
  121. package/src/proto/livekit_models.ts +0 -3019
  122. package/src/proto/livekit_rtc.ts +0 -3677
  123. package/src/room/DeviceManager.ts +0 -57
  124. package/src/room/PCTransport.ts +0 -86
  125. package/src/room/RTCEngine.ts +0 -652
  126. package/src/room/Room.ts +0 -943
  127. package/src/room/errors.ts +0 -65
  128. package/src/room/events.ts +0 -424
  129. package/src/room/participant/LocalParticipant.ts +0 -734
  130. package/src/room/participant/Participant.ts +0 -269
  131. package/src/room/participant/ParticipantTrackPermission.ts +0 -32
  132. package/src/room/participant/RemoteParticipant.ts +0 -243
  133. package/src/room/participant/publishUtils.test.ts +0 -145
  134. package/src/room/participant/publishUtils.ts +0 -225
  135. package/src/room/stats.ts +0 -130
  136. package/src/room/track/LocalAudioTrack.ts +0 -137
  137. package/src/room/track/LocalTrack.ts +0 -161
  138. package/src/room/track/LocalTrackPublication.ts +0 -66
  139. package/src/room/track/LocalVideoTrack.test.ts +0 -70
  140. package/src/room/track/LocalVideoTrack.ts +0 -293
  141. package/src/room/track/RemoteAudioTrack.ts +0 -58
  142. package/src/room/track/RemoteTrack.ts +0 -62
  143. package/src/room/track/RemoteTrackPublication.ts +0 -198
  144. package/src/room/track/RemoteVideoTrack.ts +0 -235
  145. package/src/room/track/Track.ts +0 -337
  146. package/src/room/track/TrackPublication.ts +0 -120
  147. package/src/room/track/create.ts +0 -121
  148. package/src/room/track/defaults.ts +0 -23
  149. package/src/room/track/options.ts +0 -281
  150. package/src/room/track/types.ts +0 -20
  151. package/src/room/track/utils.test.ts +0 -93
  152. package/src/room/track/utils.ts +0 -115
  153. package/src/room/utils.ts +0 -70
  154. package/src/version.ts +0 -2
  155. package/tsconfig.eslint.json +0 -11
@@ -1,297 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.videoLayersFromEncodings = exports.videoQualityForRid = void 0;
16
- const logger_1 = __importDefault(require("../../logger"));
17
- const livekit_models_1 = require("../../proto/livekit_models");
18
- const stats_1 = require("../stats");
19
- const utils_1 = require("../utils");
20
- const LocalTrack_1 = __importDefault(require("./LocalTrack"));
21
- const Track_1 = require("./Track");
22
- const utils_2 = require("./utils");
23
- class LocalVideoTrack extends LocalTrack_1.default {
24
- constructor(mediaTrack, constraints) {
25
- super(mediaTrack, Track_1.Track.Kind.Video, constraints);
26
- this.monitorSender = () => __awaiter(this, void 0, void 0, function* () {
27
- if (!this.sender) {
28
- this._currentBitrate = 0;
29
- return;
30
- }
31
- let stats;
32
- try {
33
- stats = yield this.getSenderStats();
34
- }
35
- catch (e) {
36
- logger_1.default.error('could not get audio sender stats', e);
37
- return;
38
- }
39
- const statsMap = new Map(stats.map((s) => [s.rid, s]));
40
- if (this.prevStats) {
41
- let totalBitrate = 0;
42
- statsMap.forEach((s, key) => {
43
- var _a;
44
- const prev = (_a = this.prevStats) === null || _a === void 0 ? void 0 : _a.get(key);
45
- totalBitrate += stats_1.computeBitrate(s, prev);
46
- });
47
- this._currentBitrate = totalBitrate;
48
- }
49
- this.prevStats = statsMap;
50
- setTimeout(() => {
51
- this.monitorSender();
52
- }, stats_1.monitorFrequency);
53
- });
54
- }
55
- get isSimulcast() {
56
- if (this.sender && this.sender.getParameters().encodings.length > 1) {
57
- return true;
58
- }
59
- return false;
60
- }
61
- /* @internal */
62
- startMonitor(signalClient) {
63
- var _a;
64
- this.signalClient = signalClient;
65
- // save original encodings
66
- const params = (_a = this.sender) === null || _a === void 0 ? void 0 : _a.getParameters();
67
- if (params) {
68
- this.encodings = params.encodings;
69
- }
70
- setTimeout(() => {
71
- this.monitorSender();
72
- }, stats_1.monitorFrequency);
73
- }
74
- stop() {
75
- this.sender = undefined;
76
- this.mediaStreamTrack.getConstraints();
77
- super.stop();
78
- }
79
- mute() {
80
- const _super = Object.create(null, {
81
- mute: { get: () => super.mute }
82
- });
83
- return __awaiter(this, void 0, void 0, function* () {
84
- if (this.source === Track_1.Track.Source.Camera) {
85
- logger_1.default.debug('stopping camera track');
86
- // also stop the track, so that camera indicator is turned off
87
- this.mediaStreamTrack.stop();
88
- }
89
- yield _super.mute.call(this);
90
- return this;
91
- });
92
- }
93
- unmute() {
94
- const _super = Object.create(null, {
95
- unmute: { get: () => super.unmute }
96
- });
97
- return __awaiter(this, void 0, void 0, function* () {
98
- if (this.source === Track_1.Track.Source.Camera) {
99
- logger_1.default.debug('reacquiring camera track');
100
- yield this.restartTrack();
101
- }
102
- yield _super.unmute.call(this);
103
- return this;
104
- });
105
- }
106
- getSenderStats() {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- if (!this.sender) {
109
- return [];
110
- }
111
- const items = [];
112
- const stats = yield this.sender.getStats();
113
- stats.forEach((v) => {
114
- var _a;
115
- if (v.type === 'outbound-rtp') {
116
- const vs = {
117
- type: 'video',
118
- streamId: v.id,
119
- frameHeight: v.frameHeight,
120
- frameWidth: v.frameWidth,
121
- firCount: v.firCount,
122
- pliCount: v.pliCount,
123
- nackCount: v.nackCount,
124
- packetsSent: v.packetsSent,
125
- bytesSent: v.bytesSent,
126
- framesSent: v.framesSent,
127
- timestamp: v.timestamp,
128
- rid: (_a = v.rid) !== null && _a !== void 0 ? _a : '',
129
- retransmittedPacketsSent: v.retransmittedPacketsSent,
130
- qualityLimitationReason: v.qualityLimitationReason,
131
- qualityLimitationResolutionChanges: v.qualityLimitationResolutionChanges,
132
- };
133
- // locate the appropriate remote-inbound-rtp item
134
- const r = stats.get(v.remoteId);
135
- if (r) {
136
- vs.jitter = r.jitter;
137
- vs.packetsLost = r.packetsLost;
138
- vs.roundTripTime = r.roundTripTime;
139
- }
140
- items.push(vs);
141
- }
142
- });
143
- return items;
144
- });
145
- }
146
- setPublishingQuality(maxQuality) {
147
- const qualities = [];
148
- for (let q = livekit_models_1.VideoQuality.LOW; q <= livekit_models_1.VideoQuality.HIGH; q += 1) {
149
- qualities.push({
150
- quality: q,
151
- enabled: q <= maxQuality,
152
- });
153
- }
154
- logger_1.default.debug('setting publishing quality. max quality', maxQuality);
155
- this.setPublishingLayers(qualities);
156
- }
157
- setDeviceId(deviceId) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- if (this.constraints.deviceId === deviceId) {
160
- return;
161
- }
162
- this.constraints.deviceId = deviceId;
163
- // when video is muted, underlying media stream track is stopped and
164
- // will be restarted later
165
- if (!this.isMuted) {
166
- yield this.restartTrack();
167
- }
168
- });
169
- }
170
- restartTrack(options) {
171
- return __awaiter(this, void 0, void 0, function* () {
172
- let constraints;
173
- if (options) {
174
- const streamConstraints = utils_2.constraintsForOptions({ video: options });
175
- if (typeof streamConstraints.video !== 'boolean') {
176
- constraints = streamConstraints.video;
177
- }
178
- }
179
- yield this.restart(constraints);
180
- });
181
- }
182
- /**
183
- * @internal
184
- * Sets layers that should be publishing
185
- */
186
- setPublishingLayers(qualities) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- logger_1.default.debug('setting publishing layers', qualities);
189
- if (!this.sender || !this.encodings) {
190
- return;
191
- }
192
- const params = this.sender.getParameters();
193
- const { encodings } = params;
194
- if (!encodings) {
195
- return;
196
- }
197
- if (encodings.length !== this.encodings.length) {
198
- logger_1.default.warn('cannot set publishing layers, encodings mismatch');
199
- return;
200
- }
201
- let hasChanged = false;
202
- encodings.forEach((encoding, idx) => {
203
- var _a;
204
- let rid = (_a = encoding.rid) !== null && _a !== void 0 ? _a : '';
205
- if (rid === '') {
206
- rid = 'q';
207
- }
208
- const quality = videoQualityForRid(rid);
209
- const subscribedQuality = qualities.find((q) => q.quality === quality);
210
- if (!subscribedQuality) {
211
- return;
212
- }
213
- if (encoding.active !== subscribedQuality.enabled) {
214
- hasChanged = true;
215
- encoding.active = subscribedQuality.enabled;
216
- logger_1.default.debug(`setting layer ${subscribedQuality.quality} to ${encoding.active ? 'enabled' : 'disabled'}`);
217
- // FireFox does not support setting encoding.active to false, so we
218
- // have a workaround of lowering its bitrate and resolution to the min.
219
- if (utils_1.isFireFox()) {
220
- if (subscribedQuality.enabled) {
221
- encoding.scaleResolutionDownBy = this.encodings[idx].scaleResolutionDownBy;
222
- encoding.maxBitrate = this.encodings[idx].maxBitrate;
223
- /* @ts-ignore */
224
- encoding.maxFrameRate = this.encodings[idx].maxFrameRate;
225
- }
226
- else {
227
- encoding.scaleResolutionDownBy = 4;
228
- encoding.maxBitrate = 10;
229
- /* @ts-ignore */
230
- encoding.maxFrameRate = 2;
231
- }
232
- }
233
- }
234
- });
235
- if (hasChanged) {
236
- params.encodings = encodings;
237
- yield this.sender.setParameters(params);
238
- }
239
- });
240
- }
241
- handleAppVisibilityChanged() {
242
- const _super = Object.create(null, {
243
- handleAppVisibilityChanged: { get: () => super.handleAppVisibilityChanged }
244
- });
245
- return __awaiter(this, void 0, void 0, function* () {
246
- yield _super.handleAppVisibilityChanged.call(this);
247
- if (!utils_1.isMobile())
248
- return;
249
- if (this.isInBackground && this.source === Track_1.Track.Source.Camera) {
250
- this.mediaStreamTrack.enabled = false;
251
- }
252
- });
253
- }
254
- }
255
- exports.default = LocalVideoTrack;
256
- function videoQualityForRid(rid) {
257
- switch (rid) {
258
- case 'f':
259
- return livekit_models_1.VideoQuality.HIGH;
260
- case 'h':
261
- return livekit_models_1.VideoQuality.MEDIUM;
262
- case 'q':
263
- return livekit_models_1.VideoQuality.LOW;
264
- default:
265
- return livekit_models_1.VideoQuality.UNRECOGNIZED;
266
- }
267
- }
268
- exports.videoQualityForRid = videoQualityForRid;
269
- function videoLayersFromEncodings(width, height, encodings) {
270
- // default to a single layer, HQ
271
- if (!encodings) {
272
- return [{
273
- quality: livekit_models_1.VideoQuality.HIGH,
274
- width,
275
- height,
276
- bitrate: 0,
277
- ssrc: 0,
278
- }];
279
- }
280
- return encodings.map((encoding) => {
281
- var _a, _b, _c;
282
- const scale = (_a = encoding.scaleResolutionDownBy) !== null && _a !== void 0 ? _a : 1;
283
- let quality = videoQualityForRid((_b = encoding.rid) !== null && _b !== void 0 ? _b : '');
284
- if (quality === livekit_models_1.VideoQuality.UNRECOGNIZED && encodings.length === 1) {
285
- quality = livekit_models_1.VideoQuality.HIGH;
286
- }
287
- return {
288
- quality,
289
- width: width / scale,
290
- height: height / scale,
291
- bitrate: (_c = encoding.maxBitrate) !== null && _c !== void 0 ? _c : 0,
292
- ssrc: 0,
293
- };
294
- });
295
- }
296
- exports.videoLayersFromEncodings = videoLayersFromEncodings;
297
- //# sourceMappingURL=LocalVideoTrack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const livekit_models_1 = require("../../proto/livekit_models");
4
- const LocalVideoTrack_1 = require("./LocalVideoTrack");
5
- describe('videoLayersFromEncodings', () => {
6
- it('returns single layer for no encoding', () => {
7
- const layers = LocalVideoTrack_1.videoLayersFromEncodings(640, 360);
8
- expect(layers).toHaveLength(1);
9
- expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.HIGH);
10
- expect(layers[0].width).toBe(640);
11
- expect(layers[0].height).toBe(360);
12
- });
13
- it('returns single layer for explicit encoding', () => {
14
- const layers = LocalVideoTrack_1.videoLayersFromEncodings(640, 360, [{
15
- maxBitrate: 200000,
16
- }]);
17
- expect(layers).toHaveLength(1);
18
- expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.HIGH);
19
- expect(layers[0].bitrate).toBe(200000);
20
- });
21
- it('returns three layers for simulcast', () => {
22
- const layers = LocalVideoTrack_1.videoLayersFromEncodings(1280, 720, [
23
- {
24
- scaleResolutionDownBy: 4,
25
- rid: 'q',
26
- maxBitrate: 125000,
27
- },
28
- {
29
- scaleResolutionDownBy: 2,
30
- rid: 'h',
31
- maxBitrate: 500000,
32
- },
33
- {
34
- rid: 'f',
35
- maxBitrate: 1200000,
36
- },
37
- ]);
38
- expect(layers).toHaveLength(3);
39
- expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.LOW);
40
- expect(layers[0].width).toBe(320);
41
- expect(layers[2].quality).toBe(livekit_models_1.VideoQuality.HIGH);
42
- expect(layers[2].height).toBe(720);
43
- });
44
- it('handles portrait', () => {
45
- const layers = LocalVideoTrack_1.videoLayersFromEncodings(720, 1280, [
46
- {
47
- scaleResolutionDownBy: 4,
48
- rid: 'q',
49
- maxBitrate: 125000,
50
- },
51
- {
52
- scaleResolutionDownBy: 2,
53
- rid: 'h',
54
- maxBitrate: 500000,
55
- },
56
- {
57
- rid: 'f',
58
- maxBitrate: 1200000,
59
- },
60
- ]);
61
- expect(layers).toHaveLength(3);
62
- expect(layers[0].quality).toBe(livekit_models_1.VideoQuality.LOW);
63
- expect(layers[0].height).toBe(320);
64
- expect(layers[2].quality).toBe(livekit_models_1.VideoQuality.HIGH);
65
- expect(layers[2].width).toBe(720);
66
- });
67
- });
68
- //# sourceMappingURL=LocalVideoTrack.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalVideoTrack.test.js","sourceRoot":"","sources":["../../../src/room/track/LocalVideoTrack.test.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const stats_1 = require("../stats");
16
- const RemoteTrack_1 = __importDefault(require("./RemoteTrack"));
17
- const Track_1 = require("./Track");
18
- class RemoteAudioTrack extends RemoteTrack_1.default {
19
- constructor(mediaTrack, sid, receiver) {
20
- super(mediaTrack, sid, Track_1.Track.Kind.Audio, receiver);
21
- this.monitorReceiver = () => __awaiter(this, void 0, void 0, function* () {
22
- if (!this.receiver) {
23
- this._currentBitrate = 0;
24
- return;
25
- }
26
- const stats = yield this.getReceiverStats();
27
- if (stats && this.prevStats && this.receiver) {
28
- this._currentBitrate = stats_1.computeBitrate(stats, this.prevStats);
29
- }
30
- this.prevStats = stats;
31
- setTimeout(() => {
32
- this.monitorReceiver();
33
- }, stats_1.monitorFrequency);
34
- });
35
- }
36
- getReceiverStats() {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- if (!this.receiver) {
39
- return;
40
- }
41
- const stats = yield this.receiver.getStats();
42
- let receiverStats;
43
- stats.forEach((v) => {
44
- if (v.type === 'inbound-rtp') {
45
- receiverStats = {
46
- type: 'audio',
47
- timestamp: v.timestamp,
48
- jitter: v.jitter,
49
- bytesReceived: v.bytesReceived,
50
- concealedSamples: v.concealedSamples,
51
- concealmentEvents: v.concealmentEvents,
52
- silentConcealedSamples: v.silentConcealedSamples,
53
- silentConcealmentEvents: v.silentConcealmentEvents,
54
- totalAudioEnergy: v.totalAudioEnergy,
55
- totalSamplesDuration: v.totalSamplesDuration,
56
- };
57
- }
58
- });
59
- return receiverStats;
60
- });
61
- }
62
- }
63
- exports.default = RemoteAudioTrack;
64
- //# sourceMappingURL=RemoteAudioTrack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteAudioTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteAudioTrack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAAgF;AAChF,gEAAwC;AACxC,mCAAgC;AAEhC,MAAqB,gBAAiB,SAAQ,qBAAW;IAGvD,YACE,UAA4B,EAC5B,GAAW,EACX,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAG3C,oBAAe,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACzB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE5C,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC5C,IAAI,CAAC,eAAe,GAAG,sBAAc,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;QACvB,CAAC,CAAA,CAAC;IAjBF,CAAC;IAmBe,gBAAgB;;YAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,OAAO;aACR;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,aAA6C,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE;oBAC5B,aAAa,GAAG;wBACd,IAAI,EAAE,OAAO;wBACb,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;wBAC9B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;wBACtC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;wBAChD,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;wBAClD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;wBACpC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;qBAC7C,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;KAAA;CACF;AArDD,mCAqDC"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const events_1 = require("../events");
4
- const stats_1 = require("../stats");
5
- const Track_1 = require("./Track");
6
- class RemoteTrack extends Track_1.Track {
7
- constructor(mediaTrack, sid, kind, receiver) {
8
- super(mediaTrack, kind);
9
- this.streamState = Track_1.Track.StreamState.Active;
10
- this.sid = sid;
11
- this.receiver = receiver;
12
- }
13
- /** @internal */
14
- setMuted(muted) {
15
- if (this.isMuted !== muted) {
16
- this.isMuted = muted;
17
- this.emit(muted ? events_1.TrackEvent.Muted : events_1.TrackEvent.Unmuted, this);
18
- }
19
- }
20
- /** @internal */
21
- setMediaStream(stream) {
22
- // this is needed to determine when the track is finished
23
- // we send each track down in its own MediaStream, so we can assume the
24
- // current track is the only one that can be removed.
25
- this.mediaStream = stream;
26
- stream.onremovetrack = () => {
27
- this.receiver = undefined;
28
- this._currentBitrate = 0;
29
- this.emit(events_1.TrackEvent.Ended, this);
30
- };
31
- }
32
- start() {
33
- this.startMonitor();
34
- // use `enabled` of track to enable re-use of transceiver
35
- super.enable();
36
- }
37
- stop() {
38
- // use `enabled` of track to enable re-use of transceiver
39
- super.disable();
40
- }
41
- /* @internal */
42
- startMonitor() {
43
- setTimeout(() => {
44
- this.monitorReceiver();
45
- }, stats_1.monitorFrequency);
46
- }
47
- }
48
- exports.default = RemoteTrack;
49
- //# sourceMappingURL=RemoteTrack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteTrack.ts"],"names":[],"mappings":";;AAAA,sCAAuC;AACvC,oCAA4C;AAC5C,mCAAgC;AAEhC,MAA8B,WAAY,SAAQ,aAAK;IAMrD,YACE,UAA4B,EAC5B,GAAW,EACX,IAAgB,EAChB,QAAyB;QAEzB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAR1B,gBAAW,GAAsB,aAAK,CAAC,WAAW,CAAC,MAAM,CAAC;QASxD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,gBAAgB;IAChB,QAAQ,CAAC,KAAc;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAChE;IACH,CAAC;IAED,gBAAgB;IAChB,cAAc,CAAC,MAAmB;QAChC,yDAAyD;QACzD,uEAAuE;QACvE,qDAAqD;QACrD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,yDAAyD;QACzD,KAAK,CAAC,MAAM,EAAE,CAAC;IACjB,CAAC;IAED,IAAI;QACF,yDAAyD;QACzD,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,eAAe;IACf,YAAY;QACV,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,EAAE,wBAAgB,CAAC,CAAC;IACvB,CAAC;CAGF;AAzDD,8BAyDC"}