From 6f96f3de875d3711e6c2d4c8fc3fbdcdb00c9173 Mon Sep 17 00:00:00 2001
From: cai <cai@nbcai.cc>
Date: Sat, 08 Aug 2026 18:24:36 +0800
Subject: [PATCH] chore: bind helper metadata candidate manifest
---
src/main.rs | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/src/main.rs b/src/main.rs
index c3fa805..eed3859 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -30,7 +30,7 @@
options::TrackPublishOptions,
prelude::{
DataPacket, LocalAudioTrack, LocalTrack, ParticipantIdentity, RemoteAudioTrack,
- RemoteTrack, Room, RoomEvent, RoomOptions,
+ RemoteParticipant, RemoteTrack, Room, RoomEvent, RoomOptions,
},
};
use reqwest::Client;
@@ -780,16 +780,6 @@
"runtime helper ignored non-user audio participant");
continue;
}
- let ingress_metadata =
- match AudioIngressMetadata::from_participant(&participant.attributes()) {
- Ok(value) => value,
- Err(reason) => {
- warn!(call_id = %call_id, trace_id = %trace_id,
- metadata_status = "invalid", reason = reason,
- "runtime helper ignored invalid audio ingress metadata");
- None
- }
- };
let participant_alias = redact(&participant.identity().to_string());
let track_sid_alias = redact(&track.sid().to_string());
let track_name = track.name();
@@ -801,9 +791,6 @@
track_sid_alias = %track_sid_alias,
track_name = %track_name,
track_source = %track_source,
- metadata_status = if ingress_metadata.is_some() { "bound" } else { "absent" },
- metadata_source = ingress_metadata.as_ref().map(|_| "controlled_fixture"),
- metadata_sequence_present = ingress_metadata.is_some(),
"runtime helper user_track_subscribed"
);
spawn_user_audio_frame_observer(
@@ -818,6 +805,7 @@
turn_bridge_config.clone(),
http.clone(),
sink.clone(),
+ participant,
);
}
RoomEvent::TrackSubscribed {
@@ -2929,6 +2917,7 @@
turn_bridge_config: TurnBridgeConfig,
http: Client,
sink: Arc<BotAudioOutputSink>,
+ participant: RemoteParticipant,
) -> JoinHandle<()> {
tokio::spawn(async move {
let mut stream = NativeAudioStream::new(
@@ -3054,6 +3043,17 @@
if !was_in_speech && is_in_speech {
let turn_id = format!("turn-{:04}", vad.turn_index);
+ let ingress_metadata = match AudioIngressMetadata::from_participant(
+ &participant.attributes(),
+ ) {
+ Ok(value) => value,
+ Err(reason) => {
+ warn!(call_id = %call_id, trace_id = %trace_id,
+ turn_id = %turn_id, metadata_status = "invalid", reason = reason,
+ "runtime helper ignored invalid audio ingress metadata");
+ None
+ }
+ };
match RealtimeAsrUpload::start(
http.clone(),
turn_bridge_config.realtime_asr_config(),
--
Gitblit v1.9.3