• Christopher Cameron's avatar
    Use IOSurface directly in gfx::BufferHandle · 48792632
    Christopher Cameron authored
    Change gfx::BufferHandle to use a gfx::ScopedIOSurface instead of a
    gfx::ScopedRefCountedIOSurfaceMachPort.
    
    Reason for using a mach port: It's the thing that goes over all forms
    of IPC.
    
    Reason for not using a mach port: The mach port's existence makes the
    IOSurface report that it is in use. This makes it so that things like
    CVPixelBufferPools will not re-use that IOSurface. The capture pipeline
    keeps lots of gfx::BufferHandles around, which causes the underlying
    CVPixelBufferPool to go haywire (in this case growing without bound,
    but another valid way to blow up is to just hang and never capture
    any more frames).
    
    Also remove some debugging code.
    
    Bug: 1139105
    Change-Id: I1ffa11a325b6a8e1811a23b1c4d7dac00fad49db
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2485992Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
    Reviewed-by: default avatarPeng Huang <penghuang@chromium.org>
    Reviewed-by: default avatarDan Sanders <sandersd@chromium.org>
    Commit-Queue: ccameron <ccameron@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#818727}
    48792632
gfx_param_traits.h 2.37 KB