livekit-client 2.0.7 → 2.0.8
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/dist/livekit-client.e2ee.worker.js +1 -1
- package/dist/livekit-client.e2ee.worker.js.map +1 -1
- package/dist/livekit-client.e2ee.worker.mjs +27 -3
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +64 -37
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/index.d.ts +7 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
- package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
- package/dist/ts4.2/src/index.d.ts +7 -6
- package/package.json +1 -1
- package/src/e2ee/worker/FrameCryptor.ts +12 -0
- package/src/e2ee/worker/e2ee.worker.ts +24 -3
- package/src/index.ts +32 -29
- package/src/room/PCTransport.ts +6 -18
- package/src/room/participant/LocalParticipant.ts +21 -6
- package/src/room/participant/publishUtils.ts +38 -11
- package/src/room/track/LocalTrack.ts +11 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAwB,kBAAkB,EAAU,MAAM,UAAU,CAAC;AAEjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE,eAAO,MAAM,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAa,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,KAAK,IAAI,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;CAClC;+CAEgE,kBAAkB,gBAAgB,CAAC;AAApG,qBAAa,gBAAiB,SAAQ,qBAA+D;IACnG,SAAS,CAAC,cAAc,CACtB,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAIf,SAAS,CAAC,cAAc,CACtB,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC;CAGhB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,IAAI,CAAwB;IAEpC,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,OAAO,CAAC,MAAM,CAA0B;IAExC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAa;gBAEvB,IAAI,EAAE;QAChB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;IAWD,OAAO,KAAK,UAAU,GAMrB;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;
|
1
|
+
{"version":3,"file":"FrameCryptor.d.ts","sourceRoot":"","sources":["../../../../src/e2ee/worker/FrameCryptor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAwB,kBAAkB,EAAU,MAAM,UAAU,CAAC;AAEjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGrE,eAAO,MAAM,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAa,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,KAAK,IAAI,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW,EAAE,eAAe,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;CAClC;+CAEgE,kBAAkB,gBAAgB,CAAC;AAApG,qBAAa,gBAAiB,SAAQ,qBAA+D;IACnG,SAAS,CAAC,cAAc,CACtB,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAIf,SAAS,CAAC,cAAc,CACtB,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC,GAC3C,OAAO,CAAC,GAAG,CAAC;CAGhB;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;IAChD,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,mBAAmB,CAAqB;IAEhD,OAAO,CAAC,OAAO,CAAqB;IAEpC,OAAO,CAAC,IAAI,CAAwB;IAEpC,OAAO,CAAC,UAAU,CAAC,CAAa;IAEhC,OAAO,CAAC,MAAM,CAA0B;IAExC,OAAO,CAAC,kBAAkB,CAAqB;IAE/C;;OAEG;IACH,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,aAAa,CAAC,CAAa;gBAEvB,IAAI,EAAE;QAChB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,mBAAmB,EAAE,MAAM,CAAC;QAC5B,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;IAWD,OAAO,KAAK,UAAU,GAMrB;IAED;;;;;OAKG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB;IAkBtD,gBAAgB;IAKhB,SAAS;IAQT,sBAAsB;IAItB,UAAU;IAIV;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU;IAI/B;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAItC,cAAc,CACZ,SAAS,EAAE,QAAQ,GAAG,QAAQ,EAC9B,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,UAAU;IA6BpB,aAAa,CAAC,OAAO,EAAE,UAAU;IAKjC;;;;;;;;;;;;;;;;;;;;;OAqBG;cACa,cAAc,CAC5B,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC;IAqF9C;;;;;OAKG;cACa,cAAc,CAC5B,YAAY,EAAE,oBAAoB,GAAG,oBAAoB,EACzD,UAAU,EAAE,gCAAgC;IA8D9C;;;OAGG;YACW,YAAY;IA0H1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,MAAM;IAqBd,OAAO,CAAC,mBAAmB;IA8D3B;;OAEG;IACH,OAAO,CAAC,aAAa;CAStB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CA0B5D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAEzD;AAID,oBAAY,QAAQ;IAClB,uCAAuC;IACvC,aAAa,IAAI;IACjB,mCAAmC;IACnC,iBAAiB,IAAI;IACrB,mCAAmC;IACnC,iBAAiB,IAAI;IACrB,mCAAmC;IACnC,iBAAiB,IAAI;IACrB,oCAAoC;IACpC,SAAS,IAAI;IACb,2CAA2C;IAC3C,GAAG,IAAI;IACP,6BAA6B;IAC7B,GAAG,IAAI;IACP,4BAA4B;IAC5B,GAAG,IAAI;IACP,4BAA4B;IAC5B,GAAG,IAAI;IACP,sBAAsB;IACtB,OAAO,KAAK;IACZ,oBAAoB;IACpB,UAAU,KAAK;IACf,kBAAkB;IAClB,WAAW,KAAK;IAChB,uCAAuC;IACvC,OAAO,KAAK;IACZ,sBAAsB;IACtB,WAAW,KAAK;IAChB,oCAAoC;IACpC,UAAU,KAAK;IACf,0BAA0B;IAC1B,GAAG,KAAK;IAIR,qEAAqE;IACrE,SAAS,KAAK;IACd,4BAA4B;IAC5B,SAAS,KAAK;IACd,0FAA0F;IAC1F,eAAe,KAAK;CAGrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAQ/F"}
|
package/dist/src/index.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataPacket_Kind, DisconnectReason } from '@livekit/protocol';
|
1
|
+
import { DataPacket_Kind, DisconnectReason, SubscriptionError } from '@livekit/protocol';
|
2
2
|
import { LogLevel, LoggerNames, getLogger, setLogExtension, setLogLevel } from './logger';
|
3
3
|
import DefaultReconnectPolicy from './room/DefaultReconnectPolicy';
|
4
4
|
import Room, { ConnectionState } from './room/Room';
|
@@ -20,19 +20,20 @@ import { TrackPublication } from './room/track/TrackPublication';
|
|
20
20
|
import type { LiveKitReactNativeInfo } from './room/types';
|
21
21
|
import type { AudioAnalyserOptions } from './room/utils';
|
22
22
|
import { createAudioAnalyser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAV1, supportsAdaptiveStream, supportsDynacast, supportsVP9 } from './room/utils';
|
23
|
+
import { getBrowser } from './utils/browserParser';
|
23
24
|
export * from './connectionHelper/ConnectionCheck';
|
25
|
+
export * from './e2ee';
|
24
26
|
export * from './options';
|
25
27
|
export * from './room/errors';
|
26
28
|
export * from './room/events';
|
27
29
|
export * from './room/track/Track';
|
28
30
|
export * from './room/track/create';
|
29
|
-
export * from './room/track/options';
|
30
31
|
export { facingModeFromDeviceLabel, facingModeFromLocalTrack } from './room/track/facingMode';
|
32
|
+
export * from './room/track/options';
|
33
|
+
export * from './room/track/processor/types';
|
31
34
|
export * from './room/track/types';
|
32
35
|
export type { DataPublishOptions, SimulationScenario } from './room/types';
|
33
36
|
export * from './version';
|
34
|
-
export
|
35
|
-
export
|
36
|
-
export { setLogLevel, setLogExtension, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAdaptiveStream, supportsDynacast, supportsAV1, supportsVP9, createAudioAnalyser, LogLevel, LoggerNames, getLogger, Room, ConnectionState, DataPacket_Kind, DisconnectReason, Participant, RemoteParticipant, LocalParticipant, LocalAudioTrack, LocalVideoTrack, LocalTrack, LocalTrackPublication, RemoteTrack, RemoteAudioTrack, RemoteVideoTrack, RemoteTrackPublication, TrackPublication, ConnectionQuality, DefaultReconnectPolicy, CriticalTimers, };
|
37
|
-
export type { ElementInfo, ParticipantTrackPermission, AudioAnalyserOptions, LiveKitReactNativeInfo, };
|
37
|
+
export { ConnectionQuality, ConnectionState, CriticalTimers, DataPacket_Kind, DefaultReconnectPolicy, DisconnectReason, LocalAudioTrack, LocalParticipant, LocalTrack, LocalTrackPublication, LocalVideoTrack, LogLevel, LoggerNames, Participant, RemoteAudioTrack, RemoteParticipant, RemoteTrack, RemoteTrackPublication, RemoteVideoTrack, Room, SubscriptionError, TrackPublication, createAudioAnalyser, getBrowser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, getLogger, isBrowserSupported, setLogExtension, setLogLevel, supportsAV1, supportsAdaptiveStream, supportsDynacast, supportsVP9, };
|
38
|
+
export type { AudioAnalyserOptions, ElementInfo, LiveKitReactNativeInfo, ParticipantTrackPermission, };
|
38
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1F,OAAO,sBAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,WAAW,EAAE,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAChG,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,cAAc,oCAAoC,CAAC;AACnD,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,eAAe,EACf,QAAQ,EACR,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,IAAI,EACJ,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EACxB,wBAAwB,EACxB,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,WAAW,GACZ,CAAC;AACF,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,sBAAsB,EACtB,0BAA0B,GAC3B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,OAAO,CAAC,GAAG,CAA2B;IAEtC,OAAO,KAAK,EAAE,GAKb;IAED,OAAO,CAAC,MAAM,CAAC,CAAmB;IAElC,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,aAAa,CAAgB;IAErC,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAErD,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAEtD,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAElE,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEpE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE5D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;gBAE1B,MAAM,CAAC,EAAE,gBAAgB,EAAE,aAAa,GAAE,aAAkB;IAQxE,OAAO,CAAC,QAAQ;IA+BhB,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,cAAc,IAAI,OAAO,CAK5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoFxE,SAAS;iDAAiC,KAAK,KAAK,IAAI;;MAWhD;IAEF,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe;
|
1
|
+
{"version":3,"file":"PCTransport.d.ts","sourceRoot":"","sources":["../../../src/room/PCTransport.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,OAAO,CAAC,GAAG,CAA2B;IAEtC,OAAO,KAAK,EAAE,GAKb;IAED,OAAO,CAAC,MAAM,CAAC,CAAmB;IAElC,OAAO,CAAC,GAAG,CAAO;IAElB,OAAO,CAAC,aAAa,CAAgB;IAErC,iBAAiB,EAAE,mBAAmB,EAAE,CAAM;IAE9C,aAAa,EAAE,OAAO,CAAS;IAE/B,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,EAAE,gBAAgB,EAAE,CAAM;IAEvC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,cAAc,EAAE,MAAM,EAAE,CAAM;IAE9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAErD,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IAEtD,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;IAE1C,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAElE,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAEpE,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAE5D,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAElD,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;gBAE1B,MAAM,CAAC,EAAE,gBAAgB,EAAE,aAAa,GAAE,aAAkB;IAQxE,OAAO,CAAC,QAAQ;IA+BhB,OAAO,KAAK,UAAU,GAIrB;IAED,IAAI,cAAc,IAAI,OAAO,CAK5B;IAEK,eAAe,CAAC,SAAS,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoFxE,SAAS;iDAAiC,KAAK,KAAK,IAAI;;MAWhD;IAEF,kBAAkB,CAAC,OAAO,CAAC,EAAE,eAAe;IA8E5C,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAY9D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,kBAAkB;IAIpE,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,qBAAqB;IAIzF,QAAQ,CAAC,KAAK,EAAE,gBAAgB;IAOhC,oBAAoB,CAAC,IAAI,EAAE,gBAAgB;IAI3C,gBAAgB,CAAC,SAAS,EAAE,gBAAgB;IAO5C,cAAc,IAAI,OAAO;IAIzB,WAAW,CAAC,MAAM,EAAE,YAAY;IAIhC,kBAAkB;IAIlB,qBAAqB;IAIrB,kBAAkB;IAIlB,eAAe;IAIf,UAAU;IAIV,mBAAmB;IAInB,oBAAoB;IAIpB,QAAQ;IAIF,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqCxD,KAAK,aAiBH;YAEY,YAAY;CAoD3B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"LocalParticipant.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/LocalParticipant.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"publishUtils.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/publishUtils.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"publishUtils.d.ts","sourceRoot":"","sources":["../../../../src/room/participant/publishUtils.ts"],"names":[],"mappings":"AAGA,OAAO,eAAe,MAAM,0BAA0B,CAAC;AACvD,OAAO,eAAe,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAsB,WAAW,EAAgC,MAAM,kBAAkB,CAAC;AACjG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAU9C,gBAAgB;AAChB,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,CAAC,EAAE,qBAAqB,EACnC,aAAa,CAAC,EAAE,aAAa,GAC5B,eAAe,GAAG,eAAe,CASnC;AAGD,eAAO,MAAM,UAAU,eAA8B,CAAC;AAGtD,eAAO,MAAM,SAAS,eAAgC,CAAC;AAGvD,eAAO,MAAM,kBAAkB,eAAoC,CAAC;AAGpE,eAAO,MAAM,0BAA0B,eAAyC,CAAC;AAGjF,eAAO,MAAM,yBAAyB,eAA6C,CAAC;AAGpF,eAAO,MAAM,yCAAyC,eAAgB,WAAW,kBAmBhF,CAAC;AAwBF,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,OAAO,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,mBAAmB,GAC5B,wBAAwB,EAAE,CA+G5B;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,mBAAmB,0CAiC1B;AAGD,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,UAAU,GACjB,aAAa,CAoCf;AAGD,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,WAAW,EAAE,CASf;AAGD,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,WAAW,GACpB,WAAW,EAAE,CAUf;AA4DD,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,6BAelE;AAED,gBAAgB;AAChB,qBAAa,eAAe;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,SAAS,GAAG,GAAG,GAAG,MAAM,GAAG,YAAY,CAAC;gBAEpC,eAAe,EAAE,MAAM;IAkBnC,QAAQ,IAAI,MAAM;CAGnB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAoC,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,KAAK,EAAgC,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAInD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU,CACtC,SAAS,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CACzC,SAAQ,KAAK,CAAC,SAAS,CAAC;IACxB,gBAAgB;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,gBAAgB;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,IAAI,WAAW,0BAEd;IAED,SAAS,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAE9C,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;IAElC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC;IAE1B,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC;IAEnC,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAE9C,SAAS,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAErD,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;IAE/B,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAEtC,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;;;OAMG;IACH,SAAS,aACP,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,SAAS,EACf,WAAW,CAAC,EAAE,qBAAqB,EACnC,iBAAiB,UAAQ,EACzB,aAAa,CAAC,EAAE,aAAa;IAkB/B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,UAAU,GAAG,SAAS,CAa7C;IAED,OAAO,CAAC,iBAAiB,CAAkB;IAE3C,IAAI,gBAAgB,YAEnB;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,gBAAgB,qBAEnB;YAEa,mBAAmB;IAuE3B,iBAAiB,CAAC,OAAO,SAA2B,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;IAsBtF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW1C,IAAI;IAKJ,MAAM;IAKN,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC;IAC1F,YAAY,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC;cAgC9E,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB;IA8C3D,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO;IAYtC,SAAS,KAAK,kBAAkB,IAAI,OAAO,CAO1C;cAEe,0BAA0B;IAY1C,OAAO,CAAC,oBAAoB,CAGxB;IAEJ,OAAO,CAAC,yBAAyB,CAExB;IAET,OAAO,CAAC,sBAAsB,CAG5B;IAEF,OAAO,CAAC,WAAW,CAOjB;IAEF,IAAI;IAUJ;;;;;QAKI;IACE,aAAa;IAwBb,cAAc;IAoBpB;;;;;OAKG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAQ9D;;;;;;;;;OASG;IACG,YAAY,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,0BAA0B,UAAO;
|
1
|
+
{"version":3,"file":"LocalTrack.d.ts","sourceRoot":"","sources":["../../../../src/room/track/LocalTrack.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataPacket_Kind, DisconnectReason } from '@livekit/protocol';
|
1
|
+
import { DataPacket_Kind, DisconnectReason, SubscriptionError } from '@livekit/protocol';
|
2
2
|
import { LogLevel, LoggerNames, getLogger, setLogExtension, setLogLevel } from './logger';
|
3
3
|
import DefaultReconnectPolicy from './room/DefaultReconnectPolicy';
|
4
4
|
import Room, { ConnectionState } from './room/Room';
|
@@ -20,19 +20,20 @@ import { TrackPublication } from './room/track/TrackPublication';
|
|
20
20
|
import type { LiveKitReactNativeInfo } from './room/types';
|
21
21
|
import type { AudioAnalyserOptions } from './room/utils';
|
22
22
|
import { createAudioAnalyser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAV1, supportsAdaptiveStream, supportsDynacast, supportsVP9 } from './room/utils';
|
23
|
+
import { getBrowser } from './utils/browserParser';
|
23
24
|
export * from './connectionHelper/ConnectionCheck';
|
25
|
+
export * from './e2ee';
|
24
26
|
export * from './options';
|
25
27
|
export * from './room/errors';
|
26
28
|
export * from './room/events';
|
27
29
|
export * from './room/track/Track';
|
28
30
|
export * from './room/track/create';
|
29
|
-
export * from './room/track/options';
|
30
31
|
export { facingModeFromDeviceLabel, facingModeFromLocalTrack } from './room/track/facingMode';
|
32
|
+
export * from './room/track/options';
|
33
|
+
export * from './room/track/processor/types';
|
31
34
|
export * from './room/track/types';
|
32
35
|
export type { DataPublishOptions, SimulationScenario } from './room/types';
|
33
36
|
export * from './version';
|
34
|
-
export
|
35
|
-
export
|
36
|
-
export { setLogLevel, setLogExtension, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, isBrowserSupported, supportsAdaptiveStream, supportsDynacast, supportsAV1, supportsVP9, createAudioAnalyser, LogLevel, LoggerNames, getLogger, Room, ConnectionState, DataPacket_Kind, DisconnectReason, Participant, RemoteParticipant, LocalParticipant, LocalAudioTrack, LocalVideoTrack, LocalTrack, LocalTrackPublication, RemoteTrack, RemoteAudioTrack, RemoteVideoTrack, RemoteTrackPublication, TrackPublication, ConnectionQuality, DefaultReconnectPolicy, CriticalTimers, };
|
37
|
-
export type { ElementInfo, ParticipantTrackPermission, AudioAnalyserOptions, LiveKitReactNativeInfo, };
|
37
|
+
export { ConnectionQuality, ConnectionState, CriticalTimers, DataPacket_Kind, DefaultReconnectPolicy, DisconnectReason, LocalAudioTrack, LocalParticipant, LocalTrack, LocalTrackPublication, LocalVideoTrack, LogLevel, LoggerNames, Participant, RemoteAudioTrack, RemoteParticipant, RemoteTrack, RemoteTrackPublication, RemoteVideoTrack, Room, SubscriptionError, TrackPublication, createAudioAnalyser, getBrowser, getEmptyAudioStreamTrack, getEmptyVideoStreamTrack, getLogger, isBrowserSupported, setLogExtension, setLogLevel, supportsAV1, supportsAdaptiveStream, supportsDynacast, supportsVP9, };
|
38
|
+
export type { AudioAnalyserOptions, ElementInfo, LiveKitReactNativeInfo, ParticipantTrackPermission, };
|
38
39
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
@@ -100,6 +100,18 @@ export class FrameCryptor extends BaseFrameCryptor {
|
|
100
100
|
* @param keys
|
101
101
|
*/
|
102
102
|
setParticipant(id: string, keys: ParticipantKeyHandler) {
|
103
|
+
workerLogger.debug('setting new participant on cryptor', {
|
104
|
+
...this.logContext,
|
105
|
+
participant: id,
|
106
|
+
});
|
107
|
+
if (this.participantIdentity) {
|
108
|
+
workerLogger.error(
|
109
|
+
'cryptor has already a participant set, participant should have been unset before',
|
110
|
+
{
|
111
|
+
...this.logContext,
|
112
|
+
},
|
113
|
+
);
|
114
|
+
}
|
103
115
|
this.participantIdentity = id;
|
104
116
|
this.keys = keys;
|
105
117
|
this.sifGuard.reset();
|
@@ -45,7 +45,9 @@ onmessage = (ev) => {
|
|
45
45
|
break;
|
46
46
|
case 'enable':
|
47
47
|
setEncryptionEnabled(data.enabled, data.participantIdentity);
|
48
|
-
workerLogger.info(
|
48
|
+
workerLogger.info(
|
49
|
+
`updated e2ee enabled status for ${data.participantIdentity} to ${data.enabled}`,
|
50
|
+
);
|
49
51
|
// acknowledge enable call successful
|
50
52
|
postMessage(ev.data);
|
51
53
|
break;
|
@@ -123,7 +125,19 @@ async function handleRatchetRequest(data: RatchetRequestMessage['data']) {
|
|
123
125
|
}
|
124
126
|
|
125
127
|
function getTrackCryptor(participantIdentity: string, trackId: string) {
|
126
|
-
let
|
128
|
+
let cryptors = participantCryptors.filter((c) => c.getTrackId() === trackId);
|
129
|
+
if (cryptors.length > 1) {
|
130
|
+
const debugInfo = cryptors
|
131
|
+
.map((c) => {
|
132
|
+
return { participant: c.getParticipantIdentity() };
|
133
|
+
})
|
134
|
+
.join(',');
|
135
|
+
workerLogger.error(
|
136
|
+
`Found multiple cryptors for the same trackID ${trackId}. target participant: ${participantIdentity} `,
|
137
|
+
{ participants: debugInfo },
|
138
|
+
);
|
139
|
+
}
|
140
|
+
let cryptor = cryptors[0];
|
127
141
|
if (!cryptor) {
|
128
142
|
workerLogger.info('creating new cryptor for', { participantIdentity });
|
129
143
|
if (!keyProviderOptions) {
|
@@ -168,9 +182,16 @@ function getSharedKeyHandler() {
|
|
168
182
|
}
|
169
183
|
|
170
184
|
function unsetCryptorParticipant(trackId: string, participantIdentity: string) {
|
171
|
-
const
|
185
|
+
const cryptors = participantCryptors.filter(
|
172
186
|
(c) => c.getParticipantIdentity() === participantIdentity && c.getTrackId() === trackId,
|
173
187
|
);
|
188
|
+
if (cryptors.length > 1) {
|
189
|
+
workerLogger.error('Found multiple cryptors for the same participant and trackID combination', {
|
190
|
+
trackId,
|
191
|
+
participantIdentity,
|
192
|
+
});
|
193
|
+
}
|
194
|
+
const cryptor = cryptors[0];
|
174
195
|
if (!cryptor) {
|
175
196
|
workerLogger.warn('Could not unset participant on cryptor', { trackId, participantIdentity });
|
176
197
|
} else {
|
package/src/index.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataPacket_Kind, DisconnectReason } from '@livekit/protocol';
|
1
|
+
import { DataPacket_Kind, DisconnectReason, SubscriptionError } from '@livekit/protocol';
|
2
2
|
import { LogLevel, LoggerNames, getLogger, setLogExtension, setLogLevel } from './logger';
|
3
3
|
import DefaultReconnectPolicy from './room/DefaultReconnectPolicy';
|
4
4
|
import Room, { ConnectionState } from './room/Room';
|
@@ -29,57 +29,60 @@ import {
|
|
29
29
|
supportsDynacast,
|
30
30
|
supportsVP9,
|
31
31
|
} from './room/utils';
|
32
|
+
import { getBrowser } from './utils/browserParser';
|
32
33
|
|
33
34
|
export * from './connectionHelper/ConnectionCheck';
|
35
|
+
export * from './e2ee';
|
34
36
|
export * from './options';
|
35
37
|
export * from './room/errors';
|
36
38
|
export * from './room/events';
|
37
39
|
export * from './room/track/Track';
|
38
40
|
export * from './room/track/create';
|
39
|
-
export * from './room/track/options';
|
40
41
|
export { facingModeFromDeviceLabel, facingModeFromLocalTrack } from './room/track/facingMode';
|
42
|
+
export * from './room/track/options';
|
43
|
+
export * from './room/track/processor/types';
|
41
44
|
export * from './room/track/types';
|
42
45
|
export type { DataPublishOptions, SimulationScenario } from './room/types';
|
43
46
|
export * from './version';
|
44
|
-
export * from './e2ee';
|
45
|
-
export * from './room/track/processor/types';
|
46
47
|
export {
|
47
|
-
|
48
|
-
setLogExtension,
|
49
|
-
getEmptyAudioStreamTrack,
|
50
|
-
getEmptyVideoStreamTrack,
|
51
|
-
isBrowserSupported,
|
52
|
-
supportsAdaptiveStream,
|
53
|
-
supportsDynacast,
|
54
|
-
supportsAV1,
|
55
|
-
supportsVP9,
|
56
|
-
createAudioAnalyser,
|
57
|
-
LogLevel,
|
58
|
-
LoggerNames,
|
59
|
-
getLogger,
|
60
|
-
Room,
|
48
|
+
ConnectionQuality,
|
61
49
|
ConnectionState,
|
50
|
+
CriticalTimers,
|
62
51
|
DataPacket_Kind,
|
52
|
+
DefaultReconnectPolicy,
|
63
53
|
DisconnectReason,
|
64
|
-
Participant,
|
65
|
-
RemoteParticipant,
|
66
|
-
LocalParticipant,
|
67
54
|
LocalAudioTrack,
|
68
|
-
|
55
|
+
LocalParticipant,
|
69
56
|
LocalTrack,
|
70
57
|
LocalTrackPublication,
|
71
|
-
|
58
|
+
LocalVideoTrack,
|
59
|
+
LogLevel,
|
60
|
+
LoggerNames,
|
61
|
+
Participant,
|
72
62
|
RemoteAudioTrack,
|
73
|
-
|
63
|
+
RemoteParticipant,
|
64
|
+
RemoteTrack,
|
74
65
|
RemoteTrackPublication,
|
66
|
+
RemoteVideoTrack,
|
67
|
+
Room,
|
68
|
+
SubscriptionError,
|
75
69
|
TrackPublication,
|
76
|
-
|
77
|
-
|
78
|
-
|
70
|
+
createAudioAnalyser,
|
71
|
+
getBrowser,
|
72
|
+
getEmptyAudioStreamTrack,
|
73
|
+
getEmptyVideoStreamTrack,
|
74
|
+
getLogger,
|
75
|
+
isBrowserSupported,
|
76
|
+
setLogExtension,
|
77
|
+
setLogLevel,
|
78
|
+
supportsAV1,
|
79
|
+
supportsAdaptiveStream,
|
80
|
+
supportsDynacast,
|
81
|
+
supportsVP9,
|
79
82
|
};
|
80
83
|
export type {
|
81
|
-
ElementInfo,
|
82
|
-
ParticipantTrackPermission,
|
83
84
|
AudioAnalyserOptions,
|
85
|
+
ElementInfo,
|
84
86
|
LiveKitReactNativeInfo,
|
87
|
+
ParticipantTrackPermission,
|
85
88
|
};
|
package/src/room/PCTransport.ts
CHANGED
@@ -286,31 +286,19 @@ export default class PCTransport extends EventEmitter {
|
|
286
286
|
return true;
|
287
287
|
}
|
288
288
|
|
289
|
-
|
289
|
+
const startBitrate = Math.round(trackbr.maxbr * startBitrateForSVC);
|
290
|
+
|
290
291
|
for (const fmtp of media.fmtp) {
|
291
292
|
if (fmtp.payload === codecPayload) {
|
293
|
+
// if another track's fmtp already is set, we cannot override the bitrate
|
294
|
+
// this has the unfortunate consequence of being forced to use the
|
295
|
+
// initial track's bitrate for all tracks
|
292
296
|
if (!fmtp.config.includes('x-google-start-bitrate')) {
|
293
|
-
fmtp.config += `;x-google-start-bitrate=${
|
294
|
-
trackbr.maxbr * startBitrateForSVC,
|
295
|
-
)}`;
|
296
|
-
}
|
297
|
-
if (!fmtp.config.includes('x-google-max-bitrate')) {
|
298
|
-
fmtp.config += `;x-google-max-bitrate=${trackbr.maxbr}`;
|
297
|
+
fmtp.config += `;x-google-start-bitrate=${startBitrate}`;
|
299
298
|
}
|
300
|
-
fmtpFound = true;
|
301
299
|
break;
|
302
300
|
}
|
303
301
|
}
|
304
|
-
|
305
|
-
if (!fmtpFound) {
|
306
|
-
media.fmtp.push({
|
307
|
-
payload: codecPayload,
|
308
|
-
config: `x-google-start-bitrate=${Math.round(
|
309
|
-
trackbr.maxbr * startBitrateForSVC,
|
310
|
-
)};x-google-max-bitrate=${trackbr.maxbr}`,
|
311
|
-
});
|
312
|
-
}
|
313
|
-
|
314
302
|
return true;
|
315
303
|
});
|
316
304
|
}
|
@@ -732,8 +732,10 @@ export default class LocalParticipant extends Participant {
|
|
732
732
|
// for svc codecs, disable simulcast and use vp8 for backup codec
|
733
733
|
if (track instanceof LocalVideoTrack) {
|
734
734
|
if (isSVCCodec(videoCodec)) {
|
735
|
-
|
736
|
-
|
735
|
+
if (track.source === Track.Source.ScreenShare) {
|
736
|
+
// vp9 svc with screenshare cannot encode multiple spatial layers
|
737
|
+
// doing so reduces publish resolution to minimal resolution
|
738
|
+
opts.scalabilityMode = 'L1T3';
|
737
739
|
// Chrome does not allow more than 5 fps with L1T3, and it has encoding bugs with L3T3
|
738
740
|
// It has a different path for screenshare handling and it seems to be untested/buggy
|
739
741
|
// As a workaround, we are setting contentHint to force it to go through the same
|
@@ -741,12 +743,10 @@ export default class LocalParticipant extends Participant {
|
|
741
743
|
// that we need
|
742
744
|
if ('contentHint' in track.mediaStreamTrack) {
|
743
745
|
track.mediaStreamTrack.contentHint = 'motion';
|
744
|
-
this.log.info('forcing contentHint to motion for screenshare with
|
746
|
+
this.log.info('forcing contentHint to motion for screenshare with SVC codecs', {
|
745
747
|
...this.logContext,
|
746
748
|
...getLogContextFromTrack(track),
|
747
749
|
});
|
748
|
-
} else {
|
749
|
-
opts.scalabilityMode = 'L1T3';
|
750
750
|
}
|
751
751
|
}
|
752
752
|
// set scalabilityMode to 'L3T3_KEY' by default
|
@@ -881,7 +881,8 @@ export default class LocalParticipant extends Participant {
|
|
881
881
|
maxbr: encodings[0]?.maxBitrate ? encodings[0].maxBitrate / 1000 : 0,
|
882
882
|
});
|
883
883
|
}
|
884
|
-
} else if (track.codec &&
|
884
|
+
} else if (track.codec && track.codec == 'av1' && encodings[0]?.maxBitrate) {
|
885
|
+
// AV1 requires setting x-start-bitrate in SDP
|
885
886
|
this.engine.pcManager.publisher.setTrackCodecBitrate({
|
886
887
|
cid: req.cid,
|
887
888
|
codec: track.codec,
|
@@ -890,6 +891,20 @@ export default class LocalParticipant extends Participant {
|
|
890
891
|
}
|
891
892
|
}
|
892
893
|
|
894
|
+
if (track.kind === Track.Kind.Video && track.source === Track.Source.ScreenShare) {
|
895
|
+
// a few of reasons we are forcing this setting without allowing overrides:
|
896
|
+
// 1. without this, Chrome seems to aggressively resize the SVC video stating `quality-limitation: bandwidth` even when BW isn't an issue
|
897
|
+
// 2. since we are overriding contentHint to motion (to workaround L1T3 publishing), it overrides the default degradationPreference to `balanced`
|
898
|
+
try {
|
899
|
+
this.log.debug(`setting degradationPreference to maintain-resolution`);
|
900
|
+
const params = track.sender.getParameters();
|
901
|
+
params.degradationPreference = 'maintain-resolution';
|
902
|
+
await track.sender.setParameters(params);
|
903
|
+
} catch (e) {
|
904
|
+
this.log.warn(`failed to set degradationPreference: ${e}`);
|
905
|
+
}
|
906
|
+
}
|
907
|
+
|
893
908
|
await this.engine.negotiate();
|
894
909
|
|
895
910
|
if (track instanceof LocalVideoTrack) {
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import log from '../../logger';
|
2
|
+
import { getBrowser } from '../../utils/browserParser';
|
2
3
|
import { TrackInvalidError } from '../errors';
|
3
4
|
import LocalAudioTrack from '../track/LocalAudioTrack';
|
4
5
|
import LocalVideoTrack from '../track/LocalVideoTrack';
|
@@ -11,7 +12,14 @@ import type {
|
|
11
12
|
} from '../track/options';
|
12
13
|
import { ScreenSharePresets, VideoPreset, VideoPresets, VideoPresets43 } from '../track/options';
|
13
14
|
import type { LoggerOptions } from '../types';
|
14
|
-
import {
|
15
|
+
import {
|
16
|
+
compareVersions,
|
17
|
+
getReactNativeOs,
|
18
|
+
isFireFox,
|
19
|
+
isReactNative,
|
20
|
+
isSVCCodec,
|
21
|
+
isSafari,
|
22
|
+
} from '../utils';
|
15
23
|
|
16
24
|
/** @internal */
|
17
25
|
export function mediaTrackToLocalTrack(
|
@@ -125,8 +133,6 @@ export function computeVideoEncodings(
|
|
125
133
|
);
|
126
134
|
|
127
135
|
if (scalabilityMode && isSVCCodec(videoCodec)) {
|
128
|
-
log.debug(`using svc with scalabilityMode ${scalabilityMode}`);
|
129
|
-
|
130
136
|
const sm = new ScalabilityMode(scalabilityMode);
|
131
137
|
|
132
138
|
const encodings: RTCRtpEncodingParameters[] = [];
|
@@ -134,17 +140,37 @@ export function computeVideoEncodings(
|
|
134
140
|
if (sm.spatial > 3) {
|
135
141
|
throw new Error(`unsupported scalabilityMode: ${scalabilityMode}`);
|
136
142
|
}
|
137
|
-
|
143
|
+
// Before M113 in Chrome, defining multiple encodings with an SVC codec indicated
|
144
|
+
// that SVC mode should be used. Safari still works this way.
|
145
|
+
// This is a bit confusing but is due to how libwebrtc interpreted the encodings field
|
146
|
+
// before M113.
|
147
|
+
// Announced here: https://groups.google.com/g/discuss-webrtc/c/-QQ3pxrl-fw?pli=1
|
148
|
+
const browser = getBrowser();
|
149
|
+
if (
|
150
|
+
isSafari() ||
|
151
|
+
(browser?.name === 'Chrome' && compareVersions(browser?.version, '113') < 0)
|
152
|
+
) {
|
153
|
+
for (let i = 0; i < sm.spatial; i += 1) {
|
154
|
+
// in legacy SVC, scaleResolutionDownBy cannot be set
|
155
|
+
encodings.push({
|
156
|
+
rid: videoRids[2 - i],
|
157
|
+
maxBitrate: videoEncoding.maxBitrate / 3 ** i,
|
158
|
+
maxFramerate: original.encoding.maxFramerate,
|
159
|
+
});
|
160
|
+
}
|
161
|
+
// legacy SVC, scalabilityMode is set only on the first encoding
|
162
|
+
/* @ts-ignore */
|
163
|
+
encodings[0].scalabilityMode = scalabilityMode;
|
164
|
+
} else {
|
138
165
|
encodings.push({
|
139
|
-
|
140
|
-
maxBitrate: videoEncoding.maxBitrate / 3 ** i,
|
141
|
-
/* @ts-ignore */
|
166
|
+
maxBitrate: videoEncoding.maxBitrate,
|
142
167
|
maxFramerate: original.encoding.maxFramerate,
|
168
|
+
/* @ts-ignore */
|
169
|
+
scalabilityMode: scalabilityMode,
|
143
170
|
});
|
144
171
|
}
|
145
|
-
|
146
|
-
|
147
|
-
log.debug('encodings', encodings);
|
172
|
+
|
173
|
+
log.debug(`using svc encoding`, { encodings });
|
148
174
|
return encodings;
|
149
175
|
}
|
150
176
|
|
@@ -174,7 +200,7 @@ export function computeVideoEncodings(
|
|
174
200
|
// to disable when CPU constrained.
|
175
201
|
// So encodings should be ordered in increasing spatial
|
176
202
|
// resolution order.
|
177
|
-
// 2.
|
203
|
+
// 2. livekit-server translates rids into layers. So, all encodings
|
178
204
|
// should have the base layer `q` and then more added
|
179
205
|
// based on other conditions.
|
180
206
|
const size = Math.max(width, height);
|
@@ -246,6 +272,7 @@ export function determineAppropriateEncoding(
|
|
246
272
|
break;
|
247
273
|
}
|
248
274
|
}
|
275
|
+
|
249
276
|
// presets are based on the assumption of vp8 as a codec
|
250
277
|
// for other codecs we adjust the maxBitrate if no specific videoEncoding has been provided
|
251
278
|
// users should override these with ones that are optimized for their use case
|
@@ -448,6 +448,13 @@ export default abstract class LocalTrack<
|
|
448
448
|
const unlock = await this.processorLock.lock();
|
449
449
|
try {
|
450
450
|
this.log.debug('setting up processor', this.logContext);
|
451
|
+
const processorOptions = {
|
452
|
+
kind: this.kind,
|
453
|
+
track: this._mediaStreamTrack,
|
454
|
+
element: this.processorElement,
|
455
|
+
audioContext: this.audioContext,
|
456
|
+
};
|
457
|
+
await processor.init(processorOptions);
|
451
458
|
if (this.processor) {
|
452
459
|
await this.stopProcessor();
|
453
460
|
}
|
@@ -466,14 +473,6 @@ export default abstract class LocalTrack<
|
|
466
473
|
this.log.error('failed to play processor element', { ...this.logContext, error }),
|
467
474
|
);
|
468
475
|
|
469
|
-
const processorOptions = {
|
470
|
-
kind: this.kind,
|
471
|
-
track: this._mediaStreamTrack,
|
472
|
-
element: this.processorElement,
|
473
|
-
audioContext: this.audioContext,
|
474
|
-
};
|
475
|
-
|
476
|
-
await processor.init(processorOptions);
|
477
476
|
this.processor = processor;
|
478
477
|
if (this.processor.processedTrack) {
|
479
478
|
for (const el of this.attachedElements) {
|
@@ -510,7 +509,10 @@ export default abstract class LocalTrack<
|
|
510
509
|
this.processor = undefined;
|
511
510
|
this.processorElement?.remove();
|
512
511
|
this.processorElement = undefined;
|
513
|
-
|
512
|
+
// apply original track constraints in case the processor changed them
|
513
|
+
await this._mediaStreamTrack.applyConstraints(this._constraints);
|
514
|
+
// force re-setting of the mediaStreamTrack on the sender
|
515
|
+
await this.setMediaStreamTrack(this._mediaStreamTrack, true);
|
514
516
|
this.emit(TrackEvent.TrackProcessorUpdate);
|
515
517
|
}
|
516
518
|
|