openclaw - โœ…(Solved) Fix Google Meet realtime should clear playback on Gemini Live interruptions [1 pull requests, 1 participants]

Official PRs (โ€ฆ)
ON THIS PAGE

Recommended Tools

ร—6

Utilities matched from this issueโ€™s tags and category โ€” try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful ยท Quick feedback

Loadingโ€ฆ
GitHub stats
openclaw/openclaw#72523โ€ขFetched 2026-04-28 06:35:00
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
closed ร—1cross-referenced ร—1referenced ร—1

Google Meet realtime sessions can resume stale assistant audio after Gemini Live reports an interruption. The provider already emits onClearAudio when serverContent.interrupted is true, and the shared realtime runtime forwards that to audioSink.clearAudio, but the Google Meet Chrome command-pair sinks do not implement clearAudio.

Root Cause

Google's Live API docs say an interrupted server content event is the signal to stop playback and empty the current client-side audio queue. Without a sink-level clear, SoX/Chrome output can continue buffered audio later, which makes the assistant sound like it resumes an old sentence after the user speaks again.

References:

  • Gemini Live API reference: server_content.interrupted indicates client interruption; realtime input supports activity_handling and turn_coverage.
  • Gemini Live best practices: discard the client-side audio buffer immediately on interruption.
  • OpenClaw Google Meet docs: the Chrome command-pair path pipes 8 kHz G.711 mu-law audio between commands and the realtime provider.

Fix Action

Fixed

PR fix notes

PR #72524: Fix Google Meet realtime interruption playback

Description (problem / solution / changelog)

Summary

  • add Google Live realtime input config knobs for interruption handling, turn coverage, and optional automatic VAD disablement
  • implement audioSink.clearAudio for Google Meet Chrome command-pair and chrome-node bridges
  • restart the output command on Gemini interruption clears so queued SoX/Chrome audio cannot resume later
  • expose clear counters/timestamps in Google Meet bridge health for diagnostics

Fixes #72523.

Validation

  • node scripts/test-projects.mjs extensions/google/realtime-voice-provider.test.ts extensions/google-meet/index.test.ts
  • pnpm tsgo:extensions:test
  • pnpm exec oxfmt --check extensions/google/realtime-voice-provider.ts extensions/google/realtime-voice-provider.test.ts extensions/google-meet/src/realtime.ts extensions/google-meet/src/realtime-node.ts extensions/google-meet/src/node-host.ts extensions/google-meet/src/transports/types.ts extensions/google-meet/index.test.ts
  • git diff --check

Notes

This does not change the Google Meet command-pair audio format. The current documented path remains 8 kHz G.711 mu-law, so HD-quality audio likely needs a separate bridge-format follow-up.

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • docs/providers/google.md (modified, +5/-0)
  • extensions/google-meet/index.test.ts (modified, +39/-2)
  • extensions/google-meet/node-host.test.ts (modified, +77/-0)
  • extensions/google-meet/src/node-host.ts (modified, +51/-5)
  • extensions/google-meet/src/realtime-node.ts (modified, +24/-0)
  • extensions/google-meet/src/realtime.ts (modified, +47/-13)
  • extensions/google-meet/src/transports/types.ts (modified, +3/-0)
  • extensions/google/realtime-voice-provider.test.ts (modified, +39/-0)
  • extensions/google/realtime-voice-provider.ts (modified, +87/-3)
RAW_BUFFERClick to expand / collapse

Summary

Google Meet realtime sessions can resume stale assistant audio after Gemini Live reports an interruption. The provider already emits onClearAudio when serverContent.interrupted is true, and the shared realtime runtime forwards that to audioSink.clearAudio, but the Google Meet Chrome command-pair sinks do not implement clearAudio.

Why this matters

Google's Live API docs say an interrupted server content event is the signal to stop playback and empty the current client-side audio queue. Without a sink-level clear, SoX/Chrome output can continue buffered audio later, which makes the assistant sound like it resumes an old sentence after the user speaks again.

References:

  • Gemini Live API reference: server_content.interrupted indicates client interruption; realtime input supports activity_handling and turn_coverage.
  • Gemini Live best practices: discard the client-side audio buffer immediately on interruption.
  • OpenClaw Google Meet docs: the Chrome command-pair path pipes 8 kHz G.711 mu-law audio between commands and the realtime provider.

Proposed fix

  • Expose Google realtime provider config for activityHandling, turnCoverage, and optional disabled automatic activity detection.
  • Implement clearAudio in Google Meet Chrome command-pair and chrome-node paths.
  • Restart the output command on clear so buffered SoX/Chrome playback cannot resume old audio.
  • Surface lastClearAt and clearCount in health/status data for diagnostics.

Separate follow-up

The current Google Meet command-pair path is documented as 8 kHz G.711 mu-law, which is likely why assistant audio sounds telephone-band. A separate higher-fidelity bridge format would be needed for HD audio.

extent analysis

TL;DR

Implementing the clearAudio method in Google Meet Chrome command-pair sinks and restarting the output command on clear can prevent stale assistant audio from resuming after an interruption.

Guidance

  • Verify that the onClearAudio event is being emitted by the provider when serverContent.interrupted is true and that it is being forwarded to audioSink.clearAudio.
  • Implement the clearAudio method in the Google Meet Chrome command-pair sinks to discard the client-side audio buffer immediately on interruption.
  • Consider exposing Google realtime provider config for activityHandling and turnCoverage to improve audio handling.
  • Restart the output command on clear to prevent buffered SoX/Chrome playback from resuming old audio.

Example

No code snippet is provided as the issue does not contain sufficient code details.

Notes

The proposed fix involves implementing a new method and restarting the output command, which may have implications for the overall audio handling and latency. Additionally, a separate follow-up is needed to address the issue of higher-fidelity audio.

Recommendation

Apply workaround: Implement the clearAudio method in Google Meet Chrome command-pair sinks and restart the output command on clear, as this directly addresses the issue of stale assistant audio resuming after an interruption.

Vote matrix ยท Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loadingโ€ฆ

Still need to ship something?

ร—6

Another batch ranked right after the header list โ€” different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - โœ…(Solved) Fix Google Meet realtime should clear playback on Gemini Live interruptions [1 pull requests, 1 participants]