Tracks the changes to replace the existing "capture of aura::RootWindows" implementation with one that is based on the new viz::FrameSinkCapturer.
Current status:
1. Tab capture has already landed and proven the viz::FrameSinkCapturer is working. (See bug 754872 .)
2. Confirmed that desktop capture on CrOS and browser window capture on Win/Linux could work by using the FrameSinkCapturer and passing it an aura::RootWindow's frame sink id.
3. Undetermined: How will browser window capture on CrOS work? Options include:
a. [Ideal] Giving individual browser windows a frame_sink_id+Surface. But this work is not planned to occur until mus+ash is closer to completion.
b. [Hacky #1] Capture the whole desktop, but crop to where the browser window is on-screen. The problem with this is that if any other windows occlude the target, we would be capturing other windows. This would be a privacy issue.
c. [Hacky #2] Issue CopyOutputRequests on the Layer. The problems with this are performance-related: The resulting video will not be "smooth" to the user, resource usage per-frame would be much higher, and it's likely we'd have to limit frame rates to 5 FPS. Furthermore, this option is blocked until "snapshot" CopyOutputRequests on Layers are implemented for VIZ.
Comment 1 by fsamuel@google.com
, Jan 26 2018