From 61d1683e37415809d84a20d7c8ad5d92b977d943 Mon Sep 17 00:00:00 2001 From: pein Date: Fri, 27 Feb 2026 01:20:05 +0100 Subject: [PATCH] Wait for AAudioStream status change --- src/host/aaudio/mod.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/host/aaudio/mod.rs b/src/host/aaudio/mod.rs index 981153151..7ee797ecf 100644 --- a/src/host/aaudio/mod.rs +++ b/src/host/aaudio/mod.rs @@ -598,18 +598,18 @@ impl DeviceTrait for Device { impl StreamTrait for Stream { fn play(&self) -> Result<(), PlayStreamError> { - match self { - Self::Input(stream) => stream - .lock() - .unwrap() - .request_start() - .map_err(PlayStreamError::from), - Self::Output(stream) => stream - .lock() - .unwrap() - .request_start() - .map_err(PlayStreamError::from), + let stream = match self { + Self::Input(stream) => stream, + Self::Output(stream) => stream, } + .lock() + .unwrap(); + + stream.request_start().map_err(PlayStreamError::from)?; + stream + .wait_for_state_change(ndk::audio::AudioStreamState::Starting, 300_000_000) + .map(|_| ()) + .map_err(PlayStreamError::from) } fn pause(&self) -> Result<(), PauseStreamError> {