livekit-client 0.11.2 → 0.13.0

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 (87) hide show
  1. package/.eslintrc.js +1 -0
  2. package/.github/workflows/publish.yaml +1 -3
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +21 -1
  5. package/dist/api/SignalClient.d.ts +10 -7
  6. package/dist/api/SignalClient.js +19 -10
  7. package/dist/api/SignalClient.js.map +1 -1
  8. package/dist/connect.d.ts +23 -0
  9. package/dist/connect.js +93 -0
  10. package/dist/connect.js.map +1 -0
  11. package/dist/index.d.ts +4 -2
  12. package/dist/index.js +4 -2
  13. package/dist/index.js.map +1 -1
  14. package/dist/options.d.ts +5 -3
  15. package/dist/options.js.map +1 -1
  16. package/dist/proto/livekit_models.d.ts +68 -54
  17. package/dist/proto/livekit_models.js +324 -362
  18. package/dist/proto/livekit_models.js.map +1 -1
  19. package/dist/proto/livekit_rtc.d.ts +31 -61
  20. package/dist/proto/livekit_rtc.js +177 -356
  21. package/dist/proto/livekit_rtc.js.map +1 -1
  22. package/dist/room/DeviceManager.d.ts +10 -0
  23. package/dist/room/DeviceManager.js +77 -0
  24. package/dist/room/DeviceManager.js.map +1 -0
  25. package/dist/room/PCTransport.d.ts +5 -0
  26. package/dist/room/PCTransport.js +43 -0
  27. package/dist/room/PCTransport.js.map +1 -1
  28. package/dist/room/RTCEngine.d.ts +21 -15
  29. package/dist/room/RTCEngine.js +122 -87
  30. package/dist/room/RTCEngine.js.map +1 -1
  31. package/dist/room/Room.d.ts +47 -3
  32. package/dist/room/Room.js +167 -10
  33. package/dist/room/Room.js.map +1 -1
  34. package/dist/room/defaults.d.ts +3 -0
  35. package/dist/room/defaults.js +13 -0
  36. package/dist/room/defaults.js.map +1 -0
  37. package/dist/room/events.d.ts +26 -3
  38. package/dist/room/events.js +25 -2
  39. package/dist/room/events.js.map +1 -1
  40. package/dist/room/participant/LocalParticipant.d.ts +32 -9
  41. package/dist/room/participant/LocalParticipant.js +165 -60
  42. package/dist/room/participant/LocalParticipant.js.map +1 -1
  43. package/dist/room/participant/Participant.d.ts +14 -0
  44. package/dist/room/participant/Participant.js +39 -0
  45. package/dist/room/participant/Participant.js.map +1 -1
  46. package/dist/room/participant/RemoteParticipant.d.ts +2 -0
  47. package/dist/room/participant/RemoteParticipant.js +14 -0
  48. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  49. package/dist/room/track/LocalAudioTrack.d.ts +3 -0
  50. package/dist/room/track/LocalAudioTrack.js +37 -0
  51. package/dist/room/track/LocalAudioTrack.js.map +1 -1
  52. package/dist/room/track/LocalTrack.d.ts +6 -2
  53. package/dist/room/track/LocalTrack.js +49 -6
  54. package/dist/room/track/LocalTrack.js.map +1 -1
  55. package/dist/room/track/LocalTrackPublication.d.ts +6 -3
  56. package/dist/room/track/LocalTrackPublication.js +21 -2
  57. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  58. package/dist/room/track/LocalVideoTrack.d.ts +3 -2
  59. package/dist/room/track/LocalVideoTrack.js +34 -5
  60. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  61. package/dist/room/track/RemoteAudioTrack.d.ts +2 -0
  62. package/dist/room/track/RemoteAudioTrack.js +8 -0
  63. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  64. package/dist/room/track/RemoteVideoTrack.d.ts +1 -0
  65. package/dist/room/track/RemoteVideoTrack.js +6 -1
  66. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  67. package/dist/room/track/Track.d.ts +14 -2
  68. package/dist/room/track/Track.js +42 -0
  69. package/dist/room/track/Track.js.map +1 -1
  70. package/dist/room/track/TrackPublication.d.ts +1 -0
  71. package/dist/room/track/TrackPublication.js +2 -0
  72. package/dist/room/track/TrackPublication.js.map +1 -1
  73. package/dist/room/track/create.d.ts +23 -0
  74. package/dist/room/track/create.js +166 -0
  75. package/dist/room/track/create.js.map +1 -0
  76. package/dist/room/track/options.d.ts +47 -17
  77. package/dist/room/track/options.js +11 -6
  78. package/dist/room/track/options.js.map +1 -1
  79. package/dist/version.d.ts +2 -2
  80. package/dist/version.js +2 -2
  81. package/example/index.html +51 -20
  82. package/example/sample.ts +204 -75
  83. package/example/webpack.config.js +8 -2
  84. package/package.json +11 -10
  85. package/dist/livekit.d.ts +0 -42
  86. package/dist/livekit.js +0 -194
  87. package/dist/livekit.js.map +0 -1
package/dist/livekit.js DELETED
@@ -1,194 +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.createLocalTracks = exports.createLocalScreenTrack = exports.createLocalAudioTrack = exports.createLocalVideoTrack = exports.connect = exports.version = void 0;
16
- const loglevel_1 = __importDefault(require("loglevel"));
17
- const SignalClient_1 = require("./api/SignalClient");
18
- const options_1 = require("./options");
19
- const errors_1 = require("./room/errors");
20
- const Room_1 = __importDefault(require("./room/Room"));
21
- const LocalAudioTrack_1 = __importDefault(require("./room/track/LocalAudioTrack"));
22
- const LocalTrack_1 = __importDefault(require("./room/track/LocalTrack"));
23
- const LocalVideoTrack_1 = __importDefault(require("./room/track/LocalVideoTrack"));
24
- const options_2 = require("./room/track/options");
25
- const Track_1 = require("./room/track/Track");
26
- var version_1 = require("./version");
27
- Object.defineProperty(exports, "version", { enumerable: true, get: function () { return version_1.version; } });
28
- /**
29
- * Connects to a LiveKit room
30
- *
31
- * ```typescript
32
- * connect('wss://myhost.livekit.io', token, {
33
- * // publish audio and video tracks on joining
34
- * audio: true,
35
- * video: {
36
- * resolution: VideoPresets.hd,
37
- * facingMode: {
38
- * ideal: "user",
39
- * }
40
- * }
41
- * })
42
- * ```
43
- * @param url URL to LiveKit server
44
- * @param token AccessToken, a JWT token that includes authentication and room details
45
- * @param options
46
- */
47
- function connect(url, token, options) {
48
- var _a;
49
- return __awaiter(this, void 0, void 0, function* () {
50
- // set defaults
51
- options || (options = {});
52
- options.logLevel || (options.logLevel = options_1.LogLevel.info);
53
- if (options.audio === undefined)
54
- options.audio = false;
55
- if (options.video === undefined)
56
- options.video = false;
57
- loglevel_1.default.setLevel(options.logLevel);
58
- const config = (_a = options.rtcConfig) !== null && _a !== void 0 ? _a : {};
59
- if (options.iceServers) {
60
- config.iceServers = options.iceServers;
61
- }
62
- const client = new SignalClient_1.WSSignalClient();
63
- const room = new Room_1.default(client, config);
64
- // connect to room
65
- yield room.connect(url, token, {
66
- autoSubscribe: options === null || options === void 0 ? void 0 : options.autoSubscribe,
67
- });
68
- // add tracks if available
69
- let { tracks } = options;
70
- if (!tracks) {
71
- if (options.audio || options.video) {
72
- tracks = yield createLocalTracks({
73
- audio: options.audio,
74
- video: options.video,
75
- });
76
- }
77
- }
78
- if (tracks) {
79
- for (let i = 0; i < tracks.length; i += 1) {
80
- const track = tracks[i];
81
- // translate publish options
82
- const trackOptions = {};
83
- if (track.kind === Track_1.Track.Kind.Video.toString()
84
- || track.kind === Track_1.Track.Kind.Video) {
85
- trackOptions.videoCodec = options === null || options === void 0 ? void 0 : options.videoCodec;
86
- trackOptions.videoEncoding = options === null || options === void 0 ? void 0 : options.videoEncoding;
87
- trackOptions.simulcast = options === null || options === void 0 ? void 0 : options.simulcast;
88
- }
89
- else if (track.kind === Track_1.Track.Kind.Audio.toString()
90
- || track.kind === Track_1.Track.Kind.Audio) {
91
- trackOptions.audioBitrate = options.audioBitrate;
92
- }
93
- yield room.localParticipant.publishTrack(track, trackOptions);
94
- }
95
- }
96
- return room;
97
- });
98
- }
99
- exports.connect = connect;
100
- /**
101
- * Creates a [[LocalVideoTrack]] with getUserMedia()
102
- * @param options
103
- */
104
- function createLocalVideoTrack(options) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- const tracks = yield createLocalTracks({
107
- audio: false,
108
- video: options,
109
- });
110
- return tracks[0];
111
- });
112
- }
113
- exports.createLocalVideoTrack = createLocalVideoTrack;
114
- function createLocalAudioTrack(options) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- const tracks = yield createLocalTracks({
117
- audio: options,
118
- video: false,
119
- });
120
- return tracks[0];
121
- });
122
- }
123
- exports.createLocalAudioTrack = createLocalAudioTrack;
124
- /**
125
- * Creates a [[LocalVideoTrack]] of screen capture with getDisplayMedia()
126
- */
127
- function createLocalScreenTrack(options) {
128
- return __awaiter(this, void 0, void 0, function* () {
129
- if (options === undefined) {
130
- options = {};
131
- }
132
- if (options.name === undefined) {
133
- options.name = 'screen';
134
- }
135
- if (options.resolution === undefined) {
136
- options.resolution = options_2.VideoPresets.fhd.resolution;
137
- }
138
- // typescript definition is missing getDisplayMedia: https://github.com/microsoft/TypeScript/issues/33232
139
- // @ts-ignore
140
- const stream = yield navigator.mediaDevices.getDisplayMedia({
141
- audio: false,
142
- video: {
143
- width: options.resolution.width,
144
- height: options.resolution.height,
145
- },
146
- });
147
- const tracks = stream.getVideoTracks();
148
- if (tracks.length === 0) {
149
- throw new errors_1.TrackInvalidError('no video track found');
150
- }
151
- return new LocalVideoTrack_1.default(tracks[0], options.name);
152
- });
153
- }
154
- exports.createLocalScreenTrack = createLocalScreenTrack;
155
- /**
156
- * creates a local video and audio track at the same time
157
- * @param options
158
- */
159
- function createLocalTracks(options) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- if (!options)
162
- options = {};
163
- if (options.audio === undefined)
164
- options.audio = {};
165
- const constraints = LocalTrack_1.default.constraintsForOptions(options);
166
- const stream = yield navigator.mediaDevices.getUserMedia(constraints);
167
- return stream.getTracks().map((mediaStreamTrack) => {
168
- const isAudio = mediaStreamTrack.kind === 'audio';
169
- let trackOptions = isAudio ? options.audio : options.video;
170
- if (typeof trackOptions === 'boolean' || !trackOptions) {
171
- trackOptions = {};
172
- }
173
- let trackConstraints;
174
- const conOrBool = isAudio ? constraints.audio : constraints.video;
175
- if (typeof conOrBool !== 'boolean') {
176
- trackConstraints = conOrBool;
177
- }
178
- return createLocalTrack(mediaStreamTrack, trackOptions === null || trackOptions === void 0 ? void 0 : trackOptions.name, trackConstraints);
179
- });
180
- });
181
- }
182
- exports.createLocalTracks = createLocalTracks;
183
- /** @internal */
184
- function createLocalTrack(mediaStreamTrack, name, constraints) {
185
- switch (mediaStreamTrack.kind) {
186
- case 'audio':
187
- return new LocalAudioTrack_1.default(mediaStreamTrack, name, constraints);
188
- case 'video':
189
- return new LocalVideoTrack_1.default(mediaStreamTrack, name, constraints);
190
- default:
191
- throw new errors_1.TrackInvalidError(`unsupported track type: ${mediaStreamTrack.kind}`);
192
- }
193
- }
194
- //# sourceMappingURL=livekit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"livekit.js","sourceRoot":"","sources":["../src/livekit.ts"],"names":[],"mappings":"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"}