aaudio: We PlayDevice first and WaitDevice after; reduce semaphore count by 1.

Previously, we would WaitDevice first, but that would feed a silent buffer
to AAudio upfront, introducing latency. When this change was made, the
semaphore count should have been adjusted, since we're waiting on one less
buffer.

Fixes #12882.
This commit is contained in:
Ryan C. Gordon 2025-04-25 12:49:41 -04:00
parent 7642c0468d
commit 2767c1a440
No known key found for this signature in database
GPG Key ID: FA148B892AB48044
1 changed files with 1 additions and 1 deletions

View File

@ -366,7 +366,7 @@ static bool BuildAAudioStream(SDL_AudioDevice *device)
hidden->processed_bytes = 0;
hidden->callback_bytes = 0;
hidden->semaphore = SDL_CreateSemaphore(recording ? 0 : hidden->num_buffers);
hidden->semaphore = SDL_CreateSemaphore(recording ? 0 : hidden->num_buffers - 1);
if (!hidden->semaphore) {
LOGI("SDL Failed SDL_CreateSemaphore %s recording:%d", SDL_GetError(), recording);
return false;