VEA mojification: allow for Mojo VEAs to be instantiated several times
On ToT, RenderThreadImpl creates one "remote" mojom::VideoEncodeAcceleratorPtr on main render thread and gives it to GpuVideoAcceleratorFactoriesImpl [1]; this factory gives it to the first constructed MojoVideoEncodeAccelerator; this is good for the first time, but after that it'd be gone, the construction of subsequent MojoVideoEncodeAccelerators will fail and we'll be falling back to software and/or the old IPC mechanism. This CL changes that by adding a mojom VideoEncodeAcceleratorProvider interface, which is bound along the chain: RenderThreadImpl --> gpu.mojom --> GpuClient --> gpu_service.mojom --> GpuService GpuService finally bind the request to a new MojoVideoEncodeAcceleratorProvider (added in this CL as well). GpuVideoAcceleratorFactoriesImpl uses this bound Provider to create MojoVideoEncodeAccelerators every time. [1] https://cs.chromium.org/chromium/src/content/renderer/render_thread_impl.cc?dr=CSs&sq=package:chromium&l=1463 Bug: 736517 Change-Id: I3c753f951f120e1d2ffefb50a526fac15de6e881 Reviewed-on: https://chromium-review.googlesource.com/590513 Commit-Queue: Miguel Casas <mcasas@chromium.org> Reviewed-by:Scott Violet <sky@chromium.org> Reviewed-by:
Xiaohan Wang <xhwang@chromium.org> Reviewed-by:
Tom Sepez <tsepez@chromium.org> Reviewed-by:
Emircan Uysaler <emircan@chromium.org> Cr-Commit-Position: refs/heads/master@{#490658}
Showing
Please register or sign in to comment