From c2fbae38a58c158a15278f0c0dad7ec884f15543 Mon Sep 17 00:00:00 2001 From: Benjamin Legrand Date: Mon, 16 Oct 2017 19:47:00 +0200 Subject: z2_plus: Add camera_shim Signed-off-by: dd3boh --- libshims/Android.mk | 20 +++++++++++++++++++ libshims/camera_shim.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 libshims/camera_shim.cpp (limited to 'libshims') diff --git a/libshims/Android.mk b/libshims/Android.mk index 619f8ab..2f633ac 100644 --- a/libshims/Android.mk +++ b/libshims/Android.mk @@ -14,6 +14,7 @@ LOCAL_PATH := $(call my-dir) +# get_process_name shim include $(CLEAR_VARS) LOCAL_SRC_FILES := get_process_name.c @@ -22,3 +23,22 @@ LOCAL_MODULE := libshims_get_process_name LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) + +# camera shim +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + camera_shim.cpp + +LOCAL_SHARED_LIBRARIES := \ + libgui \ + libui + +LOCAL_C_INCLUDES := \ + frameworks/native/include + +LOCAL_MODULE := libshim_camera +LOCAL_MODULE_TAGS := optional +LOCAL_MULTILIB := 32 + +include $(BUILD_SHARED_LIBRARY) diff --git a/libshims/camera_shim.cpp b/libshims/camera_shim.cpp new file mode 100644 index 0000000..ec8b580 --- /dev/null +++ b/libshims/camera_shim.cpp @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2017 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include + +extern "C" void _ZN7android13GraphicBufferC1EjjijjjP13native_handleb( + const native_handle_t* handle, + android::GraphicBuffer::HandleWrapMethod method, + uint32_t width, + uint32_t height, + int format, + uint32_t layerCount, + uint64_t usage, + uint32_t stride); + +extern "C" void _ZN7android13GraphicBufferC1EjjijjP13native_handleb( + uint32_t inWidth, + uint32_t inHeight, + int inFormat, + uint32_t inUsage, + uint32_t inStride, + native_handle_t* inHandle, + bool keepOwnership) +{ + android::GraphicBuffer::HandleWrapMethod inMethod = + (keepOwnership ? android::GraphicBuffer::TAKE_HANDLE : android::GraphicBuffer::WRAP_HANDLE); + _ZN7android13GraphicBufferC1EjjijjjP13native_handleb(inHandle, inMethod, inWidth, inHeight, + inFormat, static_cast(1), static_cast(inUsage), inStride); +} + +extern "C" void _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); + +extern "C" void _ZN7android20DisplayEventReceiverC1Ev() { + _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); +} -- cgit v1.2.3