@needle-tools/engine 3.27.5-beta → 3.28.0-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 (50) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/needle-engine.js +4692 -4719
  3. package/dist/needle-engine.light.js +4434 -4461
  4. package/dist/needle-engine.light.min.js +226 -219
  5. package/dist/needle-engine.light.umd.cjs +283 -276
  6. package/dist/needle-engine.min.js +228 -221
  7. package/dist/needle-engine.umd.cjs +238 -231
  8. package/lib/engine/engine_shims.js +0 -1
  9. package/lib/engine/engine_shims.js.map +1 -1
  10. package/lib/engine-components/Renderer.js +12 -0
  11. package/lib/engine-components/Renderer.js.map +1 -1
  12. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +14 -5
  13. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +26 -15
  14. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  15. package/package.json +1 -1
  16. package/src/engine/codegen/register_types.ts +2 -2
  17. package/src/engine/engine_shims.ts +0 -2
  18. package/src/engine-components/Renderer.ts +13 -0
  19. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +36 -24
  20. package/src/engine/dist/api.js +0 -73
  21. package/src/engine/dist/api.js.meta +0 -7
  22. package/src/engine/dist/engine_networking_streams.js +0 -474
  23. package/src/engine/dist/engine_networking_streams.js.meta +0 -7
  24. package/src/engine-components/dist/AudioSource.js +0 -513
  25. package/src/engine-components/dist/AudioSource.js.meta +0 -7
  26. package/src/engine-components/dist/ScreenCapture.js +0 -490
  27. package/src/engine-components/dist/ScreenCapture.js.meta +0 -7
  28. package/src/engine-components/dist/VideoPlayer.js +0 -888
  29. package/src/engine-components/dist/VideoPlayer.js.meta +0 -7
  30. package/src/engine-components/dist/Voip2.js +0 -46
  31. package/src/engine-components/dist/Voip2.js.meta +0 -7
  32. package/src/engine-schemes/dist/api.js +0 -17
  33. package/src/engine-schemes/dist/api.js.meta +0 -7
  34. package/src/engine-schemes/dist/schemes.js +0 -25
  35. package/src/engine-schemes/dist/schemes.js.meta +0 -7
  36. package/src/engine-schemes/dist/synced-camera-model.js +0 -74
  37. package/src/engine-schemes/dist/synced-camera-model.js.meta +0 -7
  38. package/src/engine-schemes/dist/synced-transform-model.js +0 -73
  39. package/src/engine-schemes/dist/synced-transform-model.js.meta +0 -7
  40. package/src/engine-schemes/dist/transform.js +0 -46
  41. package/src/engine-schemes/dist/transform.js.meta +0 -7
  42. package/src/engine-schemes/dist/vec2.js +0 -32
  43. package/src/engine-schemes/dist/vec2.js.meta +0 -7
  44. package/src/engine-schemes/dist/vec3.js +0 -36
  45. package/src/engine-schemes/dist/vec3.js.meta +0 -7
  46. package/src/engine-schemes/dist/vec4.js +0 -40
  47. package/src/engine-schemes/dist/vec4.js.meta +0 -7
  48. package/src/engine-schemes/dist/vr-user-state-buffer.js +0 -110
  49. package/src/engine-schemes/dist/vr-user-state-buffer.js.meta +0 -7
  50. package/src/engine-schemes/flatc.exe +0 -0
@@ -1,474 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- exports.__esModule = true;
16
- exports.disposeStream = exports.NetworkedStreams = exports.PeerHandle = exports.ReceiveStreamEvent = exports.CallEndedEvent = exports.PeerEvent = void 0;
17
- var engine_networking_js_1 = require("../engine/engine_networking.js");
18
- var engine_networking_peer_js_1 = require("../engine/engine_networking_peer.js");
19
- var three_1 = require("three");
20
- var engine_utils_js_1 = require("./engine_utils.js");
21
- var debug = engine_utils_js_1.getParam("debugnetworkingstreams");
22
- var PeerEvent;
23
- (function (PeerEvent) {
24
- PeerEvent["Connected"] = "peer-user-connected";
25
- PeerEvent["ReceiveStream"] = "receive-stream";
26
- PeerEvent["CallEnded"] = "call-ended";
27
- PeerEvent["Disconnected"] = "peer-user-disconnected";
28
- PeerEvent["UserJoined"] = "user-joined";
29
- })(PeerEvent = exports.PeerEvent || (exports.PeerEvent = {}));
30
- var CallEndedEvent = /** @class */ (function () {
31
- function CallEndedEvent(userId, direction) {
32
- this.type = PeerEvent.CallEnded;
33
- this.userId = userId;
34
- this.direction = direction;
35
- }
36
- return CallEndedEvent;
37
- }());
38
- exports.CallEndedEvent = CallEndedEvent;
39
- var ReceiveStreamEvent = /** @class */ (function () {
40
- function ReceiveStreamEvent(stream, target) {
41
- this.type = PeerEvent.ReceiveStream;
42
- this.stream = stream;
43
- this.target = target;
44
- }
45
- return ReceiveStreamEvent;
46
- }());
47
- exports.ReceiveStreamEvent = ReceiveStreamEvent;
48
- var PeerUserConnectedModel = /** @class */ (function () {
49
- function PeerUserConnectedModel(handle, peerId) {
50
- // internal so server doesnt save it to persistent storage
51
- this.dontSave = true;
52
- this.guid = handle.id;
53
- this.peerId = peerId;
54
- }
55
- return PeerUserConnectedModel;
56
- }());
57
- var CallDirection;
58
- (function (CallDirection) {
59
- CallDirection["Incoming"] = "incoming";
60
- CallDirection["Outgoing"] = "outgoing";
61
- })(CallDirection || (CallDirection = {}));
62
- var CallHandle = /** @class */ (function (_super) {
63
- __extends(CallHandle, _super);
64
- function CallHandle(userId, call, direction) {
65
- var _this = _super.call(this) || this;
66
- _this._stream = null;
67
- _this._isDisposed = false;
68
- _this.userId = userId;
69
- _this.call = call;
70
- _this.direction = direction;
71
- _this._stream = null;
72
- call.on("stream", function (stream) {
73
- if (debug)
74
- console.log("Receive video", stream.getAudioTracks(), stream.getVideoTracks());
75
- _this._stream = stream;
76
- if (direction === CallDirection.Incoming) {
77
- var args = new ReceiveStreamEvent(stream, _this);
78
- _this.dispatchEvent(args);
79
- }
80
- });
81
- call.on("close", function () {
82
- _this.dispatchEvent(new CallEndedEvent(userId, direction));
83
- });
84
- return _this;
85
- }
86
- Object.defineProperty(CallHandle.prototype, "stream", {
87
- get: function () { return this._stream; },
88
- enumerable: false,
89
- configurable: true
90
- });
91
- ;
92
- CallHandle.prototype.close = function () {
93
- if (this._isDisposed)
94
- return;
95
- this._isDisposed = true;
96
- this.call.close();
97
- disposeStream(this._stream);
98
- };
99
- Object.defineProperty(CallHandle.prototype, "isOpen", {
100
- get: function () {
101
- var _a;
102
- return ((_a = this.call.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState) === "connected"; // && this._stream?.active;
103
- },
104
- enumerable: false,
105
- configurable: true
106
- });
107
- Object.defineProperty(CallHandle.prototype, "isOpening", {
108
- get: function () {
109
- var _a;
110
- return ((_a = this.call.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState) === "connecting";
111
- },
112
- enumerable: false,
113
- configurable: true
114
- });
115
- Object.defineProperty(CallHandle.prototype, "isClosed", {
116
- get: function () {
117
- return !this.isOpen;
118
- },
119
- enumerable: false,
120
- configurable: true
121
- });
122
- return CallHandle;
123
- }(three_1.EventDispatcher));
124
- var PeerHandle = /** @class */ (function (_super) {
125
- __extends(PeerHandle, _super);
126
- function PeerHandle(context, id) {
127
- var _this = _super.call(this) || this;
128
- _this._incomingCalls = [];
129
- _this._outgoingCalls = [];
130
- _this._enabled = false;
131
- _this._enabledPeer = false;
132
- _this.onConnectRoomFn = _this.onConnectRoom.bind(_this);
133
- // private onUserJoinedOrLeftRoomFn: Function = this.onUserJoinedOrLeftRoom.bind(this);
134
- _this.onPeerConnectFn = _this.onPeerConnect.bind(_this);
135
- _this.onPeerReceiveCallFn = _this.onPeerReceivingCall.bind(_this);
136
- _this.context = context;
137
- _this.id = id;
138
- _this.setupPeer();
139
- navigator["getUserMedia"] = (navigator["getUserMedia"] || navigator["webkitGetUserMedia"] ||
140
- navigator["mozGetUserMedia"] || navigator["msGetUserMedia"]);
141
- return _this;
142
- }
143
- PeerHandle.getOrCreate = function (context, guid) {
144
- // if (id === undefined) {
145
- // // randomId
146
- // id = Math.random().toFixed(5);
147
- // }
148
- if (PeerHandle.instances.has(guid))
149
- return PeerHandle.instances.get(guid);
150
- var peer = new PeerHandle(context, guid);
151
- PeerHandle.instances.set(guid, peer);
152
- return peer;
153
- };
154
- PeerHandle.prototype.getMyPeerId = function () {
155
- if (this.context.connection.connectionId)
156
- return this.getPeerIdFromUserId(this.context.connection.connectionId);
157
- return undefined;
158
- };
159
- PeerHandle.prototype.getPeerIdFromUserId = function (userConnectionId) {
160
- // we build the peer id ourselves so we dont need to wait for peer to report it
161
- return this.id + "-" + userConnectionId;
162
- };
163
- PeerHandle.prototype.getUserIdFromPeerId = function (peerId) {
164
- return peerId.substring(this.id.length + 1);
165
- };
166
- PeerHandle.prototype.makeCall = function (peerId, stream) {
167
- var _a;
168
- var opts = { metadata: { userId: this.context.connection.connectionId } };
169
- var call = (_a = this._peer) === null || _a === void 0 ? void 0 : _a.call(peerId, stream, opts);
170
- if (call)
171
- return this.registerCall(call, CallDirection.Outgoing);
172
- return undefined;
173
- };
174
- Object.defineProperty(PeerHandle.prototype, "peer", {
175
- get: function () { return this._peer; },
176
- enumerable: false,
177
- configurable: true
178
- });
179
- // private _connectionPeerIdMap : Map<string, string> = new Map();
180
- PeerHandle.prototype.enable = function () {
181
- if (this._enabled)
182
- return;
183
- this._enabled = true;
184
- this.context.connection.beginListen(engine_networking_js_1.RoomEvents.JoinedRoom, this.onConnectRoomFn);
185
- // this.context.connection.beginListen(RoomEvents.UserJoinedRoom, this.onUserJoinedOrLeftRoomFn);
186
- // this.context.connection.beginListen(RoomEvents.UserLeftRoom, this.onUserJoinedOrLeftRoomFn);
187
- this.subscribePeerEvents();
188
- };
189
- PeerHandle.prototype.disable = function () {
190
- if (!this._enabled)
191
- return;
192
- this._enabled = false;
193
- this.context.connection.stopListen(engine_networking_js_1.RoomEvents.JoinedRoom, this.onConnectRoomFn);
194
- // this.context.connection.stopListen(RoomEvents.UserJoinedRoom, this.onUserJoinedOrLeftRoomFn);
195
- // this.context.connection.stopListen(RoomEvents.UserLeftRoom, this.onUserJoinedOrLeftRoomFn);
196
- this.unsubscribePeerEvents();
197
- };
198
- PeerHandle.prototype.onConnectRoom = function () {
199
- this.setupPeer();
200
- };
201
- ;
202
- // private onUserJoinedOrLeftRoom(_: UserJoinedOrLeftRoomModel): void {
203
- // };
204
- PeerHandle.prototype.setupPeer = function () {
205
- if (!this.context.connection.connectionId)
206
- return;
207
- if (this._enabledPeer)
208
- return;
209
- this._enabledPeer = true;
210
- if (!this._peer) {
211
- var peerId = this.getMyPeerId();
212
- if (peerId)
213
- this._peer = engine_networking_peer_js_1.getPeerjsInstance(peerId);
214
- else
215
- console.error("Failed to setup peerjs because we dont have a connection id", this.context.connection.connectionId);
216
- }
217
- if (this._enabled)
218
- this.subscribePeerEvents();
219
- };
220
- PeerHandle.prototype.subscribePeerEvents = function () {
221
- if (!this._peer)
222
- return;
223
- this._peer.on("open", this.onPeerConnectFn);
224
- this._peer.on("call", this.onPeerReceiveCallFn);
225
- // this.context.connection.beginListen(PeerEvent.Connected, this.onRemotePeerConnect.bind(this));
226
- // TODO: make connection to all current active calls even if the user is not anymore in the needle room
227
- };
228
- PeerHandle.prototype.unsubscribePeerEvents = function () {
229
- if (!this._peer)
230
- return;
231
- this._peer.off("open", this.onPeerConnectFn);
232
- this._peer.off("call", this.onPeerReceiveCallFn);
233
- // this.context.connection.stopListen(PeerEvent.Connected, this.onRemotePeerConnect.bind(this));
234
- };
235
- PeerHandle.prototype.onPeerConnect = function (id) {
236
- if (debug)
237
- console.log("Peer connected as", id);
238
- this.context.connection.send(PeerEvent.Connected, new PeerUserConnectedModel(this, id));
239
- };
240
- PeerHandle.prototype.onPeerReceivingCall = function (call) {
241
- call.answer();
242
- this.registerCall(call, CallDirection.Incoming);
243
- };
244
- PeerHandle.prototype.registerCall = function (call, direction) {
245
- var _this = this;
246
- var meta = call.metadata;
247
- if (!meta || !meta.userId) {
248
- console.error("Missing call metadata", call);
249
- }
250
- var userId = meta.userId;
251
- if (direction === CallDirection.Incoming && debug)
252
- console.log("Receive call from", call.metadata);
253
- else if (debug)
254
- console.log("Make call to", call.metadata);
255
- var arr = direction === CallDirection.Incoming ? this._incomingCalls : this._outgoingCalls;
256
- var handle = new CallHandle(userId, call, direction);
257
- arr.push(handle);
258
- call.on("error", function (err) {
259
- console.error("Call error", err);
260
- });
261
- call.on("close", function () {
262
- if (debug)
263
- console.log("Call ended", call.metadata);
264
- call.close();
265
- var index = arr.indexOf(handle);
266
- if (index !== -1)
267
- arr.splice(index, 1);
268
- });
269
- handle.addEventListener(PeerEvent.CallEnded, function (e) {
270
- _this.dispatchEvent(e);
271
- });
272
- if (direction === CallDirection.Incoming) {
273
- handle.addEventListener(PeerEvent.ReceiveStream, function (e) {
274
- _this.dispatchEvent(e);
275
- });
276
- call.on("stream", function () {
277
- // workaround for https://github.com/peers/peerjs/issues/636
278
- var intervalCounter = 0;
279
- var closeInterval = setInterval(function () {
280
- var isFirstInterval = intervalCounter === 0;
281
- if (!handle.isOpen && isFirstInterval) {
282
- intervalCounter += 1;
283
- clearInterval(closeInterval);
284
- handle.close();
285
- }
286
- }, 2000);
287
- });
288
- }
289
- return handle;
290
- };
291
- PeerHandle.instances = new Map();
292
- return PeerHandle;
293
- }(three_1.EventDispatcher));
294
- exports.PeerHandle = PeerHandle;
295
- // type UserVideoCall = {
296
- // call: Peer.MediaConnection;
297
- // stream: MediaStream;
298
- // userId: string;
299
- // }
300
- // type IncomingStreamArgs = {
301
- // stream: MediaStream;
302
- // userId: string;
303
- // }
304
- var NetworkedStreams = /** @class */ (function (_super) {
305
- __extends(NetworkedStreams, _super);
306
- function NetworkedStreams(context, peer) {
307
- var _this = _super.call(this) || this;
308
- // private _receiveVideoStreamListeners: Array<(info: IncomingStreamArgs) => void> = [];
309
- _this._sendingStreams = new Map();
310
- // private onUserJoinedPeer = (evt) => {
311
- // if (!this.context.connection.isConnected && evt.userId) {
312
- // this.startCallWithUserIfNotAlready(evt.userId);
313
- // }
314
- // }
315
- // When either we ourselves OR someone else is joining the room we want to make sure to re-establish all calls
316
- // and if the user that joined is not yet receiving our video stream we want to start a stream with them
317
- // https://github.com/needle-tools/needle-tiny/issues/697#issuecomment-1510425539
318
- _this.onJoinedRoom = function (evt) {
319
- if (debug)
320
- console.log(evt.userId + " joined room and I'm currently sending " + _this._sendingStreams.size + " streams");
321
- if (_this._sendingStreams.size > 0)
322
- _this.updateSendingCalls();
323
- };
324
- _this.onReceiveStream = function (evt) {
325
- if (debug)
326
- console.log("RECEIVE VIDEO", evt);
327
- _this.dispatchEvent({ type: PeerEvent.ReceiveStream, target: _this, stream: evt.stream, userId: evt.userId });
328
- };
329
- _this.onCallEnded = function (evt) {
330
- _this.dispatchEvent(evt);
331
- };
332
- _this.onUserConnected = function (user) {
333
- // console.log(this.peer.id, user.guid)
334
- if (_this.peer.id === user.guid) {
335
- if (debug)
336
- console.log("USER CONNECTED", user.guid, user);
337
- var stream = _this._sendingStreams.keys().next().value;
338
- _this.peer.makeCall(user.peerId, stream);
339
- }
340
- };
341
- _this.context = context;
342
- _this.peer = peer;
343
- return _this;
344
- }
345
- NetworkedStreams.create = function (comp) {
346
- var peer = PeerHandle.getOrCreate(comp.context, comp.context.connection.connectionId);
347
- return new NetworkedStreams(comp.context, peer);
348
- };
349
- NetworkedStreams.prototype.startSendingStream = function (stream) {
350
- if (!this._sendingStreams.has(stream)) {
351
- this._sendingStreams.set(stream, []);
352
- this.updateSendingCalls();
353
- }
354
- ;
355
- };
356
- NetworkedStreams.prototype.stopSendingStream = function (_steam) {
357
- if (_steam) {
358
- var calls = this._sendingStreams.get(_steam);
359
- if (calls) {
360
- if (debug)
361
- console.log("Closing calls", calls);
362
- for (var _i = 0, calls_1 = calls; _i < calls_1.length; _i++) {
363
- var call = calls_1[_i];
364
- call.close();
365
- }
366
- }
367
- this._sendingStreams["delete"](_steam);
368
- if (calls && debug)
369
- console.log("Currently sending", this._sendingStreams);
370
- }
371
- };
372
- // private onConnectRoomFn: Function = this.onConnectRoom.bind(this);
373
- // private onUserConnectedFn: Function = this.onUserConnected.bind(this);
374
- // private onUserLeftFn: Function = this.onUserLeft.bind(this);
375
- NetworkedStreams.prototype.enable = function () {
376
- this.peer.enable();
377
- this.peer.addEventListener(PeerEvent.ReceiveStream, this.onReceiveStream);
378
- //@ts-ignore
379
- this.peer.addEventListener(PeerEvent.CallEnded, this.onCallEnded);
380
- // this.peer.addEventListener(PeerEvent.UserJoined, this.onUserJoinedPeer);
381
- this.context.connection.beginListen(PeerEvent.Connected, this.onUserConnected);
382
- this.context.connection.beginListen(engine_networking_js_1.RoomEvents.JoinedRoom, this.onJoinedRoom);
383
- this.context.connection.beginListen(engine_networking_js_1.RoomEvents.UserJoinedRoom, this.onJoinedRoom);
384
- this.context.connection.beginListen(engine_networking_js_1.RoomEvents.UserLeftRoom, this.onUserLeft);
385
- };
386
- NetworkedStreams.prototype.disable = function () {
387
- this.peer.disable();
388
- this.peer.removeEventListener(PeerEvent.ReceiveStream, this.onReceiveStream);
389
- //@ts-ignore
390
- this.peer.removeEventListener(PeerEvent.CallEnded, this.onCallEnded);
391
- // this.peer.removeEventListener(PeerEvent.UserJoined, this.onUserJoinedPeer);
392
- this.context.connection.stopListen(PeerEvent.Connected, this.onUserConnected);
393
- this.context.connection.stopListen(engine_networking_js_1.RoomEvents.JoinedRoom, this.onJoinedRoom);
394
- this.context.connection.stopListen(engine_networking_js_1.RoomEvents.UserJoinedRoom, this.onJoinedRoom);
395
- this.context.connection.stopListen(engine_networking_js_1.RoomEvents.UserLeftRoom, this.onUserLeft);
396
- };
397
- NetworkedStreams.prototype.onUserLeft = function (_) {
398
- this.stopCallsToUsersThatAreNotInTheRoomAnymore();
399
- };
400
- NetworkedStreams.prototype.updateSendingCalls = function () {
401
- var _a;
402
- var startedNewCall = false;
403
- var localUserId = this.context.connection.connectionId;
404
- for (var _i = 0, _b = this._sendingStreams.keys(); _i < _b.length; _i++) {
405
- var stream = _b[_i];
406
- var calls = this._sendingStreams.get(stream) || [];
407
- var _loop_1 = function (userId) {
408
- if (userId === localUserId)
409
- return "continue";
410
- var existing = calls.find(function (c) { return c.userId === userId; });
411
- if (!existing || ((_a = existing.stream) === null || _a === void 0 ? void 0 : _a.active) === false) {
412
- if (debug)
413
- console.log("Starting call to", userId, localUserId);
414
- var handle = this_1.peer.makeCall(this_1.peer.getPeerIdFromUserId(userId), stream);
415
- if (handle) {
416
- startedNewCall = true;
417
- calls.push(handle);
418
- }
419
- }
420
- };
421
- var this_1 = this;
422
- for (var _c = 0, _d = this.context.connection.usersInRoom(); _c < _d.length; _c++) {
423
- var userId = _d[_c];
424
- _loop_1(userId);
425
- }
426
- this._sendingStreams.set(stream, calls);
427
- }
428
- this.stopCallsToUsersThatAreNotInTheRoomAnymore();
429
- if (startedNewCall && debug) {
430
- console.log("Currently sending", this._sendingStreams);
431
- }
432
- };
433
- // private startCallWithUserIfNotAlready(userId: string) {
434
- // for (const stream of this._sendingVideoStreams.keys()) {
435
- // const calls = this._sendingVideoStreams.get(stream) || [];
436
- // const existing = calls.find(c => c.userId === userId);
437
- // if (!existing || existing.stream?.active === false) {
438
- // if (debug) console.log("Starting call to", userId)
439
- // const handle = this.peer.makeCall(this.peer.getPeerIdFromUserId(userId), stream);
440
- // if (handle) {
441
- // calls.push(handle);
442
- // return true;
443
- // }
444
- // }
445
- // }
446
- // return false;
447
- // }
448
- NetworkedStreams.prototype.stopCallsToUsersThatAreNotInTheRoomAnymore = function () {
449
- for (var _i = 0, _a = this._sendingStreams.keys(); _i < _a.length; _i++) {
450
- var stream = _a[_i];
451
- var calls = this._sendingStreams.get(stream);
452
- if (!calls)
453
- continue;
454
- for (var i = calls.length - 1; i >= 0; i--) {
455
- var call = calls[i];
456
- if (!this.context.connection.userIsInRoom(call.userId)) {
457
- call.close();
458
- calls.splice(i, 1);
459
- }
460
- }
461
- }
462
- };
463
- return NetworkedStreams;
464
- }(three_1.EventDispatcher));
465
- exports.NetworkedStreams = NetworkedStreams;
466
- function disposeStream(str) {
467
- if (!str)
468
- return;
469
- for (var _i = 0, _a = str.getTracks(); _i < _a.length; _i++) {
470
- var cap = _a[_i];
471
- cap.stop();
472
- }
473
- }
474
- exports.disposeStream = disposeStream;
@@ -1,7 +0,0 @@
1
- fileFormatVersion: 2
2
- guid: 48d3950534f4dae478088f839e8c1578
3
- DefaultImporter:
4
- externalObjects: {}
5
- userData:
6
- assetBundleName:
7
- assetBundleVariant: