History log of /frameworks/native/libs/vr/libpdx/private/pdx/channel_parcelable.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a88e3ee3a33a60e72bd976cfb5b9fc0bd15a1078 04-Nov-2017 Jiwen 'Steve' Cai <jwcai@google.com> Make BufferHubQueue binder parcelable

The goal of this CL is to enable sending BufferHubQueue clients over
binder, so that ANativeWindow/Surface backed by BufferHub can be send
over binder just like the current binder BufferQueue based
implementation.

To enable PDX clients to be binder parcelable, this CL introduced new
DPX interface: pdx::ChannelParcelable with UDS-backed
implementation. Note that the ChannelParcelable interface is only
exposed to each implementation of PDX client (BufferHubQueue clients in
this CL) through protected pdx::Client interface. The reason for doing
that is each client implementation may require different custom clean up
logic between the client can be safely exported to another
process. Thus, we don't want to expose this export-to-binder becomes a
pdx-Client level feature, but let each client implement their own. In
addition, there is no immediate need for all types of pdx::Client
implementation being binder parcelable, thus we only implemented the
logic for BufferHubQueue.

This is the first of a seriers of CLs to eventually enable binder
parcelable ANativeSurface backed by BufferHub.

Bug: 37517761
Bug: 63909629
Test: buffer_hub_queue-test
Change-Id: I41c8a710af3095312db823ff01bc5aa526775edd
/frameworks/native/libs/vr/libpdx/private/pdx/channel_parcelable.h