From a53342a4b9e01590f781320247a02dc0e0ac8884 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Wed, 7 Jan 2026 09:38:37 +1100 Subject: [PATCH 1/2] feat: add userdata constructor param to AudioFrame --- packages/livekit-rtc/src/audio_frame.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/livekit-rtc/src/audio_frame.ts b/packages/livekit-rtc/src/audio_frame.ts index 75b18f22..d8e7ab32 100644 --- a/packages/livekit-rtc/src/audio_frame.ts +++ b/packages/livekit-rtc/src/audio_frame.ts @@ -11,18 +11,25 @@ export class AudioFrame { channels: number; samplesPerChannel: number; - private _userdata: Record = {}; + private _userdata: Record; // note: if converting from Uint8Array to Int16Array, *do not* use buffer.slice! // it is marked unstable by Node and can cause undefined behaviour, such as massive chunks of // noise being added to the end. // it is recommended to use buffer.subarray instead. // XXX(nbsp): add this when writing proper docs - constructor(data: Int16Array, sampleRate: number, channels: number, samplesPerChannel: number) { + constructor( + data: Int16Array, + sampleRate: number, + channels: number, + samplesPerChannel: number, + userdata: Record = {}, + ) { this.data = data; this.sampleRate = sampleRate; this.channels = channels; this.samplesPerChannel = samplesPerChannel; + this._userdata = userdata; } static create(sampleRate: number, channels: number, samplesPerChannel: number): AudioFrame { From 7a54c5b48f0de481f73a70ca3bf9880174305ee4 Mon Sep 17 00:00:00 2001 From: Ryan Gaus Date: Wed, 7 Jan 2026 09:41:56 +1100 Subject: [PATCH 2/2] fix: add changeset --- .changeset/fifty-mice-raise.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fifty-mice-raise.md diff --git a/.changeset/fifty-mice-raise.md b/.changeset/fifty-mice-raise.md new file mode 100644 index 00000000..7988b066 --- /dev/null +++ b/.changeset/fifty-mice-raise.md @@ -0,0 +1,5 @@ +--- +'@livekit/rtc-node': patch +--- + +Add userdata constructor param to AudioFrame