fix(meeting-bot): invalidate queued output on barge-in

This commit is contained in:
Vincent Koc
2026-07-31 08:47:34 +08:00
parent 66c23e7194
commit 6a7f9dfd5d
+5 -1
View File
@@ -305,6 +305,10 @@ export async function startMeetingRealtimeEngine(params: {
const clearOutputPlayback = (): void => {
void queueOutputClear();
};
const invalidateAndClearOutputPlayback = (): void => {
blockOutput();
clearOutputPlayback();
};
const blockOutput = (): { blocked: boolean; token: symbol } => {
if (outputBlocked) {
@@ -369,7 +373,7 @@ export async function startMeetingRealtimeEngine(params: {
if (!playbackActive && (lastOutputAudioAt === undefined || now - lastOutputAudioAt > 1_000)) {
return false;
}
harness.handleBargeIn({ audioPlaybackActive: true }, clearOutputPlayback);
harness.handleBargeIn({ audioPlaybackActive: true }, invalidateAndClearOutputPlayback);
return true;
});
};