Conversation
With server-side turn detection the server commits each segment it detects, but the framework still called commit_audio() on every client turn. Each turn asked the server to close a buffer it had already emptied and logged input_audio_buffer_commit_empty, which #6642 suppressed instead of removing the commit. create_response=False makes this fire on every turn, because the client owns the reply while the server keeps segmenting. The session now tracks the server's own commits and clears the count of pushed audio, so commit_audio() has nothing left to send and keeps its meaning. Only a segment the server closed itself counts: a client commit is acknowledged with the same event, and the audio that arrived while it was in flight is still the client's to commit. The suppression stays for the race where the two commits cross on the wire.
chenghao-mou
approved these changes
Aug 26, 2026
Contributor
Author
|
Closing. #6642 is sufficient.
The change also does not let us remove the suppression, because a client commit and a server commit can still cross on the wire. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem: With server-side turn detection the server closes each audio segment itself, and the framework still calls
commit_audio()on every client turn. The server answers that second commit withinput_audio_buffer_commit_empty, and #6642 only suppressed the error, so every turn still pays for a commit the server rejects.Fix: The session now handles
input_audio_buffer.committedand clears the count of pushed audio, socommit_audio()has nothing left to send. The meaning ofcommit_audio()does not change, and the error suppression stays for a client commit and a server commit that cross on the wire.Follows up #6642.
Context for reviewing and coding agents