Remove binding of preferred input device#686
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4353b80c75
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| AppServices.shared.microphonePreferenceCoordinator.enforcePreferredInput(reason: "recording start") | ||
| } | ||
| let microphoneCoordinator = AppServices.shared.microphonePreferenceCoordinator | ||
| let enforcementResult = microphoneCoordinator.enforcePreferredInput(reason: "recording start") |
There was a problem hiding this comment.
Preserve manual capture when default routing fails
When manual mode's setDefaultInputDevice call fails, enforcePreferredInput returns .failed while leaving the prior default unchanged (as the added coordinator test verifies), but this result is only logged. With direct capture disabled (the default), the compatibility AVAudioEngine path now follows that stale default because the per-engine binding was removed, so recording silently uses the wrong microphone instead of the user's selected manual device.
Useful? React with 👍 / 👎.
Greptile SummaryThis PR fixes a bug where audio capture would fail to start in manual microphone mode by removing the AVAudioEngine direct device-binding layer and delegating entirely to
|
FluidVoice PR build readyDownload FluidVoice-PR-686-4353b80c750a The artifact contains the ad-hoc-signed app ZIP, Xcode archive, build manifest, and installation instructions. It expires 5 days after the build. Install the app
This build has its own app identity, so its permissions are separate from the release version of FluidVoice. |
Description
The coordinator attempts to change the microphone input when manual mode is enabled. When that fails, the audio capture never starts. This change fixes that. We fully default to the microphone coordinator to pick the right input device now and remove the check that happens before it
Type of Change
Related Issue or Discussion
#680
Testing
swiftlint --strict --config .swiftlint.yml Sourcesswiftformat --config .swiftformat SourcesTest cases
Screenshots / Video
Notes
Add reviewer context, rollout notes, or known tradeoffs here.