Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4c207e8
feat: migrate DataTrackPacket to take Uint8Array not ArrayBuffer
1egoman Jan 26, 2026
50738da
feat: add WrapAroundUnsignedInt u32 support
1egoman Jan 26, 2026
4600584
feat: add DataTrackClock implementation
1egoman Jan 26, 2026
4a28028
feat: add initial DataTrackPacketizer implementation
1egoman Jan 26, 2026
71ee408
fix: add updated packetizer docs
1egoman Jan 27, 2026
e64b003
fix: ensure timestamp is formatted consistently in tests
1egoman Jan 27, 2026
c81955c
feat: add data track packetizer tests
1egoman Jan 27, 2026
3ed7cf0
fix: run npm run format
1egoman Jan 27, 2026
004d48e
refactor: move DataTrackPacketizerFrame into implementation specific …
1egoman Jan 27, 2026
491a873
feat: add initial Depacketizer implementation
1egoman Jan 27, 2026
8d5f761
fix: address some minor bugs in depacketizer implementation
1egoman Jan 27, 2026
a8ccf1d
fix: address imports in packetizer
1egoman Jan 27, 2026
8bee8f5
fix: run npm run format
1egoman Jan 27, 2026
bdf14be
refactor: rename WrapAroundUnsignedInt methods to make it clear they …
1egoman Jan 27, 2026
d639a35
fix: address wrap around int bug
1egoman Jan 27, 2026
d4d1093
feat: add depacketizer tests
1egoman Jan 27, 2026
2360df1
feat: call reset instead of clearing partial directly
1egoman Jan 27, 2026
294f948
feat: migrate away from dropError returned from depacketizer push
1egoman Jan 28, 2026
cb9286b
fix: add export to error
1egoman Jan 28, 2026
e0d5fc2
fix: run npm run format
1egoman Jan 28, 2026
e310f83
feat: add throws-check ignore comments for panic errors
1egoman Jan 28, 2026
f6aba27
fix: get depacketizer to pass throws transformer check
1egoman Jan 28, 2026
b8a2292
fix: add explicit packetize error
1egoman Jan 28, 2026
4388b5b
fix: remove unused frameNumber property
1egoman Jan 28, 2026
4cd81f4
fix: add changesets file
1egoman Jan 28, 2026
9241e65
fix: address code review comments
1egoman Jan 28, 2026
91400a5
fix: address off by one error in max buffer size test
1egoman Jan 28, 2026
77db2f2
feat: add all primatives to throws check, not just null + undefined
1egoman Jan 28, 2026
066464b
docs: update readme phrasing
1egoman Jan 28, 2026
b8ae23b
docs: add docs that isBefore doesn't handle wraparounds properly
1egoman Jan 28, 2026
1625030
fix: run npm run format
1egoman Jan 28, 2026
abbec24
fix: address variable typo
1egoman Jan 28, 2026
24f0c5b
fix: remove fixme and standardize on toBinary returning Uint8Array
1egoman Jan 28, 2026
982676d
docs: add updated docstring
1egoman Jan 28, 2026
0978323
fix: add extra timestamp clones to guard against external mutation
1egoman Jan 28, 2026
e658da0
fix: reset depacketizer after processing packets
1egoman Jan 28, 2026
444592f
fix: make DataTrackFrame contain a Uint8Array, not ArrayBuffer
1egoman Jan 28, 2026
3d3254f
fix: allow data track packets with duplicate sequence numbers
1egoman Jan 28, 2026
595334d
fix: run npm run format
1egoman Jan 28, 2026
e53136e
fix: replace exports with imports
1egoman Feb 2, 2026
8363316
fix: avoid resetting sequence value in middle of depacketizer test
1egoman Feb 2, 2026
8cf653d
refactor: swap reduce for explicit summing loop
1egoman Feb 2, 2026
9ca4814
fix: make MAX_BUFFER_PACKETS check also check greater than, not just …
1egoman Feb 2, 2026
082914f
fix: add out of order packet test
1egoman Feb 2, 2026
22cc118
feat: add comment calling out MAX_BUFFER_PACKETS check blocking dupli…
1egoman Feb 2, 2026
c86f627
fix: reset partial frame state before incomplete error is thrown
1egoman Feb 2, 2026
0933cd2
feat: reset packetizer after any error is thrown
1egoman Feb 2, 2026
e98d4d3
feat: make isBefore handle wraparound
1egoman Feb 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/tiny-lamps-hang.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'livekit-client': patch
---

Add data track packetizer and depacketizer implementations
4 changes: 4 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ import type { ReconnectContext, ReconnectPolicy } from './room/ReconnectPolicy';
import Room, { ConnectionState } from './room/Room';
import type { RoomEventCallbacks } from './room/Room';
import * as attributes from './room/attribute-typings';
// FIXME: remove this import in a follow up data track pull request.
import './room/data-track/depacketizer';
// FIXME: remove this import in a follow up data track pull request.
import './room/data-track/packetizer';
import LocalParticipant from './room/participant/LocalParticipant';
import Participant, { ConnectionQuality, ParticipantKind } from './room/participant/Participant';
import type { ParticipantTrackPermission } from './room/participant/ParticipantTrackPermission';
Expand Down
1 change: 1 addition & 0 deletions src/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export enum LoggerNames {
PCManager = 'livekit-pc-manager',
PCTransport = 'livekit-pc-transport',
E2EE = 'lk-e2ee',
DataTracks = 'livekit-data-tracks',
}

type LogLevelString = keyof typeof LogLevel;
Expand Down
Loading
Loading