Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d0ae2d8 authored by Jayant Chowdhary's avatar Jayant Chowdhary Committed by Automerger Merge Worker
Browse files

Merge "Filter out metadata out of version tags from hidl cameraservice...

Merge "Filter out metadata out of version tags from hidl cameraservice interface." into tm-dev am: ed1e893a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/av/+/18235444



Change-Id: I4fab3cc109ab84697c70dbf3bec9a3cf0ba7be60
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c7037638 ed1e893a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -92,9 +92,9 @@ cc_library_shared {
        "gui/RingBufferConsumer.cpp",
        "hidl/AidlCameraDeviceCallbacks.cpp",
        "hidl/AidlCameraServiceListener.cpp",
        "hidl/Convert.cpp",
        "hidl/HidlCameraDeviceUser.cpp",
        "hidl/HidlCameraService.cpp",
        "hidl/Utils.cpp",
        "utils/CameraServiceProxyWrapper.cpp",
        "utils/CameraThreadState.cpp",
        "utils/CameraTraces.cpp",
+9 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@
#include <hardware/camera.h>

#include <hidl/AidlCameraDeviceCallbacks.h>
#include <hidl/Convert.h>
#include <hidl/Utils.h>

namespace android {
namespace frameworks {
@@ -34,7 +34,7 @@ const char *H2BCameraDeviceCallbacks::kResultKey = "CaptureResult";

H2BCameraDeviceCallbacks::H2BCameraDeviceCallbacks(const sp<HalInterface>& base) : CBase(base) { }

bool H2BCameraDeviceCallbacks::initializeLooper() {
bool H2BCameraDeviceCallbacks::initializeLooper(int vndkVersion) {
    mCbLooper = new ALooper;
    mCbLooper->setName("cs-looper");
    status_t err = mCbLooper->start(/*runOnCallingThread*/ false, /*canCallJava*/ false,
@@ -43,7 +43,7 @@ bool H2BCameraDeviceCallbacks::initializeLooper() {
        ALOGE("Unable to start camera device callback looper");
        return false;
    }
    mHandler = new CallbackHandler(this);
    mHandler = new CallbackHandler(this, vndkVersion);
    mCbLooper->registerHandler(mHandler);
    return true;
}
@@ -144,6 +144,12 @@ void H2BCameraDeviceCallbacks::CallbackHandler::processResultMessage(

    // Convert Metadata into HCameraMetadata;
    FmqSizeOrMetadata hResult;
    using hardware::cameraservice::utils::conversion::filterVndkKeys;
    if (filterVndkKeys(mVndkVersion, result, /*isStatic*/false) != OK) {
        ALOGE("%s: filtering vndk keys from result failed, not sending onResultReceived callback",
                __FUNCTION__);
        return;
    }
    const camera_metadata_t *rawMetadata = result.getAndLock();
    converter->convertResultMetadataToHidl(rawMetadata, &hResult);
    result.unlock(rawMetadata);
+4 −2
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ struct H2BCameraDeviceCallbacks :

    ~H2BCameraDeviceCallbacks();

    bool initializeLooper();
    bool initializeLooper(int vndkVersion);

    virtual binder::Status onDeviceError(int32_t errorCode,
                                         const CaptureResultExtras& resultExtras) override;
@@ -103,10 +103,12 @@ struct H2BCameraDeviceCallbacks :
    struct CallbackHandler : public AHandler {
        public:
            void onMessageReceived(const sp<AMessage> &msg) override;
            CallbackHandler(H2BCameraDeviceCallbacks *converter) : mConverter(converter) { }
            CallbackHandler(H2BCameraDeviceCallbacks *converter, int vndkVersion) :
                    mConverter(converter), mVndkVersion(vndkVersion) { }
        private:
            void processResultMessage(sp<ResultWrapper> &resultWrapper);
            wp<H2BCameraDeviceCallbacks> mConverter = nullptr;
            int mVndkVersion = -1;
            Mutex mMetadataQueueLock;
    };

+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
 */

#include <hidl/AidlCameraServiceListener.h>
#include <hidl/Convert.h>
#include <hidl/Utils.h>

namespace android {
namespace frameworks {
+1 −1
Original line number Diff line number Diff line
@@ -20,8 +20,8 @@
#include <gui/bufferqueue/1.0/H2BGraphicBufferProducer.h>

#include <hidl/AidlCameraDeviceCallbacks.h>
#include <hidl/Convert.h>
#include <hidl/HidlCameraDeviceUser.h>
#include <hidl/Utils.h>
#include <android/hardware/camera/device/3.2/types.h>

namespace android {
Loading