Skip to content

fix(audio): preserve channels in resampleStream - #2872

Open
Apeksha9389 wants to merge 1 commit into
livekit:mainfrom
Apeksha9389:fix/stereo-stream-resampling
Open

Apeksha9389 wants to merge 1 commit into
livekit:mainfrom
Apeksha9389:fix/stereo-stream-resampling

Conversation

@Apeksha9389

Copy link
Copy Markdown
Contributor

Description

Preserve the input channel count in resampleStream. The native resampler defaults to mono, so stereo frames currently come back as mono with the wrong samples-per-channel count and duration.

Changes Made

  • Pass each frame's channel count when creating the native resampler.
  • Flush and replace the resampler when either the input rate or channel count changes.
  • Add stereo-duration and mono-to-stereo transition regressions, plus a patch changeset.

Pre-Review Checklist

  • Build passes: Core agents build and all 65 utility tests pass locally.
  • AI-generated code reviewed: Focused algorithm and regression coverage reviewed; AI-assisted implementation.
  • Changes explained: Behavior and validation described here.
  • Scope appropriate: Audio stream resampling, tests and release metadata only.
  • Video demo: Not applicable to an audio utility regression.

Testing

  • Native-resampler regression tests added. The stereo case fails on current main and passes with the change.
  • pnpm exec vitest run agents/src/utils.test.ts passes all 65 tests.
  • pnpm build:agents passes, including TypeScript declarations.
  • Required workspace formatting and lint commands pass (existing lint warnings remain).
  • Changeset metadata is validated for @livekit/agents.

@Apeksha9389
Apeksha9389 requested a review from a team as a code owner October 27, 2026 10:14
@changeset-bot

changeset-bot Bot commented Oct 27, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 3895cc7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 41 packages
Name Type
@livekit/agents Patch
@livekit/agents-plugin-anam Patch
@livekit/agents-plugin-anthropic Patch
@livekit/agents-plugin-assemblyai Patch
@livekit/agents-plugin-azure Patch
@livekit/agents-plugin-baseten Patch
@livekit/agents-plugin-bey Patch
@livekit/agents-plugin-cartesia Patch
@livekit/agents-plugin-cerebras Patch
@livekit/agents-plugin-deepgram Patch
@livekit/agents-plugin-did Patch
@livekit/agents-plugin-elevenlabs Patch
@livekit/agents-plugin-fishaudio Patch
@livekit/agents-plugin-google Patch
@livekit/agents-plugin-hume Patch
@livekit/agents-plugin-inworld Patch
@livekit/agents-plugin-krisp Patch
@livekit/agents-plugin-lemonslice Patch
@livekit/agents-plugin-liveavatar Patch
@livekit/agents-plugin-livekit Patch
@livekit/agents-plugin-meta Patch
@livekit/agents-plugin-minimax Patch
@livekit/agents-plugin-mistral Patch
@livekit/agents-plugin-mistralai Patch
@livekit/agents-plugin-neuphonic Patch
@livekit/agents-plugin-openai Patch
@livekit/agents-plugin-perplexity Patch
@livekit/agents-plugin-phonic Patch
@livekit/agents-plugin-protoface Patch
@livekit/agents-plugin-resemble Patch
@livekit/agents-plugin-rime Patch
@livekit/agents-plugin-runway Patch
@livekit/agents-plugin-sarvam Patch
@livekit/agents-plugin-silero Patch
@livekit/agents-plugin-soniox Patch
@livekit/agents-plugin-speechify Patch
@livekit/agents-plugin-synthesia Patch
@livekit/agents-plugin-tavus Patch
@livekit/agents-plugins-test Patch
@livekit/agents-plugin-trugen Patch
@livekit/agents-plugin-xai Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant