Mic Setup

This commit is contained in:
Brad Stein 2025-06-30 19:41:35 -05:00
parent 02bdc5d76b
commit ff44b6fbe7

View File

@ -2,6 +2,7 @@
use anyhow::Result;
use std::time::Duration;
use std::sync::Arc;
use tokio::sync::broadcast;
use tokio_stream::{wrappers::BroadcastStream, StreamExt};
use tonic::{transport::Channel, Request};
@ -262,18 +263,25 @@ impl LesavkaClientApp {
if let Some(pkt) = mic_clone.pull() {
yield pkt;
} else {
break; // EOS should not happen
break; // EOS (should never happen)
}
}
};
match cli.stream_microphone(Request::new(stream)).await {
Ok(mut resp) => {
while resp.get_mut().message().await?.is_some() {}
// Drain the (mostly empty) response stream
while let Some(res) = resp.get_mut().message().await.transpose() {
if let Err(e) = res {
warn!("🎤 server err: {e}");
break;
}
}
}
Err(e) => warn!("🎤 connect failed: {e}"),
}
tokio::time::sleep(Duration::from_secs(1)).await;
tokio::time::sleep(Duration::from_secs(1)).await; // retry
}
}
}