livekit-client 2.19.2 → 2.20.1
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 +31 -27
- package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
- package/dist/livekit-client.esm.mjs +334 -126
- package/dist/livekit-client.esm.mjs.map +1 -1
- package/dist/livekit-client.fm.worker.js +2 -0
- package/dist/{livekit-client.pt.worker.js.map → livekit-client.fm.worker.js.map} +1 -1
- package/dist/{livekit-client.pt.worker.mjs → livekit-client.fm.worker.mjs} +12 -4
- package/dist/livekit-client.fm.worker.mjs.map +1 -0
- package/dist/livekit-client.umd.js +1 -1
- package/dist/livekit-client.umd.js.map +1 -1
- package/dist/src/api/SignalClient.d.ts.map +1 -1
- package/dist/src/e2ee/E2eeManager.d.ts +2 -1
- package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
- package/dist/src/e2ee/types.d.ts +6 -5
- package/dist/src/e2ee/types.d.ts.map +1 -1
- package/dist/src/e2ee/utils.d.ts +1 -0
- package/dist/src/e2ee/utils.d.ts.map +1 -1
- package/dist/src/e2ee/worker/DataCryptor.d.ts +1 -0
- package/dist/src/e2ee/worker/DataCryptor.d.ts.map +1 -1
- package/dist/src/e2ee/worker/FrameCryptor.d.ts +9 -8
- package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
- package/dist/src/e2ee/worker/naluUtils.d.ts +1 -0
- package/dist/src/e2ee/worker/naluUtils.d.ts.map +1 -1
- package/dist/src/e2ee/worker/sifPayload.d.ts +1 -0
- package/dist/src/e2ee/worker/sifPayload.d.ts.map +1 -1
- package/dist/src/{packetTrailer/PacketTrailerManager.d.ts → frameMetadata/FrameMetadataManager.d.ts} +8 -4
- package/dist/src/{packetTrailer/PacketTrailerManager.d.ts.map → frameMetadata/FrameMetadataManager.d.ts.map} +1 -1
- package/dist/src/{packetTrailer/packetTrailer.d.ts → frameMetadata/frameMetadata.d.ts} +8 -7
- package/dist/src/frameMetadata/frameMetadata.d.ts.map +1 -0
- package/dist/src/{packetTrailer → frameMetadata}/types.d.ts +11 -6
- package/dist/src/frameMetadata/types.d.ts.map +1 -0
- package/dist/src/frameMetadata/utils.d.ts +9 -0
- package/dist/src/{packetTrailer → frameMetadata}/utils.d.ts.map +1 -1
- package/dist/src/frameMetadata/worker/frameMetadata.worker.d.ts +2 -0
- package/dist/src/frameMetadata/worker/frameMetadata.worker.d.ts.map +1 -0
- package/dist/src/index.d.ts +10 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/options.d.ts +8 -4
- package/dist/src/options.d.ts.map +1 -1
- package/dist/src/room/PCTransport.d.ts +41 -1
- package/dist/src/room/PCTransport.d.ts.map +1 -1
- package/dist/src/room/PCTransportManager.d.ts +1 -0
- package/dist/src/room/PCTransportManager.d.ts.map +1 -1
- package/dist/src/room/RTCEngine.d.ts +4 -1
- package/dist/src/room/RTCEngine.d.ts.map +1 -1
- package/dist/src/room/Room.d.ts +3 -2
- package/dist/src/room/Room.d.ts.map +1 -1
- package/dist/src/room/data-track/depacketizer.d.ts.map +1 -1
- package/dist/src/room/data-track/frame.d.ts +1 -0
- package/dist/src/room/data-track/frame.d.ts.map +1 -1
- package/dist/src/room/data-track/outgoing/types.d.ts +1 -0
- package/dist/src/room/data-track/outgoing/types.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/extensions.d.ts +1 -0
- package/dist/src/room/data-track/packet/extensions.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/index.d.ts +1 -0
- package/dist/src/room/data-track/packet/index.d.ts.map +1 -1
- package/dist/src/room/data-track/packet/serializable.d.ts +1 -0
- package/dist/src/room/data-track/packet/serializable.d.ts.map +1 -1
- package/dist/src/room/participant/LocalParticipant.d.ts +3 -2
- package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
- package/dist/src/room/participant/Participant.d.ts +1 -0
- package/dist/src/room/participant/Participant.d.ts.map +1 -1
- package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
- package/dist/src/room/token-source/TokenSource.d.ts.map +1 -1
- package/dist/src/room/token-source/types.d.ts +1 -0
- package/dist/src/room/token-source/types.d.ts.map +1 -1
- package/dist/src/room/token-source/utils.d.ts.map +1 -1
- package/dist/src/room/track/FrameMetadataExtractor.d.ts +19 -0
- package/dist/src/room/track/FrameMetadataExtractor.d.ts.map +1 -0
- package/dist/src/room/track/RemoteVideoTrack.d.ts +7 -7
- package/dist/src/room/track/RemoteVideoTrack.d.ts.map +1 -1
- package/dist/src/room/track/Track.d.ts +1 -0
- package/dist/src/room/track/Track.d.ts.map +1 -1
- package/dist/src/room/track/options.d.ts +17 -5
- package/dist/src/room/track/options.d.ts.map +1 -1
- package/dist/src/room/track/record.d.ts.map +1 -1
- package/dist/src/room/utils.d.ts +1 -0
- package/dist/src/room/utils.d.ts.map +1 -1
- package/dist/src/type-polyfills/non-shared-typed-arrays.d.ts +2 -0
- package/dist/src/type-polyfills/non-shared-typed-arrays.d.ts.map +1 -0
- package/dist/src/utils/dataPacketBuffer.d.ts +1 -0
- package/dist/src/utils/dataPacketBuffer.d.ts.map +1 -1
- package/dist/ts4.2/e2ee/E2eeManager.d.ts +2 -1
- package/dist/ts4.2/e2ee/types.d.ts +6 -5
- package/dist/ts4.2/e2ee/utils.d.ts +1 -0
- package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +1 -0
- package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +9 -8
- package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +1 -0
- package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +1 -0
- package/dist/ts4.2/{packetTrailer/PacketTrailerManager.d.ts → frameMetadata/FrameMetadataManager.d.ts} +8 -4
- package/dist/ts4.2/{packetTrailer/packetTrailer.d.ts → frameMetadata/frameMetadata.d.ts} +8 -7
- package/dist/ts4.2/{packetTrailer → frameMetadata}/types.d.ts +11 -6
- package/dist/ts4.2/frameMetadata/utils.d.ts +9 -0
- package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -0
- package/dist/ts4.2/index.d.ts +9 -3
- package/dist/ts4.2/options.d.ts +8 -4
- package/dist/ts4.2/room/PCTransport.d.ts +41 -1
- package/dist/ts4.2/room/PCTransportManager.d.ts +1 -0
- package/dist/ts4.2/room/RTCEngine.d.ts +4 -1
- package/dist/ts4.2/room/Room.d.ts +3 -2
- package/dist/ts4.2/room/data-track/frame.d.ts +1 -0
- package/dist/ts4.2/room/data-track/outgoing/types.d.ts +1 -0
- package/dist/ts4.2/room/data-track/packet/extensions.d.ts +1 -0
- package/dist/ts4.2/room/data-track/packet/index.d.ts +1 -0
- package/dist/ts4.2/room/data-track/packet/serializable.d.ts +1 -0
- package/dist/ts4.2/room/participant/LocalParticipant.d.ts +3 -2
- package/dist/ts4.2/room/participant/Participant.d.ts +1 -0
- package/dist/ts4.2/room/token-source/types.d.ts +1 -0
- package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -0
- package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +7 -7
- package/dist/ts4.2/room/track/Track.d.ts +1 -0
- package/dist/ts4.2/room/track/options.d.ts +17 -5
- package/dist/ts4.2/room/utils.d.ts +1 -0
- package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -0
- package/dist/ts4.2/utils/dataPacketBuffer.d.ts +1 -0
- package/package.json +24 -19
- package/src/api/SignalClient.test.ts +4 -4
- package/src/api/SignalClient.ts +8 -3
- package/src/api/WebSocketStream.test.ts +7 -7
- package/src/e2ee/E2eeManager.ts +16 -12
- package/src/e2ee/types.ts +6 -5
- package/src/e2ee/utils.ts +1 -0
- package/src/e2ee/worker/DataCryptor.ts +1 -0
- package/src/e2ee/worker/FrameCryptor.test.ts +6 -5
- package/src/e2ee/worker/FrameCryptor.ts +28 -23
- package/src/e2ee/worker/ParticipantKeyHandler.test.ts +1 -0
- package/src/e2ee/worker/e2ee.worker.ts +6 -5
- package/src/e2ee/worker/naluUtils.ts +1 -0
- package/src/e2ee/worker/sifPayload.ts +1 -0
- package/src/e2ee/worker/tsconfig.json +4 -1
- package/src/{packetTrailer/PacketTrailerManager.test.ts → frameMetadata/FrameMetadataManager.test.ts} +10 -8
- package/src/{packetTrailer/PacketTrailerManager.ts → frameMetadata/FrameMetadataManager.ts} +21 -15
- package/src/{packetTrailer/packetTrailer.test.ts → frameMetadata/frameMetadata.test.ts} +84 -1
- package/src/{packetTrailer/packetTrailer.ts → frameMetadata/frameMetadata.ts} +17 -9
- package/src/{packetTrailer → frameMetadata}/types.ts +13 -6
- package/src/{packetTrailer → frameMetadata}/utils.test.ts +19 -19
- package/src/{packetTrailer → frameMetadata}/utils.ts +11 -11
- package/src/{packetTrailer/worker/packetTrailer.worker.ts → frameMetadata/worker/frameMetadata.worker.ts} +5 -5
- package/src/{packetTrailer → frameMetadata}/worker/tsconfig.json +4 -1
- package/src/index.ts +13 -2
- package/src/options.ts +9 -4
- package/src/room/PCTransport.test.ts +150 -0
- package/src/room/PCTransport.ts +117 -0
- package/src/room/PCTransportManager.ts +4 -0
- package/src/room/RTCEngine.test.ts +143 -9
- package/src/room/RTCEngine.ts +112 -31
- package/src/room/Room.ts +11 -10
- package/src/room/data-track/depacketizer.ts +1 -0
- package/src/room/data-track/frame.ts +1 -0
- package/src/room/data-track/outgoing/types.ts +1 -0
- package/src/room/data-track/packet/extensions.ts +1 -0
- package/src/room/data-track/packet/index.ts +1 -0
- package/src/room/data-track/packet/serializable.ts +1 -0
- package/src/room/participant/LocalParticipant.test.ts +19 -19
- package/src/room/participant/LocalParticipant.ts +22 -16
- package/src/room/participant/Participant.ts +1 -0
- package/src/room/participant/publishUtils.test.ts +6 -0
- package/src/room/participant/publishUtils.ts +4 -1
- package/src/room/rpc/client/RpcClientManager.ts +1 -1
- package/src/room/rpc/server/RpcServerManager.ts +1 -1
- package/src/room/token-source/TokenSource.ts +9 -23
- package/src/room/token-source/types.ts +1 -0
- package/src/room/token-source/utils.ts +1 -0
- package/src/room/track/{PacketTrailerExtractor.ts → FrameMetadataExtractor.ts} +8 -8
- package/src/room/track/RemoteVideoTrack.ts +7 -11
- package/src/room/track/Track.ts +1 -0
- package/src/room/track/options.ts +19 -5
- package/src/room/track/record.ts +1 -0
- package/src/room/utils.ts +1 -0
- package/src/type-polyfills/{non-shared-typed-arrays.d.ts → non-shared-typed-arrays.ts} +6 -1
- package/src/utils/dataPacketBuffer.ts +2 -0
- package/dist/livekit-client.pt.worker.js +0 -2
- package/dist/livekit-client.pt.worker.mjs.map +0 -1
- package/dist/src/packetTrailer/packetTrailer.d.ts.map +0 -1
- package/dist/src/packetTrailer/types.d.ts.map +0 -1
- package/dist/src/packetTrailer/utils.d.ts +0 -9
- package/dist/src/packetTrailer/worker/packetTrailer.worker.d.ts +0 -2
- package/dist/src/packetTrailer/worker/packetTrailer.worker.d.ts.map +0 -1
- package/dist/src/room/track/PacketTrailerExtractor.d.ts +0 -19
- package/dist/src/room/track/PacketTrailerExtractor.d.ts.map +0 -1
- package/dist/ts4.2/packetTrailer/utils.d.ts +0 -9
- package/dist/ts4.2/packetTrailer/worker/packetTrailer.worker.d.ts +0 -2
- package/dist/ts4.2/room/track/PacketTrailerExtractor.d.ts +0 -19
|
@@ -5939,13 +5939,14 @@ function isWeb() {
|
|
|
5939
5939
|
return typeof document !== 'undefined';
|
|
5940
5940
|
}
|
|
5941
5941
|
|
|
5942
|
-
function
|
|
5942
|
+
function hasFrameMetadataPublishOptions(options) {
|
|
5943
5943
|
return !!((options === null || options === void 0 ? void 0 : options.timestamp) || (options === null || options === void 0 ? void 0 : options.frameId));
|
|
5944
5944
|
}
|
|
5945
5945
|
|
|
5946
5946
|
const PACKET_TRAILER_MAGIC = Uint8Array.from(['L'.charCodeAt(0), 'K'.charCodeAt(0), 'T'.charCodeAt(0), 'S'.charCodeAt(0)]);
|
|
5947
5947
|
const PACKET_TRAILER_TIMESTAMP_TAG = 0x01;
|
|
5948
5948
|
const PACKET_TRAILER_FRAME_ID_TAG = 0x02;
|
|
5949
|
+
const PACKET_TRAILER_USER_DATA_TAG = 0x03;
|
|
5949
5950
|
const PACKET_TRAILER_ENVELOPE_SIZE = 5;
|
|
5950
5951
|
const TIMESTAMP_TLV_SIZE = 10;
|
|
5951
5952
|
const FRAME_ID_TLV_SIZE = 6;
|
|
@@ -5977,7 +5978,7 @@ function appendPacketTrailer(data, userTimestamp, frameId) {
|
|
|
5977
5978
|
return result;
|
|
5978
5979
|
}
|
|
5979
5980
|
function appendPacketTrailerToEncodedFrame(frame, options, frameId) {
|
|
5980
|
-
if (!
|
|
5981
|
+
if (!hasFrameMetadataPublishOptions(options) || frame.data.byteLength === 0) {
|
|
5981
5982
|
return false;
|
|
5982
5983
|
}
|
|
5983
5984
|
const userTimestamp = (options === null || options === void 0 ? void 0 : options.timestamp) ? BigInt(Date.now()) * BigInt(1000) : BigInt(0);
|
|
@@ -6030,6 +6031,13 @@ function extractPacketTrailer(data) {
|
|
|
6030
6031
|
} else if (tag === PACKET_TRAILER_FRAME_ID_TAG && length === 4) {
|
|
6031
6032
|
metadata.frameId = readUint32Xor(bytes, offset, length);
|
|
6032
6033
|
foundAny = true;
|
|
6034
|
+
} else if (tag === PACKET_TRAILER_USER_DATA_TAG) {
|
|
6035
|
+
const userData = new Uint8Array(length);
|
|
6036
|
+
for (let index = 0; index < length; index += 1) {
|
|
6037
|
+
userData[index] = bytes[offset + index] ^ 0xff;
|
|
6038
|
+
}
|
|
6039
|
+
metadata.userData = userData;
|
|
6040
|
+
foundAny = true;
|
|
6033
6041
|
}
|
|
6034
6042
|
offset += length;
|
|
6035
6043
|
}
|
|
@@ -6138,10 +6146,6 @@ function processPacketTrailer(frame, trackId) {
|
|
|
6138
6146
|
};
|
|
6139
6147
|
}
|
|
6140
6148
|
|
|
6141
|
-
/**
|
|
6142
|
-
* NALU (Network Abstraction Layer Unit) utilities for H.264 and H.265 video processing
|
|
6143
|
-
* Contains functions for parsing and working with NALUs in video frames
|
|
6144
|
-
*/
|
|
6145
6149
|
/**
|
|
6146
6150
|
* Mask for extracting NALU type from H.264 header byte
|
|
6147
6151
|
*/
|
|
@@ -6463,8 +6467,8 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6463
6467
|
* When false, we skip the per-frame trailer extraction path entirely
|
|
6464
6468
|
* on decode to avoid unnecessary work on tracks that don't use it.
|
|
6465
6469
|
*/
|
|
6466
|
-
this.
|
|
6467
|
-
this.
|
|
6470
|
+
this.hasFrameMetadata = false;
|
|
6471
|
+
this.frameMetadataFrameId = 0;
|
|
6468
6472
|
/**
|
|
6469
6473
|
* Throttling mechanism for decryption errors to prevent memory leaks
|
|
6470
6474
|
*/
|
|
@@ -6556,14 +6560,14 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6556
6560
|
* trailer data. When false, {@link decodeFunction} skips the per-frame
|
|
6557
6561
|
* trailer extraction branch entirely.
|
|
6558
6562
|
*/
|
|
6559
|
-
|
|
6560
|
-
this.
|
|
6563
|
+
setHasFrameMetadata(hasFrameMetadata) {
|
|
6564
|
+
this.hasFrameMetadata = hasFrameMetadata;
|
|
6561
6565
|
}
|
|
6562
|
-
|
|
6563
|
-
this.
|
|
6564
|
-
this.
|
|
6566
|
+
setFrameMetadataOpts(frameMetadata) {
|
|
6567
|
+
this.frameMetadataOpts = frameMetadata;
|
|
6568
|
+
this.frameMetadataFrameId = 0;
|
|
6565
6569
|
}
|
|
6566
|
-
setupTransform(operation, readable, writable, trackId, isReuse, codec,
|
|
6570
|
+
setupTransform(operation, readable, writable, trackId, isReuse, codec, frameMetadata) {
|
|
6567
6571
|
if (codec) {
|
|
6568
6572
|
workerLogger.info('setting codec on cryptor to', {
|
|
6569
6573
|
codec
|
|
@@ -6571,7 +6575,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6571
6575
|
this.videoCodec = codec;
|
|
6572
6576
|
}
|
|
6573
6577
|
if (operation === 'encode') {
|
|
6574
|
-
this.
|
|
6578
|
+
this.setFrameMetadataOpts(frameMetadata);
|
|
6575
6579
|
}
|
|
6576
6580
|
workerLogger.debug('Setting up frame cryptor transform', Object.assign({
|
|
6577
6581
|
operation,
|
|
@@ -6712,7 +6716,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6712
6716
|
return controller.enqueue(encodedFrame);
|
|
6713
6717
|
}
|
|
6714
6718
|
if (!this.isEnabled()) {
|
|
6715
|
-
this.
|
|
6719
|
+
this.appendFrameMetadata(encodedFrame);
|
|
6716
6720
|
return controller.enqueue(encodedFrame);
|
|
6717
6721
|
}
|
|
6718
6722
|
const keySet = this.keys.getKeySet();
|
|
@@ -6755,7 +6759,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6755
6759
|
newData.set(frameHeader);
|
|
6756
6760
|
newData.set(newDataWithoutHeader, frameHeader.byteLength);
|
|
6757
6761
|
encodedFrame.data = newData.buffer;
|
|
6758
|
-
this.
|
|
6762
|
+
this.appendFrameMetadata(encodedFrame);
|
|
6759
6763
|
return controller.enqueue(encodedFrame);
|
|
6760
6764
|
} catch (e) {
|
|
6761
6765
|
// TODO: surface this to the app.
|
|
@@ -6767,15 +6771,15 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6767
6771
|
}
|
|
6768
6772
|
});
|
|
6769
6773
|
}
|
|
6770
|
-
|
|
6774
|
+
appendFrameMetadata(encodedFrame) {
|
|
6771
6775
|
var _a;
|
|
6772
|
-
if (!
|
|
6776
|
+
if (!hasFrameMetadataPublishOptions(this.frameMetadataOpts) || !isVideoFrame(encodedFrame)) {
|
|
6773
6777
|
return;
|
|
6774
6778
|
}
|
|
6775
|
-
if ((_a = this.
|
|
6776
|
-
this.
|
|
6779
|
+
if ((_a = this.frameMetadataOpts) === null || _a === void 0 ? void 0 : _a.frameId) {
|
|
6780
|
+
this.frameMetadataFrameId = this.frameMetadataFrameId === 0xffffffff ? 1 : this.frameMetadataFrameId + 1;
|
|
6777
6781
|
}
|
|
6778
|
-
appendPacketTrailerToEncodedFrame(encodedFrame, this.
|
|
6782
|
+
appendPacketTrailerToEncodedFrame(encodedFrame, this.frameMetadataOpts, this.frameMetadataFrameId);
|
|
6779
6783
|
}
|
|
6780
6784
|
/**
|
|
6781
6785
|
* Function that will be injected in a stream and will decrypt the given encoded frames.
|
|
@@ -6785,7 +6789,7 @@ class FrameCryptor extends BaseFrameCryptor {
|
|
|
6785
6789
|
*/
|
|
6786
6790
|
decodeFunction(encodedFrame, controller) {
|
|
6787
6791
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6788
|
-
if (this.
|
|
6792
|
+
if (this.hasFrameMetadata && isVideoFrame(encodedFrame)) {
|
|
6789
6793
|
try {
|
|
6790
6794
|
const ptResult = processPacketTrailer(encodedFrame, this.trackId);
|
|
6791
6795
|
if (ptResult.data) {
|
|
@@ -7305,12 +7309,12 @@ onmessage = ev => {
|
|
|
7305
7309
|
break;
|
|
7306
7310
|
case 'decode':
|
|
7307
7311
|
let cryptor = getTrackCryptor(data.participantIdentity, data.trackId);
|
|
7308
|
-
cryptor.
|
|
7312
|
+
cryptor.setHasFrameMetadata(data.hasPacketTrailer);
|
|
7309
7313
|
cryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.isReuse, data.codec);
|
|
7310
7314
|
break;
|
|
7311
7315
|
case 'encode':
|
|
7312
7316
|
let pubCryptor = getTrackCryptor(data.participantIdentity, data.trackId);
|
|
7313
|
-
pubCryptor.
|
|
7317
|
+
pubCryptor.setHasFrameMetadata(data.hasPacketTrailer);
|
|
7314
7318
|
pubCryptor.setupTransform(kind, data.readableStream, data.writableStream, data.trackId, data.isReuse, data.codec, data.packetTrailer);
|
|
7315
7319
|
break;
|
|
7316
7320
|
case 'encryptDataRequest':
|
|
@@ -7376,7 +7380,7 @@ onmessage = ev => {
|
|
|
7376
7380
|
case 'updateCodec':
|
|
7377
7381
|
const trackCryptor = getTrackCryptor(data.participantIdentity, data.trackId);
|
|
7378
7382
|
trackCryptor.setVideoCodec(data.codec);
|
|
7379
|
-
trackCryptor.
|
|
7383
|
+
trackCryptor.setHasFrameMetadata(data.hasPacketTrailer);
|
|
7380
7384
|
workerLogger.info('updated codec', {
|
|
7381
7385
|
participantIdentity: data.participantIdentity,
|
|
7382
7386
|
trackId: data.trackId,
|
|
@@ -7548,7 +7552,7 @@ if (self.RTCTransformEvent) {
|
|
|
7548
7552
|
hasPacketTrailer = options.hasPacketTrailer;
|
|
7549
7553
|
messageQueue.run(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
7550
7554
|
const cryptor = getTrackCryptor(participantIdentity, trackId);
|
|
7551
|
-
cryptor.
|
|
7555
|
+
cryptor.setHasFrameMetadata(hasPacketTrailer);
|
|
7552
7556
|
workerLogger.debug('onrtctransform setup', {
|
|
7553
7557
|
participantIdentity,
|
|
7554
7558
|
trackId,
|