livekit-client 0.17.5 → 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.
- package/CHANGELOG.md +1 -1
- package/README.md +26 -20
- package/dist/api/SignalClient.d.ts +1 -0
- package/dist/connect.d.ts +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/livekit-client.esm.js +17344 -0
- package/dist/livekit-client.esm.js.map +1 -0
- package/dist/livekit-client.umd.js +17388 -0
- package/dist/livekit-client.umd.js.map +1 -0
- package/dist/logger.d.ts +22 -11
- package/dist/options.d.ts +4 -2
- package/dist/proto/google/protobuf/timestamp.d.ts +1 -1
- package/dist/proto/livekit_models.d.ts +4 -1
- package/dist/proto/livekit_rtc.d.ts +45 -2
- package/dist/room/DeviceManager.d.ts +1 -1
- package/dist/room/RTCEngine.d.ts +1 -1
- package/dist/room/Room.d.ts +2 -2
- package/dist/room/events.d.ts +1 -1
- package/dist/room/participant/LocalParticipant.d.ts +9 -5
- package/dist/room/participant/RemoteParticipant.d.ts +9 -0
- package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
- package/dist/test/mocks.d.ts +11 -0
- package/package.json +40 -15
- package/.eslintrc.js +0 -17
- package/.gitmodules +0 -3
- package/dist/api/RequestQueue.js +0 -61
- package/dist/api/RequestQueue.js.map +0 -1
- package/dist/api/SignalClient.js +0 -428
- package/dist/api/SignalClient.js.map +0 -1
- package/dist/connect.js +0 -130
- package/dist/connect.js.map +0 -1
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -24
- package/dist/logger.js.map +0 -1
- package/dist/options.js +0 -3
- package/dist/options.js.map +0 -1
- package/dist/proto/google/protobuf/timestamp.js +0 -108
- package/dist/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/proto/livekit_models.js +0 -2262
- package/dist/proto/livekit_models.js.map +0 -1
- package/dist/proto/livekit_rtc.js +0 -2544
- package/dist/proto/livekit_rtc.js.map +0 -1
- package/dist/room/DeviceManager.js +0 -62
- package/dist/room/DeviceManager.js.map +0 -1
- package/dist/room/PCTransport.js +0 -91
- package/dist/room/PCTransport.js.map +0 -1
- package/dist/room/RTCEngine.js +0 -562
- package/dist/room/RTCEngine.js.map +0 -1
- package/dist/room/Room.js +0 -767
- package/dist/room/Room.js.map +0 -1
- package/dist/room/errors.js +0 -68
- package/dist/room/errors.js.map +0 -1
- package/dist/room/events.js +0 -385
- package/dist/room/events.js.map +0 -1
- package/dist/room/participant/LocalParticipant.js +0 -647
- package/dist/room/participant/LocalParticipant.js.map +0 -1
- package/dist/room/participant/Participant.js +0 -189
- package/dist/room/participant/Participant.js.map +0 -1
- package/dist/room/participant/ParticipantTrackPermission.js +0 -16
- package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
- package/dist/room/participant/RemoteParticipant.js +0 -194
- package/dist/room/participant/RemoteParticipant.js.map +0 -1
- package/dist/room/participant/publishUtils.js +0 -189
- package/dist/room/participant/publishUtils.js.map +0 -1
- package/dist/room/participant/publishUtils.test.d.ts +0 -1
- package/dist/room/participant/publishUtils.test.js +0 -118
- package/dist/room/participant/publishUtils.test.js.map +0 -1
- package/dist/room/stats.js +0 -26
- package/dist/room/stats.js.map +0 -1
- package/dist/room/track/LocalAudioTrack.js +0 -153
- package/dist/room/track/LocalAudioTrack.js.map +0 -1
- package/dist/room/track/LocalTrack.js +0 -158
- package/dist/room/track/LocalTrack.js.map +0 -1
- package/dist/room/track/LocalTrackPublication.js +0 -64
- package/dist/room/track/LocalTrackPublication.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.js +0 -297
- package/dist/room/track/LocalVideoTrack.js.map +0 -1
- package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
- package/dist/room/track/LocalVideoTrack.test.js +0 -68
- package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
- package/dist/room/track/RemoteAudioTrack.js +0 -64
- package/dist/room/track/RemoteAudioTrack.js.map +0 -1
- package/dist/room/track/RemoteTrack.js +0 -49
- package/dist/room/track/RemoteTrack.js.map +0 -1
- package/dist/room/track/RemoteTrackPublication.js +0 -178
- package/dist/room/track/RemoteTrackPublication.js.map +0 -1
- package/dist/room/track/RemoteVideoTrack.js +0 -201
- package/dist/room/track/RemoteVideoTrack.js.map +0 -1
- package/dist/room/track/Track.js +0 -283
- package/dist/room/track/Track.js.map +0 -1
- package/dist/room/track/TrackPublication.js +0 -92
- package/dist/room/track/TrackPublication.js.map +0 -1
- package/dist/room/track/create.js +0 -131
- package/dist/room/track/create.js.map +0 -1
- package/dist/room/track/defaults.js +0 -21
- package/dist/room/track/defaults.js.map +0 -1
- package/dist/room/track/options.js +0 -100
- package/dist/room/track/options.js.map +0 -1
- package/dist/room/track/types.js +0 -3
- package/dist/room/track/types.js.map +0 -1
- package/dist/room/track/utils.js +0 -113
- package/dist/room/track/utils.js.map +0 -1
- package/dist/room/track/utils.test.d.ts +0 -1
- package/dist/room/track/utils.test.js +0 -85
- package/dist/room/track/utils.test.js.map +0 -1
- package/dist/room/utils.js +0 -79
- package/dist/room/utils.js.map +0 -1
- package/dist/version.js +0 -6
- package/dist/version.js.map +0 -1
- package/jest.config.js +0 -6
- package/src/api/RequestQueue.ts +0 -53
- package/src/api/SignalClient.ts +0 -499
- package/src/connect.ts +0 -100
- package/src/index.ts +0 -47
- package/src/logger.ts +0 -22
- package/src/options.ts +0 -149
- package/src/proto/google/protobuf/timestamp.ts +0 -232
- package/src/proto/livekit_models.ts +0 -2676
- package/src/proto/livekit_rtc.ts +0 -3269
- package/src/room/DeviceManager.ts +0 -57
- package/src/room/PCTransport.ts +0 -86
- package/src/room/RTCEngine.ts +0 -652
- package/src/room/Room.ts +0 -951
- package/src/room/errors.ts +0 -65
- package/src/room/events.ts +0 -424
- package/src/room/participant/LocalParticipant.ts +0 -734
- package/src/room/participant/Participant.ts +0 -269
- package/src/room/participant/ParticipantTrackPermission.ts +0 -32
- package/src/room/participant/RemoteParticipant.ts +0 -243
- package/src/room/participant/publishUtils.test.ts +0 -145
- package/src/room/participant/publishUtils.ts +0 -225
- package/src/room/stats.ts +0 -130
- package/src/room/track/LocalAudioTrack.ts +0 -137
- package/src/room/track/LocalTrack.ts +0 -161
- package/src/room/track/LocalTrackPublication.ts +0 -66
- package/src/room/track/LocalVideoTrack.test.ts +0 -70
- package/src/room/track/LocalVideoTrack.ts +0 -293
- package/src/room/track/RemoteAudioTrack.ts +0 -58
- package/src/room/track/RemoteTrack.ts +0 -62
- package/src/room/track/RemoteTrackPublication.ts +0 -198
- package/src/room/track/RemoteVideoTrack.ts +0 -235
- package/src/room/track/Track.ts +0 -343
- package/src/room/track/TrackPublication.ts +0 -120
- package/src/room/track/create.ts +0 -121
- package/src/room/track/defaults.ts +0 -23
- package/src/room/track/options.ts +0 -281
- package/src/room/track/types.ts +0 -20
- package/src/room/track/utils.test.ts +0 -93
- package/src/room/track/utils.ts +0 -115
- package/src/room/utils.ts +0 -70
- package/src/version.ts +0 -2
- package/tsconfig.eslint.json +0 -11
package/dist/api/RequestQueue.js
DELETED
@@ -1,61 +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 logger_1 = __importDefault(require("../logger"));
|
16
|
-
class Queue {
|
17
|
-
constructor() {
|
18
|
-
this.queue = [];
|
19
|
-
this.running = false;
|
20
|
-
}
|
21
|
-
enqueue(cb) {
|
22
|
-
logger_1.default.trace('enqueuing request to fire later');
|
23
|
-
this.queue.push(cb);
|
24
|
-
}
|
25
|
-
dequeue() {
|
26
|
-
const evt = this.queue.shift();
|
27
|
-
if (evt)
|
28
|
-
evt();
|
29
|
-
logger_1.default.trace('firing request from queue');
|
30
|
-
}
|
31
|
-
run() {
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
33
|
-
if (this.running)
|
34
|
-
return;
|
35
|
-
logger_1.default.trace('start queue');
|
36
|
-
this.running = true;
|
37
|
-
while (this.running && this.queue.length > 0) {
|
38
|
-
this.dequeue();
|
39
|
-
}
|
40
|
-
this.running = false;
|
41
|
-
logger_1.default.trace('queue finished');
|
42
|
-
});
|
43
|
-
}
|
44
|
-
pause() {
|
45
|
-
logger_1.default.trace('pausing queue');
|
46
|
-
this.running = false;
|
47
|
-
}
|
48
|
-
reset() {
|
49
|
-
logger_1.default.trace('resetting queue');
|
50
|
-
this.running = false;
|
51
|
-
this.queue = [];
|
52
|
-
}
|
53
|
-
isRunning() {
|
54
|
-
return this.running;
|
55
|
-
}
|
56
|
-
isEmpty() {
|
57
|
-
return this.queue.length === 0;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
exports.default = Queue;
|
61
|
-
//# sourceMappingURL=RequestQueue.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"RequestQueue.js","sourceRoot":"","sources":["../../src/api/RequestQueue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uDAA4B;AAE5B,MAAqB,KAAK;IAKxB;QACE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,EAAc;QACpB,gBAAG,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,GAAG;YAAE,GAAG,EAAE,CAAC;QACf,gBAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC;IAEK,GAAG;;YACP,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,gBAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,gBAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9B,CAAC;KAAA;IAED,KAAK;QACH,gBAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK;QACH,gBAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AAlDD,wBAkDC"}
|
package/dist/api/SignalClient.js
DELETED
@@ -1,428 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
-
}) : (function(o, m, k, k2) {
|
6
|
-
if (k2 === undefined) k2 = k;
|
7
|
-
o[k2] = m[k];
|
8
|
-
}));
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
11
|
-
}) : function(o, v) {
|
12
|
-
o["default"] = v;
|
13
|
-
});
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
15
|
-
if (mod && mod.__esModule) return mod;
|
16
|
-
var result = {};
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
18
|
-
__setModuleDefault(result, mod);
|
19
|
-
return result;
|
20
|
-
};
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
28
|
-
});
|
29
|
-
};
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
32
|
-
};
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
34
|
-
exports.toProtoSessionDescription = exports.SignalClient = void 0;
|
35
|
-
const logger_1 = __importDefault(require("../logger"));
|
36
|
-
const livekit_rtc_1 = require("../proto/livekit_rtc");
|
37
|
-
const errors_1 = require("../room/errors");
|
38
|
-
const utils_1 = require("../room/utils");
|
39
|
-
const RequestQueue_1 = __importDefault(require("./RequestQueue"));
|
40
|
-
if (utils_1.isWeb()) {
|
41
|
-
Promise.resolve().then(() => __importStar(require('webrtc-adapter')));
|
42
|
-
}
|
43
|
-
const passThroughQueueSignals = [
|
44
|
-
'syncState',
|
45
|
-
'trickle',
|
46
|
-
'offer',
|
47
|
-
'answer',
|
48
|
-
'simulate',
|
49
|
-
'leave',
|
50
|
-
];
|
51
|
-
function canPassThroughQueue(req) {
|
52
|
-
const canPass = Object.keys(req)
|
53
|
-
.find((key) => passThroughQueueSignals.includes(key)) !== undefined;
|
54
|
-
logger_1.default.trace('request allowed to bypass queue:', canPass, req);
|
55
|
-
return canPass;
|
56
|
-
}
|
57
|
-
/** @internal */
|
58
|
-
class SignalClient {
|
59
|
-
constructor(useJSON = false) {
|
60
|
-
this.isConnected = false;
|
61
|
-
this.isReconnecting = false;
|
62
|
-
this.useJSON = useJSON;
|
63
|
-
this.requestQueue = new RequestQueue_1.default();
|
64
|
-
}
|
65
|
-
join(url, token, opts) {
|
66
|
-
return __awaiter(this, void 0, void 0, function* () {
|
67
|
-
// during a full reconnect, we'd want to start the sequence even if currently
|
68
|
-
// connected
|
69
|
-
this.isConnected = false;
|
70
|
-
const res = yield this.connect(url, token, {
|
71
|
-
autoSubscribe: opts === null || opts === void 0 ? void 0 : opts.autoSubscribe,
|
72
|
-
publishOnly: opts === null || opts === void 0 ? void 0 : opts.publishOnly,
|
73
|
-
});
|
74
|
-
return res;
|
75
|
-
});
|
76
|
-
}
|
77
|
-
reconnect(url, token) {
|
78
|
-
return __awaiter(this, void 0, void 0, function* () {
|
79
|
-
this.isReconnecting = true;
|
80
|
-
yield this.connect(url, token, {
|
81
|
-
reconnect: true,
|
82
|
-
});
|
83
|
-
});
|
84
|
-
}
|
85
|
-
connect(url, token, opts) {
|
86
|
-
if (url.startsWith('http')) {
|
87
|
-
url = url.replace('http', 'ws');
|
88
|
-
}
|
89
|
-
// strip trailing slash
|
90
|
-
url = url.replace(/\/$/, '');
|
91
|
-
url += '/rtc';
|
92
|
-
const clientInfo = utils_1.getClientInfo();
|
93
|
-
const params = createConnectionParams(token, clientInfo, opts);
|
94
|
-
return new Promise((resolve, reject) => {
|
95
|
-
logger_1.default.debug('connecting to', url + params);
|
96
|
-
this.ws = undefined;
|
97
|
-
const ws = new WebSocket(url + params);
|
98
|
-
ws.binaryType = 'arraybuffer';
|
99
|
-
ws.onerror = (ev) => __awaiter(this, void 0, void 0, function* () {
|
100
|
-
if (!this.ws) {
|
101
|
-
try {
|
102
|
-
const resp = yield fetch(`http${url.substring(2)}/validate${params}`);
|
103
|
-
if (!resp.ok) {
|
104
|
-
const msg = yield resp.text();
|
105
|
-
reject(new errors_1.ConnectionError(msg));
|
106
|
-
}
|
107
|
-
else {
|
108
|
-
reject(new errors_1.ConnectionError('Internal error'));
|
109
|
-
}
|
110
|
-
}
|
111
|
-
catch (e) {
|
112
|
-
reject(new errors_1.ConnectionError('server was not reachable'));
|
113
|
-
}
|
114
|
-
return;
|
115
|
-
}
|
116
|
-
// other errors, handle
|
117
|
-
this.handleWSError(ev);
|
118
|
-
});
|
119
|
-
ws.onopen = () => {
|
120
|
-
this.ws = ws;
|
121
|
-
if (opts.reconnect) {
|
122
|
-
// upon reconnection, there will not be additional handshake
|
123
|
-
this.isConnected = true;
|
124
|
-
resolve();
|
125
|
-
}
|
126
|
-
};
|
127
|
-
ws.onmessage = (ev) => __awaiter(this, void 0, void 0, function* () {
|
128
|
-
// not considered connected until JoinResponse is received
|
129
|
-
let msg;
|
130
|
-
if (typeof ev.data === 'string') {
|
131
|
-
const json = JSON.parse(ev.data);
|
132
|
-
msg = livekit_rtc_1.SignalResponse.fromJSON(json);
|
133
|
-
}
|
134
|
-
else if (ev.data instanceof ArrayBuffer) {
|
135
|
-
msg = livekit_rtc_1.SignalResponse.decode(new Uint8Array(ev.data));
|
136
|
-
}
|
137
|
-
else {
|
138
|
-
logger_1.default.error('could not decode websocket message', typeof ev.data);
|
139
|
-
return;
|
140
|
-
}
|
141
|
-
if (!this.isConnected) {
|
142
|
-
// handle join message only
|
143
|
-
if (msg.join) {
|
144
|
-
this.isConnected = true;
|
145
|
-
resolve(msg.join);
|
146
|
-
}
|
147
|
-
else {
|
148
|
-
reject(new errors_1.ConnectionError('did not receive join response'));
|
149
|
-
}
|
150
|
-
return;
|
151
|
-
}
|
152
|
-
if (this.signalLatency) {
|
153
|
-
yield utils_1.sleep(this.signalLatency);
|
154
|
-
}
|
155
|
-
this.handleSignalResponse(msg);
|
156
|
-
});
|
157
|
-
ws.onclose = (ev) => {
|
158
|
-
if (!this.isConnected || this.ws !== ws)
|
159
|
-
return;
|
160
|
-
logger_1.default.debug('websocket connection closed', ev.reason);
|
161
|
-
this.isConnected = false;
|
162
|
-
if (this.onClose)
|
163
|
-
this.onClose(ev.reason);
|
164
|
-
if (this.ws === ws) {
|
165
|
-
this.ws = undefined;
|
166
|
-
}
|
167
|
-
};
|
168
|
-
});
|
169
|
-
}
|
170
|
-
close() {
|
171
|
-
var _a;
|
172
|
-
this.isConnected = false;
|
173
|
-
if (this.ws)
|
174
|
-
this.ws.onclose = null;
|
175
|
-
(_a = this.ws) === null || _a === void 0 ? void 0 : _a.close();
|
176
|
-
this.ws = undefined;
|
177
|
-
}
|
178
|
-
// initial offer after joining
|
179
|
-
sendOffer(offer) {
|
180
|
-
logger_1.default.debug('sending offer', offer);
|
181
|
-
this.sendRequest({
|
182
|
-
offer: toProtoSessionDescription(offer),
|
183
|
-
});
|
184
|
-
}
|
185
|
-
// answer a server-initiated offer
|
186
|
-
sendAnswer(answer) {
|
187
|
-
logger_1.default.debug('sending answer');
|
188
|
-
this.sendRequest({
|
189
|
-
answer: toProtoSessionDescription(answer),
|
190
|
-
});
|
191
|
-
}
|
192
|
-
sendIceCandidate(candidate, target) {
|
193
|
-
logger_1.default.trace('sending ice candidate', candidate);
|
194
|
-
this.sendRequest({
|
195
|
-
trickle: {
|
196
|
-
candidateInit: JSON.stringify(candidate),
|
197
|
-
target,
|
198
|
-
},
|
199
|
-
});
|
200
|
-
}
|
201
|
-
sendMuteTrack(trackSid, muted) {
|
202
|
-
this.sendRequest({
|
203
|
-
mute: {
|
204
|
-
sid: trackSid,
|
205
|
-
muted,
|
206
|
-
},
|
207
|
-
});
|
208
|
-
}
|
209
|
-
sendAddTrack(req) {
|
210
|
-
this.sendRequest({
|
211
|
-
addTrack: livekit_rtc_1.AddTrackRequest.fromPartial(req),
|
212
|
-
});
|
213
|
-
}
|
214
|
-
sendUpdateTrackSettings(settings) {
|
215
|
-
this.sendRequest({ trackSetting: settings });
|
216
|
-
}
|
217
|
-
sendUpdateSubscription(sub) {
|
218
|
-
this.sendRequest({ subscription: sub });
|
219
|
-
}
|
220
|
-
sendSyncState(sync) {
|
221
|
-
this.sendRequest({ syncState: sync });
|
222
|
-
}
|
223
|
-
sendUpdateVideoLayers(trackSid, layers) {
|
224
|
-
this.sendRequest({
|
225
|
-
updateLayers: {
|
226
|
-
trackSid,
|
227
|
-
layers,
|
228
|
-
},
|
229
|
-
});
|
230
|
-
}
|
231
|
-
sendUpdateSubscriptionPermissions(allParticipants, trackPermissions) {
|
232
|
-
this.sendRequest({
|
233
|
-
subscriptionPermission: {
|
234
|
-
allParticipants,
|
235
|
-
trackPermissions,
|
236
|
-
},
|
237
|
-
});
|
238
|
-
}
|
239
|
-
sendSimulateScenario(scenario) {
|
240
|
-
this.sendRequest({
|
241
|
-
simulate: scenario,
|
242
|
-
});
|
243
|
-
}
|
244
|
-
sendLeave() {
|
245
|
-
this.sendRequest(livekit_rtc_1.SignalRequest.fromPartial({ leave: {} }));
|
246
|
-
}
|
247
|
-
sendRequest(req, fromQueue = false) {
|
248
|
-
return __awaiter(this, void 0, void 0, function* () {
|
249
|
-
// capture all requests while reconnecting and put them in a queue.
|
250
|
-
// keep order by queueing up new events as long as the queue is not empty
|
251
|
-
// unless the request originates from the queue, then don't enqueue again
|
252
|
-
const canQueue = !fromQueue && !canPassThroughQueue(req);
|
253
|
-
if (canQueue && (this.isReconnecting || (!this.requestQueue.isEmpty()))) {
|
254
|
-
this.requestQueue.enqueue(() => this.sendRequest(req, true));
|
255
|
-
return;
|
256
|
-
}
|
257
|
-
if (this.signalLatency) {
|
258
|
-
yield utils_1.sleep(this.signalLatency);
|
259
|
-
}
|
260
|
-
if (!this.ws) {
|
261
|
-
logger_1.default.error('cannot send signal request before connected');
|
262
|
-
return;
|
263
|
-
}
|
264
|
-
try {
|
265
|
-
if (this.useJSON) {
|
266
|
-
this.ws.send(JSON.stringify(livekit_rtc_1.SignalRequest.toJSON(req)));
|
267
|
-
}
|
268
|
-
else {
|
269
|
-
this.ws.send(livekit_rtc_1.SignalRequest.encode(req).finish());
|
270
|
-
}
|
271
|
-
}
|
272
|
-
catch (e) {
|
273
|
-
logger_1.default.error('error sending signal message', e);
|
274
|
-
}
|
275
|
-
});
|
276
|
-
}
|
277
|
-
handleSignalResponse(msg) {
|
278
|
-
if (msg.answer) {
|
279
|
-
const sd = fromProtoSessionDescription(msg.answer);
|
280
|
-
if (this.onAnswer) {
|
281
|
-
this.onAnswer(sd);
|
282
|
-
}
|
283
|
-
}
|
284
|
-
else if (msg.offer) {
|
285
|
-
const sd = fromProtoSessionDescription(msg.offer);
|
286
|
-
if (this.onOffer) {
|
287
|
-
this.onOffer(sd);
|
288
|
-
}
|
289
|
-
}
|
290
|
-
else if (msg.trickle) {
|
291
|
-
const candidate = JSON.parse(msg.trickle.candidateInit);
|
292
|
-
if (this.onTrickle) {
|
293
|
-
this.onTrickle(candidate, msg.trickle.target);
|
294
|
-
}
|
295
|
-
}
|
296
|
-
else if (msg.update) {
|
297
|
-
if (this.onParticipantUpdate) {
|
298
|
-
this.onParticipantUpdate(msg.update.participants);
|
299
|
-
}
|
300
|
-
}
|
301
|
-
else if (msg.trackPublished) {
|
302
|
-
if (this.onLocalTrackPublished) {
|
303
|
-
this.onLocalTrackPublished(msg.trackPublished);
|
304
|
-
}
|
305
|
-
}
|
306
|
-
else if (msg.speakersChanged) {
|
307
|
-
if (this.onSpeakersChanged) {
|
308
|
-
this.onSpeakersChanged(msg.speakersChanged.speakers);
|
309
|
-
}
|
310
|
-
}
|
311
|
-
else if (msg.leave) {
|
312
|
-
if (this.onLeave) {
|
313
|
-
this.onLeave(msg.leave);
|
314
|
-
}
|
315
|
-
}
|
316
|
-
else if (msg.mute) {
|
317
|
-
if (this.onRemoteMuteChanged) {
|
318
|
-
this.onRemoteMuteChanged(msg.mute.sid, msg.mute.muted);
|
319
|
-
}
|
320
|
-
}
|
321
|
-
else if (msg.roomUpdate) {
|
322
|
-
if (this.onRoomUpdate) {
|
323
|
-
this.onRoomUpdate(msg.roomUpdate.room);
|
324
|
-
}
|
325
|
-
}
|
326
|
-
else if (msg.connectionQuality) {
|
327
|
-
if (this.onConnectionQuality) {
|
328
|
-
this.onConnectionQuality(msg.connectionQuality);
|
329
|
-
}
|
330
|
-
}
|
331
|
-
else if (msg.streamStateUpdate) {
|
332
|
-
if (this.onStreamStateUpdate) {
|
333
|
-
this.onStreamStateUpdate(msg.streamStateUpdate);
|
334
|
-
}
|
335
|
-
}
|
336
|
-
else if (msg.subscribedQualityUpdate) {
|
337
|
-
if (this.onSubscribedQualityUpdate) {
|
338
|
-
this.onSubscribedQualityUpdate(msg.subscribedQualityUpdate);
|
339
|
-
}
|
340
|
-
}
|
341
|
-
else if (msg.subscriptionPermissionUpdate) {
|
342
|
-
if (this.onSubscriptionPermissionUpdate) {
|
343
|
-
this.onSubscriptionPermissionUpdate(msg.subscriptionPermissionUpdate);
|
344
|
-
}
|
345
|
-
}
|
346
|
-
else if (msg.refreshToken) {
|
347
|
-
if (this.onTokenRefresh) {
|
348
|
-
this.onTokenRefresh(msg.refreshToken);
|
349
|
-
}
|
350
|
-
}
|
351
|
-
else if (msg.trackUnpublished) {
|
352
|
-
if (this.onLocalTrackUnpublished) {
|
353
|
-
this.onLocalTrackUnpublished(msg.trackUnpublished);
|
354
|
-
}
|
355
|
-
}
|
356
|
-
else {
|
357
|
-
logger_1.default.debug('unsupported message', msg);
|
358
|
-
}
|
359
|
-
}
|
360
|
-
setReconnected() {
|
361
|
-
this.isReconnecting = false;
|
362
|
-
this.requestQueue.run();
|
363
|
-
}
|
364
|
-
handleWSError(ev) {
|
365
|
-
logger_1.default.error('websocket error', ev);
|
366
|
-
}
|
367
|
-
}
|
368
|
-
exports.SignalClient = SignalClient;
|
369
|
-
function fromProtoSessionDescription(sd) {
|
370
|
-
const rsd = {
|
371
|
-
type: 'offer',
|
372
|
-
sdp: sd.sdp,
|
373
|
-
};
|
374
|
-
switch (sd.type) {
|
375
|
-
case 'answer':
|
376
|
-
case 'offer':
|
377
|
-
case 'pranswer':
|
378
|
-
case 'rollback':
|
379
|
-
rsd.type = sd.type;
|
380
|
-
break;
|
381
|
-
default:
|
382
|
-
break;
|
383
|
-
}
|
384
|
-
return rsd;
|
385
|
-
}
|
386
|
-
function toProtoSessionDescription(rsd) {
|
387
|
-
const sd = {
|
388
|
-
sdp: rsd.sdp,
|
389
|
-
type: rsd.type,
|
390
|
-
};
|
391
|
-
return sd;
|
392
|
-
}
|
393
|
-
exports.toProtoSessionDescription = toProtoSessionDescription;
|
394
|
-
function createConnectionParams(token, info, opts) {
|
395
|
-
const params = new URLSearchParams();
|
396
|
-
params.set('access_token', token);
|
397
|
-
// opts
|
398
|
-
if (opts === null || opts === void 0 ? void 0 : opts.reconnect) {
|
399
|
-
params.set('reconnect', '1');
|
400
|
-
}
|
401
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.autoSubscribe) !== undefined) {
|
402
|
-
params.set('auto_subscribe', opts.autoSubscribe ? '1' : '0');
|
403
|
-
}
|
404
|
-
// ClientInfo
|
405
|
-
params.set('sdk', 'js');
|
406
|
-
params.set('version', info.version);
|
407
|
-
params.set('protocol', info.protocol.toString());
|
408
|
-
if (info.deviceModel) {
|
409
|
-
params.set('device_model', info.deviceModel);
|
410
|
-
}
|
411
|
-
if (info.os) {
|
412
|
-
params.set('os', info.os);
|
413
|
-
}
|
414
|
-
if (info.osVersion) {
|
415
|
-
params.set('os_version', info.osVersion);
|
416
|
-
}
|
417
|
-
if (info.browser) {
|
418
|
-
params.set('browser', info.browser);
|
419
|
-
}
|
420
|
-
if (info.browserVersion) {
|
421
|
-
params.set('browser_version', info.browserVersion);
|
422
|
-
}
|
423
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.publishOnly) !== undefined) {
|
424
|
-
params.set('publish', opts.publishOnly);
|
425
|
-
}
|
426
|
-
return `?${params.toString()}`;
|
427
|
-
}
|
428
|
-
//# sourceMappingURL=SignalClient.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SignalClient.js","sourceRoot":"","sources":["../../src/api/SignalClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAA4B;AAK5B,sDAe8B;AAC9B,2CAAiD;AACjD,yCAA4D;AAC5D,kEAAmC;AAEnC,IAAI,aAAK,EAAE,EAAE;IACX,kDAAO,gBAAgB,IAAE;CAC1B;AAiBD,MAAM,uBAAuB,GAA+B;IAC1D,WAAW;IACX,SAAS;IACT,OAAO;IACP,QAAQ;IACR,UAAU;IACV,OAAO;CACR,CAAC;AAEF,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAA0B,CAAC,CAAC,KAAK,SAAS,CAAC;IAC7F,gBAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,MAAa,YAAY;IAiDvB,YAAY,UAAmB,KAAK;QAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAK,EAAE,CAAC;IAClC,CAAC;IAEK,IAAI,CACR,GAAW,EACX,KAAa,EACb,IAAoB;;YAEpB,6EAA6E;YAC7E,YAAY;YACZ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;gBACzC,aAAa,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa;gBAClC,WAAW,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW;aAC/B,CAAC,CAAC;YACH,OAAO,GAAmB,CAAC;QAC7B,CAAC;KAAA;IAEK,SAAS,CAAC,GAAW,EAAE,KAAa;;YACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE;gBAC7B,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;KAAA;IAED,OAAO,CACL,GAAW,EACX,KAAa,EACb,IAAiB;QAEjB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACjC;QACD,uBAAuB;QACvB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,IAAI,MAAM,CAAC;QAEd,MAAM,UAAU,GAAG,qBAAa,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAE/D,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,gBAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,GAAG,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;YACpB,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;YACvC,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC;YAE9B,EAAE,CAAC,OAAO,GAAG,CAAO,EAAS,EAAE,EAAE;gBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;oBACZ,IAAI;wBACF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;wBACtE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;4BACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC9B,MAAM,CAAC,IAAI,wBAAe,CAAC,GAAG,CAAC,CAAC,CAAC;yBAClC;6BAAM;4BACL,MAAM,CAAC,IAAI,wBAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;yBAC/C;qBACF;oBAAC,OAAO,CAAC,EAAE;wBACV,MAAM,CAAC,IAAI,wBAAe,CAAC,0BAA0B,CAAC,CAAC,CAAC;qBACzD;oBACD,OAAO;iBACR;gBACD,uBAAuB;gBACvB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC;YAEF,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE;gBACf,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,SAAS,EAAE;oBAClB,4DAA4D;oBAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,OAAO,EAAE,CAAC;iBACX;YACH,CAAC,CAAC;YAEF,EAAE,CAAC,SAAS,GAAG,CAAO,EAAgB,EAAE,EAAE;gBACxC,0DAA0D;gBAC1D,IAAI,GAAmB,CAAC;gBACxB,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBACjC,GAAG,GAAG,4BAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBACrC;qBAAM,IAAI,EAAE,CAAC,IAAI,YAAY,WAAW,EAAE;oBACzC,GAAG,GAAG,4BAAc,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBACtD;qBAAM;oBACL,gBAAG,CAAC,KAAK,CAAC,oCAAoC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;oBAChE,OAAO;iBACR;gBAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,2BAA2B;oBAC3B,IAAI,GAAG,CAAC,IAAI,EAAE;wBACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACnB;yBAAM;wBACL,MAAM,CAAC,IAAI,wBAAe,CAAC,+BAA+B,CAAC,CAAC,CAAC;qBAC9D;oBACD,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,MAAM,aAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACjC;gBACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC,CAAA,CAAC;YAEF,EAAE,CAAC,OAAO,GAAG,CAAC,EAAc,EAAE,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;oBAAE,OAAO;gBAEhD,gBAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;oBAClB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;iBACrB;YACH,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;;QACH,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,MAAA,IAAI,CAAC,EAAE,0CAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,8BAA8B;IAC9B,SAAS,CAAC,KAAgC;QACxC,gBAAG,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC;YACf,KAAK,EAAE,yBAAyB,CAAC,KAAK,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAClC,UAAU,CAAC,MAAiC;QAC1C,gBAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC;YACf,MAAM,EAAE,yBAAyB,CAAC,MAAM,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,SAA8B,EAAE,MAAoB;QACnE,gBAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC;YACf,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACxC,MAAM;aACP;SACF,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,QAAgB,EAAE,KAAc;QAC5C,IAAI,CAAC,WAAW,CAAC;YACf,IAAI,EAAE;gBACJ,GAAG,EAAE,QAAQ;gBACb,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,GAAoB;QAC/B,IAAI,CAAC,WAAW,CAAC;YACf,QAAQ,EAAE,6BAAe,CAAC,WAAW,CAAC,GAAG,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,QAA6B;QACnD,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB,CAAC,GAAuB;QAC5C,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,aAAa,CAAC,IAAe;QAC3B,IAAI,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB,CAAC,QAAgB,EAAE,MAAoB;QAC1D,IAAI,CAAC,WAAW,CAAC;YACf,YAAY,EAAE;gBACZ,QAAQ;gBACR,MAAM;aACP;SACF,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC,CAC/B,eAAwB,EACxB,gBAAmC;QAEnC,IAAI,CAAC,WAAW,CAAC;YACf,sBAAsB,EAAE;gBACtB,eAAe;gBACf,gBAAgB;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,QAA0B;QAC7C,IAAI,CAAC,WAAW,CAAC;YACf,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,WAAW,CAAC,2BAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEK,WAAW,CAAC,GAAkB,EAAE,YAAqB,KAAK;;YAC9D,mEAAmE;YACnE,yEAAyE;YACzE,yEAAyE;YACzE,MAAM,QAAQ,GAAG,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBACvE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC7D,OAAO;aACR;YACD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,aAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACjC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACZ,gBAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBACzD,OAAO;aACR;YAED,IAAI;gBACF,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,2BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACzD;qBAAM;oBACL,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,2BAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;iBAClD;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,gBAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;aAC9C;QACH,CAAC;KAAA;IAEO,oBAAoB,CAAC,GAAmB;QAC9C,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,MAAM,EAAE,GAAG,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACnB;SACF;aAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YACpB,MAAM,EAAE,GAAG,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClB;SACF;aAAM,IAAI,GAAG,CAAC,OAAO,EAAE;YACtB,MAAM,SAAS,GAAwB,IAAI,CAAC,KAAK,CAC/C,GAAG,CAAC,OAAO,CAAC,aAAa,CAC1B,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC/C;SACF;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE;YACrB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACnD;SACF;aAAM,IAAI,GAAG,CAAC,cAAc,EAAE;YAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;aAChD;SACF;aAAM,IAAI,GAAG,CAAC,eAAe,EAAE;YAC9B,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;aACtD;SACF;aAAM,IAAI,GAAG,CAAC,KAAK,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;aAAM,IAAI,GAAG,CAAC,IAAI,EAAE;YACnB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxD;SACF;aAAM,IAAI,GAAG,CAAC,UAAU,EAAE;YACzB,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAK,CAAC,CAAC;aACzC;SACF;aAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE;YAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aACjD;SACF;aAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE;YAChC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;aACjD;SACF;aAAM,IAAI,GAAG,CAAC,uBAAuB,EAAE;YACtC,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAClC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;aAC7D;SACF;aAAM,IAAI,GAAG,CAAC,4BAA4B,EAAE;YAC3C,IAAI,IAAI,CAAC,8BAA8B,EAAE;gBACvC,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;aACvE;SACF;aAAM,IAAI,GAAG,CAAC,YAAY,EAAE;YAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aACvC;SACF;aAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE;YAC/B,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAChC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aACpD;SACF;aAAM;YACL,gBAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;SACvC;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,EAAS;QAC7B,gBAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAhXD,oCAgXC;AAED,SAAS,2BAA2B,CAClC,EAAsB;IAEtB,MAAM,GAAG,GAA8B;QACrC,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,EAAE,CAAC,GAAG;KACZ,CAAC;IACF,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACb,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACnB,MAAM;QACR;YACE,MAAM;KACT;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAgB,yBAAyB,CACvC,GAAsD;IAEtD,MAAM,EAAE,GAAuB;QAC7B,GAAG,EAAE,GAAG,CAAC,GAAI;QACb,IAAI,EAAE,GAAG,CAAC,IAAK;KAChB,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC;AARD,8DAQC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,IAAgB,EAAE,IAAkB;IACjF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAElC,OAAO;IACP,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,EAAE;QACnB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;KAC9B;IACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,MAAK,SAAS,EAAE;QACrC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KAC9D;IAED,aAAa;IACb,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9C;IACD,IAAI,IAAI,CAAC,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC3B;IACD,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC1C;IACD,IAAI,IAAI,CAAC,OAAO,EAAE;QAChB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;IACD,IAAI,IAAI,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACpD;IAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,MAAK,SAAS,EAAE;QACnC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACjC,CAAC"}
|
package/dist/connect.js
DELETED
@@ -1,130 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
5
|
-
}) : (function(o, m, k, k2) {
|
6
|
-
if (k2 === undefined) k2 = k;
|
7
|
-
o[k2] = m[k];
|
8
|
-
}));
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
11
|
-
}) : function(o, v) {
|
12
|
-
o["default"] = v;
|
13
|
-
});
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
15
|
-
if (mod && mod.__esModule) return mod;
|
16
|
-
var result = {};
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
18
|
-
__setModuleDefault(result, mod);
|
19
|
-
return result;
|
20
|
-
};
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
28
|
-
});
|
29
|
-
};
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
32
|
-
};
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
34
|
-
exports.connect = exports.version = void 0;
|
35
|
-
const logger_1 = __importStar(require("./logger"));
|
36
|
-
const errors_1 = require("./room/errors");
|
37
|
-
const events_1 = require("./room/events");
|
38
|
-
const Room_1 = __importDefault(require("./room/Room"));
|
39
|
-
var version_1 = require("./version");
|
40
|
-
Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_1.version; } });
|
41
|
-
/**
|
42
|
-
* Connects to a LiveKit room, shorthand for `new Room()` and [[Room.connect]]
|
43
|
-
*
|
44
|
-
* ```typescript
|
45
|
-
* connect('wss://myhost.livekit.io', token, {
|
46
|
-
* // publish audio and video tracks on joining
|
47
|
-
* audio: true,
|
48
|
-
* video: true,
|
49
|
-
* captureDefaults: {
|
50
|
-
* facingMode: 'user',
|
51
|
-
* },
|
52
|
-
* })
|
53
|
-
* ```
|
54
|
-
* @param url URL to LiveKit server
|
55
|
-
* @param token AccessToken, a JWT token that includes authentication and room details
|
56
|
-
* @param options
|
57
|
-
*/
|
58
|
-
function connect(url, token, options) {
|
59
|
-
var _a, _b, _c, _d;
|
60
|
-
return __awaiter(this, void 0, void 0, function* () {
|
61
|
-
options !== null && options !== void 0 ? options : (options = {});
|
62
|
-
if (options.adaptiveStream === undefined) {
|
63
|
-
options.adaptiveStream = options.autoManageVideo === true ? {} : undefined;
|
64
|
-
}
|
65
|
-
logger_1.setLogLevel((_a = options.logLevel) !== null && _a !== void 0 ? _a : logger_1.LogLevel.warn);
|
66
|
-
const config = (_b = options.rtcConfig) !== null && _b !== void 0 ? _b : {};
|
67
|
-
if (options.iceServers) {
|
68
|
-
config.iceServers = options.iceServers;
|
69
|
-
}
|
70
|
-
const room = new Room_1.default(options);
|
71
|
-
// connect to room
|
72
|
-
yield room.connect(url, token, options);
|
73
|
-
const publishAudio = (_c = options.audio) !== null && _c !== void 0 ? _c : false;
|
74
|
-
const publishVideo = (_d = options.video) !== null && _d !== void 0 ? _d : false;
|
75
|
-
if (publishAudio || publishVideo) {
|
76
|
-
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
77
|
-
// if publishing both
|
78
|
-
let err;
|
79
|
-
if (publishAudio && publishVideo) {
|
80
|
-
try {
|
81
|
-
yield room.localParticipant.enableCameraAndMicrophone();
|
82
|
-
}
|
83
|
-
catch (e) {
|
84
|
-
const errKind = errors_1.MediaDeviceFailure.getFailure(e);
|
85
|
-
logger_1.default.warn('received error while creating media', errKind);
|
86
|
-
if (e instanceof Error) {
|
87
|
-
logger_1.default.warn(e.message);
|
88
|
-
}
|
89
|
-
// when it's a device issue, try to publish the other kind
|
90
|
-
if (errKind === errors_1.MediaDeviceFailure.NotFound
|
91
|
-
|| errKind === errors_1.MediaDeviceFailure.DeviceInUse) {
|
92
|
-
try {
|
93
|
-
yield room.localParticipant.setMicrophoneEnabled(true);
|
94
|
-
}
|
95
|
-
catch (audioErr) {
|
96
|
-
err = audioErr;
|
97
|
-
}
|
98
|
-
}
|
99
|
-
else {
|
100
|
-
err = e;
|
101
|
-
}
|
102
|
-
}
|
103
|
-
}
|
104
|
-
else if (publishAudio) {
|
105
|
-
try {
|
106
|
-
yield room.localParticipant.setMicrophoneEnabled(true);
|
107
|
-
}
|
108
|
-
catch (e) {
|
109
|
-
err = e;
|
110
|
-
}
|
111
|
-
}
|
112
|
-
else if (publishVideo) {
|
113
|
-
try {
|
114
|
-
yield room.localParticipant.setCameraEnabled(true);
|
115
|
-
}
|
116
|
-
catch (e) {
|
117
|
-
err = e;
|
118
|
-
}
|
119
|
-
}
|
120
|
-
if (err) {
|
121
|
-
room.emit(events_1.RoomEvent.MediaDevicesError, err);
|
122
|
-
logger_1.default.error('could not create media', err);
|
123
|
-
}
|
124
|
-
}));
|
125
|
-
}
|
126
|
-
return room;
|
127
|
-
});
|
128
|
-
}
|
129
|
-
exports.connect = connect;
|
130
|
-
//# sourceMappingURL=connect.js.map
|
package/dist/connect.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"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"}
|