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 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 {