Camera: make fence import agnostic to hidl transport

This will introduce one more FD dup/close in passthrough mode, but
we have no other choice as camera server will not know whether
it is running in passthrough or binderized mode.

Test: running Camera2 API CTS
Bug: 30985004
Change-Id: I407d54a51c51fc09477dfb6236ab1b53bb1e0a21
This commit is contained in:
Yin-Chia Yeh
2017-01-10 13:15:38 -08:00
parent d926f9334f
commit a8f447d75c

View File

@@ -94,15 +94,7 @@ public:
if (handle == nullptr || handle->numFds == 0) {
fd = -1;
} else if (handle->numFds == 1) {
//TODO(b/34110242): make this hidl transport agnostic
#ifdef BINDERIZED
fd = dup(handle->data[0]);
// TODO(b/34169301)
// Camera service expect FD be closed by HAL process (in passthrough mode)
// close(handle->data[0]);
#else
fd = handle->data[0];
#endif
if (fd < 0) {
ALOGE("failed to dup fence fd %d", handle->data[0]);
return false;
@@ -118,13 +110,9 @@ public:
void closeFence(int fd)
{
#ifdef BINDERIZED
if (fd >= 0) {
close(fd);
}
#else
(void) fd;
#endif
}
private: