aboutsummaryrefslogtreecommitdiff
path: root/libshims
diff options
context:
space:
mode:
authorBenjamin Legrand <dev@legrand.ws>2017-10-16 19:47:00 +0200
committerdd3boh <dade.garberi@gmail.com>2017-10-31 12:34:43 +0100
commitc2fbae38a58c158a15278f0c0dad7ec884f15543 (patch)
treedaf8eb86967ff7be8adec3b01e046ac92a660c67 /libshims
parentc84eea0a8142737ee19590f80741fd9d31079af7 (diff)
z2_plus: Add camera_shim
Signed-off-by: dd3boh <dade.garberi@gmail.com>
Diffstat (limited to 'libshims')
-rw-r--r--libshims/Android.mk20
-rw-r--r--libshims/camera_shim.cpp50
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();
+}