Implement ACK-based flow control for Python SDK WebRTC batch processing #1865
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.
Description
Follow up of #1858 for SDK
Implements cumulative ACK-based flow control for the Python inference SDK's WebRTC batch processing mode. The client now sends ACKs after processing each frame, allowing the server to apply backpressure when the client is falling behind.
Changes:
_send_ack()method to WebRTCSession that sends cumulative frame ACKs (only whenrealtime_processing=False)realtime_processingto StreamConfig for proper config initializationBackwards compatible: ACK flow control is disabled for realtime streaming mode.
Type of change
How has this change been tested
Tested with video file batch processing in batch mode (realtime_processing=False). Verified ACKs are sent after each frame is processed.
Will the change affect Universe?
No.
Deployment considerations
None - this is a client-side optimization for batch processing.
Docs