Skip to content

Conversation

@digaobarbosa
Copy link
Contributor

@digaobarbosa digaobarbosa commented Jan 2, 2026

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:

  • Added _send_ack() method to WebRTCSession that sends cumulative frame ACKs (only when realtime_processing=False)
  • ACK is sent after all data handlers process each frame
  • Updated example to pass realtime_processing to StreamConfig for proper config initialization

Backwards compatible: ACK flow control is disabled for realtime streaming mode.

Type of change

  • New feature (non-breaking change which adds functionality)

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

  • Docs updated - No documentation changes needed

@grzegorz-roboflow grzegorz-roboflow merged commit a8d17b6 into main Jan 2, 2026
50 checks passed
@grzegorz-roboflow grzegorz-roboflow deleted the ack-frames-webrtc-sdk branch January 2, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants