Files
ppsspp/Tools
Henrik RydgårdandClaude Opus 5.5 9dacdf8297 iOS: Add microphone support
sceUsbMic input comes from the input side of the RemoteIO unit that
already does the output. The input callback only copies samples into a
lock-free ring buffer, sized so it never allocates, and the CPU thread
drains it into Microphone::addAudioData when sceUsbMic polls, the way
the SDL backend works. Reconfiguring the unit happens on the main thread.

Whether the game is recording is kept apart from whether the unit's
input is on, so recording resumes after an interruption or a trip to
the background, which shut the unit down. The unit also runs, silently,
when sound is off but the game is recording.

While recording, the session is PlayAndRecord, with Bluetooth through
A2DP so headphones keep full quality and the built-in mic is the input.
Permission is asked for on iOS 17+ through AVAudioApplication.

Also moves the microphone recorder homebrew used to test this from
Tools/psp-microphone to pspautotests, as demos/microphone, and updates
the submodule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 17:55:21 +02:00
..