videostream: Prioritise latency by clearing the queue on new keyframes

VideoStream queues frames after encoding and then using a frame-callback like pattern another thread picks the oldest frame in the queue and sends it over the wire. If the streaming is the bottleneck we can build a big queue. This is managed by changing the framerate but it doesn't reduce the queue size.

If we clear the queue when we get a new keyframe we can ensure the pending-send queue is never bigger than the keyframe distance.

Merge request reports

Loading