Skip to content
  • posciak's avatar
    Reland: Introduce GpuVideoDecodeAcceleratorFactory. · 41c590cd
    posciak authored
    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}
    41c590cd