OSDN Git Service

Overhual DvrBuffer and DvrBufferQueue API: Step 1
authorJiwen 'Steve' Cai <jwcai@google.com>
Fri, 8 Sep 2017 18:10:29 +0000 (11:10 -0700)
committerJiwen 'Steve' Cai <jwcai@google.com>
Tue, 12 Sep 2017 22:56:52 +0000 (15:56 -0700)
commit638b7f747df50374d1e91c2496da41f293394e19
treed7b405c7562a9515b84a04fbb67e7e5765833efc
parenta60e6a4548141eb6c179607ff6debba374e3a211
Overhual DvrBuffer and DvrBufferQueue API: Step 1

Adding new APIs:

dvrWriteBufferQueueGainBuffer
dvrWriteBufferQueuePostBuffer
dvrReadBufferQueueAcquireBuffer
dvrReadBufferQueueReleaseBuffer

Those new APIs streamlines DVR buffer operations:
1/ It allows static Dvr{Read,Write}Buffer objects to be statically
allocated with the queue.
2/ Symentric Gain/Post on WriteBufferQueue and Acquire/Release on
ReadBufferQueue.
3/ Use fixed buffer metadata.
4/ This is also a prerequisite to using shared memory based metadata and
async buffer IPC.

More details and discussion at: go/gvr-async-bufferhub

Special note regarding DVR API order in this CL: The new buffer queue
API entries are inserted before new PoseClient API as the PoseClient is
still blocked from being released and the new BufferQueue APIs are
expected to be released sooner than that.

Bug: 65455724
Bug: 65468551
Bug: 65458332
Bug: 65165821
Test: dvr_api-test
Change-Id: Iae8e7787d696d72ebf7457df9f98f4467cd20932
libs/vr/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
libs/vr/libdvr/dvr_buffer.cpp
libs/vr/libdvr/dvr_buffer_queue.cpp
libs/vr/libdvr/dvr_buffer_queue_internal.h
libs/vr/libdvr/dvr_internal.h
libs/vr/libdvr/include/dvr/dvr_api.h
libs/vr/libdvr/include/dvr/dvr_api_entries.h
libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
libs/vr/libdvr/tests/Android.bp
libs/vr/libdvr/tests/dvr_buffer_queue-test.cpp