diff options
author | Davide Garberi <dade.garberi@gmail.com> | 2017-12-17 09:52:29 +0100 |
---|---|---|
committer | Davide Garberi <dade.garberi@gmail.com> | 2017-12-17 09:52:29 +0100 |
commit | c339bc8344f37a4d0b2e644238b68d08c771fd7d (patch) | |
tree | d8f045dee5ed38214cc876ea532cc1f94f94a697 /libshims | |
parent | 66f97a607bea0d2d0f8723282ce1d8a949eaa99c (diff) |
msm8996-common: Nuke camera_shim
* With the updated camera.msm8996 blob we don't need this anymore
Signed-off-by: Davide Garberi <dade.garberi@gmail.com>
Diffstat (limited to 'libshims')
-rw-r--r-- | libshims/Android.mk | 36 | ||||
-rw-r--r-- | libshims/camera_shim.cpp | 70 | ||||
-rw-r--r-- | libshims/gui/DisplayEventReceiver.h | 147 |
3 files changed, 0 insertions, 253 deletions
diff --git a/libshims/Android.mk b/libshims/Android.mk deleted file mode 100644 index 3347ab6..0000000 --- a/libshims/Android.mk +++ /dev/null @@ -1,36 +0,0 @@ -# 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. - -LOCAL_PATH := $(call my-dir) - -# camera shim -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := \ - camera_shim.cpp - -LOCAL_SHARED_LIBRARIES := \ - liblog \ - libutils \ - 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 deleted file mode 100644 index 68e8ccc..0000000 --- a/libshims/camera_shim.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * 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 <utils/Errors.h> - -#include <ui/GraphicBuffer.h> - -#include "gui/DisplayEventReceiver.h" -#include <gui/IDisplayEventConnection.h> -#include <gui/ISurfaceComposer.h> - -#include <private/gui/ComposerService.h> - -#include <private/gui/BitTube.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); -} - -namespace android { - -DisplayEventReceiver::DisplayEventReceiver() { - status_t err; - sp<ISurfaceComposer> sf(ComposerService::getComposerService()); - if (sf != NULL) { - mEventConnection = sf->createDisplayEventConnection(ISurfaceComposer::eVsyncSourceApp); - if (mEventConnection != NULL) { - mDataChannel = std::make_unique<gui::BitTube>(); - err = mEventConnection->stealReceiveChannel(mDataChannel.get()); - } - } -} - -}; // namespace android diff --git a/libshims/gui/DisplayEventReceiver.h b/libshims/gui/DisplayEventReceiver.h deleted file mode 100644 index 6354005..0000000 --- a/libshims/gui/DisplayEventReceiver.h +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source 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. - */ - -#ifndef ANDROID_GUI_DISPLAY_EVENT_H -#define ANDROID_GUI_DISPLAY_EVENT_H - -#include <stdint.h> -#include <sys/types.h> - -#include <utils/Errors.h> -#include <utils/RefBase.h> -#include <utils/Timers.h> - -#include <binder/IInterface.h> -#include <gui/ISurfaceComposer.h> - -// ---------------------------------------------------------------------------- - -namespace android { - -// ---------------------------------------------------------------------------- - -class IDisplayEventConnection; - -namespace gui { -class BitTube; -} // namespace gui - -static inline constexpr uint32_t fourcc(char c1, char c2, char c3, char c4) { - return static_cast<uint32_t>(c1) << 24 | - static_cast<uint32_t>(c2) << 16 | - static_cast<uint32_t>(c3) << 8 | - static_cast<uint32_t>(c4); -} - -// ---------------------------------------------------------------------------- -class DisplayEventReceiver { -public: - enum { - DISPLAY_EVENT_VSYNC = fourcc('v', 's', 'y', 'n'), - DISPLAY_EVENT_HOTPLUG = fourcc('p', 'l', 'u', 'g'), - }; - - struct Event { - - struct Header { - uint32_t type; - uint32_t id; - nsecs_t timestamp __attribute__((aligned(8))); - }; - - struct VSync { - uint32_t count; - }; - - struct Hotplug { - bool connected; - }; - - Header header; - union { - VSync vsync; - Hotplug hotplug; - }; - }; - -public: - DisplayEventReceiver(); - /* - * DisplayEventReceiver creates and registers an event connection with - * SurfaceFlinger. VSync events are disabled by default. Call setVSyncRate - * or requestNextVsync to receive them. - * Other events start being delivered immediately. - */ - DisplayEventReceiver( - ISurfaceComposer::VsyncSource vsyncSource = ISurfaceComposer::eVsyncSourceApp); - - /* - * ~DisplayEventReceiver severs the connection with SurfaceFlinger, new events - * stop being delivered immediately. Note that the queue could have - * some events pending. These will be delivered. - */ - ~DisplayEventReceiver(); - - /* - * initCheck returns the state of DisplayEventReceiver after construction. - */ - status_t initCheck() const; - - /* - * getFd returns the file descriptor to use to receive events. - * OWNERSHIP IS RETAINED by DisplayEventReceiver. DO NOT CLOSE this - * file-descriptor. - */ - int getFd() const; - - /* - * getEvents reads events from the queue and returns how many events were - * read. Returns 0 if there are no more events or a negative error code. - * If NOT_ENOUGH_DATA is returned, the object has become invalid forever, it - * should be destroyed and getEvents() shouldn't be called again. - */ - ssize_t getEvents(Event* events, size_t count); - static ssize_t getEvents(gui::BitTube* dataChannel, Event* events, size_t count); - - /* - * sendEvents write events to the queue and returns how many events were - * written. - */ - static ssize_t sendEvents(gui::BitTube* dataChannel, Event const* events, size_t count); - - /* - * setVsyncRate() sets the Event::VSync delivery rate. A value of - * 1 returns every Event::VSync. A value of 2 returns every other event, - * etc... a value of 0 returns no event unless requestNextVsync() has - * been called. - */ - status_t setVsyncRate(uint32_t count); - - /* - * requestNextVsync() schedules the next Event::VSync. It has no effect - * if the vsync rate is > 0. - */ - status_t requestNextVsync(); - -private: - sp<IDisplayEventConnection> mEventConnection; - std::unique_ptr<gui::BitTube> mDataChannel; -}; - -// ---------------------------------------------------------------------------- -}; // namespace android - -#endif // ANDROID_GUI_DISPLAY_EVENT_H |