From 8bced55677df24ba7ef81cffb43d6f48c82a4dff Mon Sep 17 00:00:00 2001 From: Vachounet Date: Fri, 8 Sep 2017 13:50:40 +0200 Subject: [PATCH] potter: update shims Change-Id: Ic857cb87cd380c54c4898e2ef010ecf865283808 --- device.mk | 4 +++- libshims/Android.mk | 28 ++++++++++++++++++++++++---- libshims/DisplayEventReceiver.c | 19 +++++++++++++++++++ libshims/GraphicBuffer.cpp | 13 +++++++++++++ libshims/MediaCodec.cpp | 26 ++++++++++++++++++++++++++ libshims/sensor.cpp | 22 ++++++++++++++++++++++ 6 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 libshims/DisplayEventReceiver.c create mode 100644 libshims/MediaCodec.cpp create mode 100644 libshims/sensor.cpp diff --git a/device.mk b/device.mk index f02e652..9a3aee0 100644 --- a/device.mk +++ b/device.mk @@ -102,7 +102,9 @@ PRODUCT_PACKAGES += \ libshim_camera \ Snap \ camera.device@3.2-impl \ - android.hardware.camera.provider@2.4-impl + android.hardware.camera.provider@2.4-impl \ + libshim_camera_hal \ + libshims_camera PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/camera/msm8953_mot_potter_camera.xml:system/etc/camera/msm8953_mot_potter_camera.xml \ diff --git a/libshims/Android.mk b/libshims/Android.mk index beffc7b..d4b49c7 100644 --- a/libshims/Android.mk +++ b/libshims/Android.mk @@ -41,19 +41,39 @@ LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) - LOCAL_SRC_FILES := get_process_name.c - LOCAL_MODULE := libshims_get_process_name LOCAL_MODULE_TAGS := optional +include $(BUILD_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := rild_socket.c +LOCAL_MODULE := rild_socket +LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) +LOCAL_SRC_FILES := DisplayEventReceiver.c +LOCAL_MODULE := libshim_camera_hal +LOCAL_MODULE_TAGS := optional +include $(BUILD_SHARED_LIBRARY) -LOCAL_SRC_FILES := rild_socket.c +include $(CLEAR_VARS) -LOCAL_MODULE := rild_socket +LOCAL_SRC_FILES := MediaCodec.cpp + +LOCAL_SHARED_LIBRARIES := libstagefright libmedia + +LOCAL_MODULE := libshims_camera LOCAL_MODULE_TAGS := optional include $(BUILD_SHARED_LIBRARY) + +# RIL +include $(CLEAR_VARS) +LOCAL_SRC_FILES := sensor.cpp +LOCAL_SHARED_LIBRARIES := libgui libsensor +LOCAL_MODULE := libshim_ril +LOCAL_MODULE_TAGS := optional +include $(BUILD_SHARED_LIBRARY) diff --git a/libshims/DisplayEventReceiver.c b/libshims/DisplayEventReceiver.c new file mode 100644 index 0000000..3fce3b5 --- /dev/null +++ b/libshims/DisplayEventReceiver.c @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2016 The CyanogenMod 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. + */ + +/* TODO: Actually provide implementations for these function! */ + +void _ZN7android20DisplayEventReceiverC1Ev() {} diff --git a/libshims/GraphicBuffer.cpp b/libshims/GraphicBuffer.cpp index 2ccb650..b939f4a 100644 --- a/libshims/GraphicBuffer.cpp +++ b/libshims/GraphicBuffer.cpp @@ -22,6 +22,10 @@ extern "C" void _ZN7android13GraphicBufferC1EjjijNSt3__112basic_stringIcNS1_11ch uint32_t inWidth, uint32_t inHeight, int inFormat, uint32_t inUsage, std::string requestorName); +extern "C" void _ZN7android19IGraphicBufferAllocD0Evj( + uint32_t inWidth, uint32_t inHeight, int inFormat, uint32_t inUsage, + std::string requestorName); + //libmot_gpu_mapper.so extern "C" void _ZN7android13GraphicBufferC1Ejjij( uint32_t inWidth, uint32_t inHeight, int inFormat, uint32_t inUsage) { @@ -29,3 +33,12 @@ extern "C" void _ZN7android13GraphicBufferC1Ejjij( _ZN7android13GraphicBufferC1EjjijNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE( inWidth, inHeight, inFormat, inUsage, requestorName); } + +extern "C" void _ZN7android19IGraphicBufferAllocD0Ev( + uint32_t inWidth, uint32_t inHeight, int inFormat, uint32_t inUsage) { + std::string requestorName = ""; + //_ZN7android19IGraphicBufferAllocD0Evj(inWidth, inHeight, inFormat, inUsage, requestorName); +} + +extern "C" void _ZN7android19IGraphicBufferAlloc10descriptorE() {} + diff --git a/libshims/MediaCodec.cpp b/libshims/MediaCodec.cpp new file mode 100644 index 0000000..90cc876 --- /dev/null +++ b/libshims/MediaCodec.cpp @@ -0,0 +1,26 @@ +#include +#include +#include + +namespace android { + +extern "C" void _ZN7android10MediaCodec12CreateByTypeERKNS_2spINS_7ALooperEEERKNS_7AStringEbPiij( + const sp &looper, const AString &mime, bool encoder, status_t *err, pid_t pid, uid_t uid); + +extern "C" void _ZNK7android10MediaCodec15getInputBuffersEPNS_6VectorINS_2spINS_16MediaCodecBufferEEEEE(Vector > *buffers); +extern "C" void _ZNK7android10MediaCodec16getOutputBuffersEPNS_6VectorINS_2spINS_16MediaCodecBufferEEEEE(Vector > *buffers); + +extern "C" void _ZN7android10MediaCodec12CreateByTypeERKNS_2spINS_7ALooperEEERKNS_7AStringEbPii( + const sp &looper, const AString &mime, bool encoder, status_t *err, pid_t pid) { + _ZN7android10MediaCodec12CreateByTypeERKNS_2spINS_7ALooperEEERKNS_7AStringEbPiij( + looper, mime, encoder, err, pid, 0); +} + +extern "C" void _ZNK7android10MediaCodec15getInputBuffersEPNS_6VectorINS_2spINS_7ABufferEEEEE(Vector > *buffers) { + _ZNK7android10MediaCodec15getInputBuffersEPNS_6VectorINS_2spINS_16MediaCodecBufferEEEEE(buffers); +} + +extern "C" void _ZNK7android10MediaCodec16getOutputBuffersEPNS_6VectorINS_2spINS_7ABufferEEEEE(Vector > *buffers) { + _ZNK7android10MediaCodec16getOutputBuffersEPNS_6VectorINS_2spINS_16MediaCodecBufferEEEEE(buffers); +} +} diff --git a/libshims/sensor.cpp b/libshims/sensor.cpp new file mode 100644 index 0000000..3769b9e --- /dev/null +++ b/libshims/sensor.cpp @@ -0,0 +1,22 @@ +/* + * 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 + +extern "C" int ASensor_getHandle(ASensor const* sensor) +{ + return static_cast(sensor)->getHandle(); +}