Skip to content

Commit 15bc44f

Browse files
Don't count time silent towards time speaking
1 parent 5b3840b commit 15bc44f

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/rust/src/core/group_call.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -1425,14 +1425,15 @@ impl Client {
14251425
if let Some(next_speaking_audio_levels_time) = state.next_speaking_audio_levels_time {
14261426
if now >= next_speaking_audio_levels_time {
14271427
let (captured_level, _) = state.peer_connection.get_audio_levels();
1428+
let mut time_silent = Duration::from_secs(0);
14281429
state.started_speaking = if captured_level > MIN_NON_SILENT_LEVEL
14291430
&& !state.outgoing_heartbeat_state.audio_muted.unwrap_or(true)
14301431
{
14311432
state.silence_started = None;
14321433
state.started_speaking.or(Some(now))
14331434
} else {
14341435
state.silence_started = state.silence_started.or(Some(now));
1435-
let time_silent = state
1436+
time_silent = state
14361437
.silence_started
14371438
.map_or(Duration::from_secs(0), |start| now.duration_since(start));
14381439
if time_silent >= STOPPED_SPEAKING_DURATION {
@@ -1442,7 +1443,9 @@ impl Client {
14421443
}
14431444
};
14441445

1445-
let time_speaking = now.duration_since(state.silence_started.unwrap_or(now));
1446+
let time_speaking = now
1447+
.duration_since(state.started_speaking.unwrap_or(now))
1448+
.saturating_sub(time_silent);
14461449

14471450
let event = if time_speaking > MIN_SPEAKING_HAND_LOWER {
14481451
Some(SpeechEvent::LowerHandSuggestion)

0 commit comments

Comments
 (0)