DescriptionVideoCaptureBufferPool: Refactor to allow support of non-ShMem backed buffers
This CL refactors VideoCaptureBufferPool, and in
particular its inner class Buffer, to allow pooling
GpuMemoryBuffers. For that, Buffer is renamed to
Tracker, and turned into a base class, where SharedMemory
specifics are implemented in SharedMemoryTracker.
In ToT, VideoCaptureDeviceClient calculates the
linear size in bytes needed for holding the captured
VideoFrame. This responsability is shifted into the
VCBPool, so in the inmediate future, GpuMemoryBuffers
can be allocated. To support this, VCBP::ReserveForProducer()
gets the pixel format and dimensions.
VideoCaptureDevice::Client::ReserveOutputBuffer()
goes through the same parameter upgrade.
(In the next CL, a GpuMemoryBufferTracker class
is introduced, allowing VCBP::ReserveForProducer()
will allocate GMBs if so instructed via the pixel
format.)
BUG=440843
Committed: https://crrev.com/0549561d5a5331a44a7db5fd4a441a9d6b6c92ad
Cr-Commit-Position: refs/heads/master@{#324380}
Patch Set 1 : #
Total comments: 12
Patch Set 2 : miu@s comments #
Total comments: 8
Patch Set 3 : miu@s nits #Messages
Total messages: 19 (8 generated)
|