Open Bug 1917191 Opened 6 months ago Updated 5 months ago

Skip desktop capture frames that have not gotten dirty since the previous frame

Categories

(Core :: WebRTC: Audio/Video, task)

task

Tracking

()

ASSIGNED

People

(Reporter: pehrsons, Assigned: pehrsons)

References

(Depends on 2 open bugs, Blocks 2 open bugs)

Details

Attachments

(7 files)

DesktopFrame instances (frames captured by DesktopCapturers) expose updated_region containing info on what rects in the frame had changed since the previous frame.

Currently we ignore this and process every frame regardless of whether it is a duplicate of a frame we have already seen, or not. These frames are very large so processing them in software is expensive. This bug is to ignore all duplicates, to skip a costly image format conversion, several copies, a probable downscaling pass, and possibly rendering and encoding depending on use case.

This should improve performance for desktop capture in a lot of cases, though doesn't help for the worst-case (where say a video or an animation is showing in the capture source).

Blocks: 1917196

This will allow implementing other converter modules.

User Agents may optimize handling of idle sources by not surfacing
duplicate frames.

Depends on: 1920687
Depends on: 1925024
Depends on: 1925039
No longer depends on: 1925039
Depends on: 1925062
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: