Age | Commit message (Collapse) | Author |
|
Originally we assume the buffers at BufferQueue are not moved to
different slot. Then we could track the buffers by the slot index.
However, MediaSync implementation detach buffers and attach back to
BufferQueue. The slot index might be changed.
This CL changes to use GEM handle as the identifier of graphic
buffers. Because all the graphic buffers are allocated by gralloc, we
could get the GEM handle by DRM. V4L2GraphicAllocator is not used
anymore.
Bug: 177484971
Test: android.media.cts.AdaptivePlaybackTest
Change-Id: I6b7f3f9a6c1d6b97d0e44aa2a19bc71ad3bab880
|
|
At ag/12937817 we add V4L2GraphicAllocator to add unique ID for each
graphic buffer. This CL switches to use V4L2GraphicAllocator for
output buffer allocator. Also we change to use the unique ID instead
of IGBP slot in surface mode (C2VdaBqBlockPool), and buffer ID from
BufferPoolData in byte buffer mode (C2VdaPooledBlockPool).
Bug: 171845630
Test: android.media.cts.AdaptivePlaybackTest#testH264_*
Change-Id: Iab06148a09c9ddb01634399c386a0aaea77aaabd
|
|
The V4L2 stateful API requires the caller pass the same buffers to the
output queue slot. Originally we use C2PooledBlockPool for byte buffer
mode, but C2PooledBlockPool cannot get buffer identifier.
This CL switches to use C2VdaPooledBlockPool, which guarantees to
return a fixed set of buffers and could query the buffer index.
Bug: 161770200
Test: pass e2e test
Change-Id: Ief2bdd9ceb6655cd47627ccf6c239a1e6d73482e
|
|
V4L2PluginStore.cpp implements the exposed function signature for the
shared library libc2plugin_store, including CreateBlockPool() and
CreateAllocator().
Bug: 160307705
Test: mmm external/v4l2_codec2/plugin_store
Change-Id: Ifcdf5459b72a83bb761f821bc500877f01094481
|