Stable Point - AV/K/M/Mic working
This commit is contained in:
parent
e81b9a2952
commit
f96bb0f8c2
@ -3,6 +3,7 @@
|
||||
use anyhow::Result;
|
||||
use std::time::Duration;
|
||||
use std::sync::Arc;
|
||||
use std::sync::atomic::{AtomicUsize, Ordering};
|
||||
use tokio::sync::broadcast;
|
||||
use tokio_stream::{wrappers::BroadcastStream, StreamExt};
|
||||
use tonic::{transport::Channel, Request};
|
||||
@ -255,6 +256,7 @@ impl LesavkaClientApp {
|
||||
|
||||
/*──────────────── mic stream ─────────────────*/
|
||||
async fn mic_loop(ep: Channel, mic: Arc<MicrophoneCapture>) {
|
||||
static FAIL_CNT: AtomicUsize = AtomicUsize::new(0);
|
||||
loop {
|
||||
let mut cli = RelayClient::new(ep.clone());
|
||||
|
||||
@ -278,10 +280,17 @@ impl LesavkaClientApp {
|
||||
|
||||
match cli.stream_microphone(Request::new(outbound)).await {
|
||||
Ok(mut resp) => {
|
||||
// Drain and ignore Empty replies
|
||||
while resp.get_mut().message().await.transpose().is_some() {}
|
||||
}
|
||||
Err(e) => warn!("❌🎤 connect failed: {e}"),
|
||||
Err(e) => {
|
||||
// first failure → warn, subsequent ones → debug
|
||||
if FAIL_CNT.fetch_add(1, Ordering::Relaxed) == 0 {
|
||||
warn!("❌🎤 connect failed: {e}");
|
||||
warn!("⚠️🎤 further microphone‑stream failures will be logged at DEBUG");
|
||||
} else {
|
||||
debug!("❌🎤 reconnect failed: {e}");
|
||||
}
|
||||
}
|
||||
}
|
||||
let _ = stop_tx.send(());
|
||||
tokio::time::sleep(Duration::from_secs(1)).await;
|
||||
|
||||
@ -122,7 +122,7 @@ After=network.target lesavka-core.service
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/lesavka-server
|
||||
Restart=always
|
||||
Environment=RUST_LOG=lesavka_server=info,lesavka_server::audio=trace,lesavka_server::video=info,lesavka_server::gadget=info
|
||||
Environment=RUST_LOG=lesavka_server=info,lesavka_server::audio=info,lesavka_server::video=info,lesavka_server::gadget=info
|
||||
Environment=RUST_BACKTRACE=1
|
||||
Environment=GST_DEBUG="*:2,alsasink:6,alsasrc:6"
|
||||
Restart=always
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user