diff options
author | Benjamin Legrand <dev@legrand.ws> | 2017-10-16 19:47:00 +0200 |
---|---|---|
committer | dd3boh <dade.garberi@gmail.com> | 2017-10-31 12:34:43 +0100 |
commit | c2fbae38a58c158a15278f0c0dad7ec884f15543 (patch) | |
tree | daf8eb86967ff7be8adec3b01e046ac92a660c67 /libshims | |
parent | c84eea0a8142737ee19590f80741fd9d31079af7 (diff) |
z2_plus: Add camera_shim
Signed-off-by: dd3boh <dade.garberi@gmail.com>
Diffstat (limited to 'libshims')
-rw-r--r-- | libshims/Android.mk | 20 | ||||
-rw-r--r-- | libshims/camera_shim.cpp | 50 |
2 files changed, 70 insertions, 0 deletions
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 <string> + +#include <ui/GraphicBuffer.h> + +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<uint32_t>(1), static_cast<uint64_t>(inUsage), inStride); +} + +extern "C" void _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); + +extern "C" void _ZN7android20DisplayEventReceiverC1Ev() { + _ZN7android20DisplayEventReceiverC1ENS_16ISurfaceComposer11VsyncSourceE(); +} |