Reland: Introduce GpuVideoDecodeAcceleratorFactory.
Original CL: https://codereview.chromium.org/1745903002.
This includes fixes from boliu@ for gn build.
TBR=kcwu@chromium.org,owenlin@chromium.org,sandersd@chromium.org,liberato@chromium.org,fsamuel@chromium.org,jochen@chromium.org,jam@chromium.org
Original message:
Introduce GpuVideoDecodeAcceleratorFactory.
- Move platform-specific code from GpuVideoDecodeAccelerator to
GpuVideoDecodeAcceleratorFactory.
- Make GVDAFactory a content/public interface, to provide the ability to
instantiate VDAs from outside content/.
- Unify how we obtain access to various GL functionality/classes from VDAs
by introducing a set of callbacks provided by the client.
- Replace VDA::CanDecodeOnIOThread() with
VDA::TryInitializeDecodeOnSeparateThread(). This allows us to remove
additional client/taskrunner arguments from VDA constructors, and give client
the option to use a separate thread to decode, instead of having to make this
decision in the factory, and enforcing these arguments in the constructors.
- Deduplicate VDA creation code across users (currently GVDA and vdaunittest).
BUG=b/27687678
TEST=compile/run various VDA impls
Review URL: https://codereview.chromium.org/1839193003
Cr-Commit-Position: refs/heads/master@{#385343}
38 files changed