Skip to content

Rebuild AudioMixerBySingleTrack outputFormat on settings sampleRate/c…#1907

Closed
dawilster wants to merge 1 commit into
HaishinKit:mainfrom
dawilster:fix/audio-mixer-settings-rebuild-output-format
Closed

Rebuild AudioMixerBySingleTrack outputFormat on settings sampleRate/c…#1907
dawilster wants to merge 1 commit into
HaishinKit:mainfrom
dawilster:fix/audio-mixer-settings-rebuild-output-format

Conversation

@dawilster
Copy link
Copy Markdown
Contributor

The fix for #1906

…hannels change

AudioMixerBySingleTrack.settings.didSet only applied per-track sub-settings. If
an input buffer arrived before the app assigned its intended settings, the
mixer's outputFormat was locked to the raw input format for the life of the
mixer — subsequent sampleRate/channels changes were silently ignored.

This manifested in production as silent live streams when using external mics
(48 kHz / 2 ch native) that published AAC at the mic's raw format instead of
the configured 44.1 kHz / 1 ch. The built-in iPhone mic masked the bug because
its native format matched the app's target.

The fix uses the existing AudioMixerSettings.invalidateOutputFormat(_:) helper
— the same pattern AudioCodec.settings.didSet already uses with its
invalidateConverter check — to recompute outputFormat from the current
inSourceFormat when sampleRate or channels change.
@dawilster dawilster closed this Apr 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant