mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
The Oboe input callback used to call Microphone::addAudioData directly, writing PSP memory from the audio thread. Now it only pushes samples into a SampleRing, and pollRecording drains it on the CPU thread. Starting and stopping still go through Java, which asks for permission. Every host with a microphone polls now, so sceUsbMic drops what only the push path needed: QueueBuf's recursive mutex, restarting the mic on a device change, and the startMic parameter nobody read. Also removes the unused System_AudioRecordingState and Microphone::isNeedInput. The Java microphone_command branch didn't return true, so every command logged "processCommand failed". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>