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

Commit 47cdcf39 authored by Shuzhen Wang's avatar Shuzhen Wang
Browse files

CameraMetadata: Add trace points CameraMetadata operations

Test: Build
Bug: 144028609
Change-Id: I168b6394844837a710d66a21ba7c1cf8b78c3108
parent 684e4758
Loading
Loading
Loading
Loading
+22 −4
Original line number Original line Diff line number Diff line
@@ -17,7 +17,9 @@
// #define LOG_NDEBUG 0
// #define LOG_NDEBUG 0


#define LOG_TAG "Camera2-Metadata"
#define LOG_TAG "Camera2-Metadata"
#define ATRACE_TAG ATRACE_TAG_CAMERA
#include <utils/Log.h>
#include <utils/Log.h>
#include <utils/Trace.h>
#include <utils/Errors.h>
#include <utils/Errors.h>


#include <binder/Parcel.h>
#include <binder/Parcel.h>
@@ -38,11 +40,13 @@ CameraMetadata::CameraMetadata() :
CameraMetadata::CameraMetadata(size_t entryCapacity, size_t dataCapacity) :
CameraMetadata::CameraMetadata(size_t entryCapacity, size_t dataCapacity) :
        mLocked(false)
        mLocked(false)
{
{
    ATRACE_CALL();
    mBuffer = allocate_camera_metadata(entryCapacity, dataCapacity);
    mBuffer = allocate_camera_metadata(entryCapacity, dataCapacity);
}
}


CameraMetadata::CameraMetadata(const CameraMetadata &other) :
CameraMetadata::CameraMetadata(const CameraMetadata &other) :
        mLocked(false) {
        mLocked(false) {
    ATRACE_CALL();
    mBuffer = clone_camera_metadata(other.mBuffer);
    mBuffer = clone_camera_metadata(other.mBuffer);
}
}


@@ -104,6 +108,7 @@ camera_metadata_t* CameraMetadata::release() {
}
}


void CameraMetadata::clear() {
void CameraMetadata::clear() {
    ATRACE_CALL();
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        return;
        return;
@@ -115,6 +120,7 @@ void CameraMetadata::clear() {
}
}


void CameraMetadata::acquire(camera_metadata_t *buffer) {
void CameraMetadata::acquire(camera_metadata_t *buffer) {
    ATRACE_CALL();
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        return;
        return;
@@ -128,6 +134,7 @@ void CameraMetadata::acquire(camera_metadata_t *buffer) {
}
}


void CameraMetadata::acquire(CameraMetadata &other) {
void CameraMetadata::acquire(CameraMetadata &other) {
    ATRACE_CALL();
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        return;
        return;
@@ -136,10 +143,12 @@ void CameraMetadata::acquire(CameraMetadata &other) {
}
}


status_t CameraMetadata::append(const CameraMetadata &other) {
status_t CameraMetadata::append(const CameraMetadata &other) {
    ATRACE_CALL();
    return append(other.mBuffer);
    return append(other.mBuffer);
}
}


status_t CameraMetadata::append(const camera_metadata_t* other) {
status_t CameraMetadata::append(const camera_metadata_t* other) {
    ATRACE_CALL();
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        return INVALID_OPERATION;
        return INVALID_OPERATION;
@@ -161,6 +170,7 @@ bool CameraMetadata::isEmpty() const {
}
}


status_t CameraMetadata::sort() {
status_t CameraMetadata::sort() {
    ATRACE_CALL();
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        return INVALID_OPERATION;
        return INVALID_OPERATION;
@@ -291,6 +301,7 @@ status_t CameraMetadata::update(const camera_metadata_ro_entry &entry) {


status_t CameraMetadata::updateImpl(uint32_t tag, const void *data,
status_t CameraMetadata::updateImpl(uint32_t tag, const void *data,
        size_t data_count) {
        size_t data_count) {
    ATRACE_CALL();
    status_t res;
    status_t res;
    if (mLocked) {
    if (mLocked) {
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
        ALOGE("%s: CameraMetadata is locked", __FUNCTION__);
@@ -348,11 +359,13 @@ status_t CameraMetadata::updateImpl(uint32_t tag, const void *data,
}
}


bool CameraMetadata::exists(uint32_t tag) const {
bool CameraMetadata::exists(uint32_t tag) const {
    ATRACE_CALL();
    camera_metadata_ro_entry entry;
    camera_metadata_ro_entry entry;
    return find_camera_metadata_ro_entry(mBuffer, tag, &entry) == 0;
    return find_camera_metadata_ro_entry(mBuffer, tag, &entry) == 0;
}
}


camera_metadata_entry_t CameraMetadata::find(uint32_t tag) {
camera_metadata_entry_t CameraMetadata::find(uint32_t tag) {
    ATRACE_CALL();
    status_t res;
    status_t res;
    camera_metadata_entry entry;
    camera_metadata_entry entry;
    if (mLocked) {
    if (mLocked) {
@@ -369,6 +382,7 @@ camera_metadata_entry_t CameraMetadata::find(uint32_t tag) {
}
}


camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const {
camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const {
    ATRACE_CALL();
    status_t res;
    status_t res;
    camera_metadata_ro_entry entry;
    camera_metadata_ro_entry entry;
    res = find_camera_metadata_ro_entry(mBuffer, tag, &entry);
    res = find_camera_metadata_ro_entry(mBuffer, tag, &entry);
@@ -380,6 +394,7 @@ camera_metadata_ro_entry_t CameraMetadata::find(uint32_t tag) const {
}
}


status_t CameraMetadata::erase(uint32_t tag) {
status_t CameraMetadata::erase(uint32_t tag) {
    ATRACE_CALL();
    camera_metadata_entry_t entry;
    camera_metadata_entry_t entry;
    status_t res;
    status_t res;
    if (mLocked) {
    if (mLocked) {
@@ -410,6 +425,7 @@ status_t CameraMetadata::erase(uint32_t tag) {


status_t CameraMetadata::removePermissionEntries(metadata_vendor_id_t vendorId,
status_t CameraMetadata::removePermissionEntries(metadata_vendor_id_t vendorId,
        std::vector<int32_t> *tagsRemoved) {
        std::vector<int32_t> *tagsRemoved) {
    ATRACE_CALL();
    uint32_t tagCount = 0;
    uint32_t tagCount = 0;
    std::vector<uint32_t> tagsToRemove;
    std::vector<uint32_t> tagsToRemove;


@@ -486,6 +502,7 @@ void CameraMetadata::dump(int fd, int verbosity, int indentation) const {
}
}


status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) {
status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) {
    ATRACE_CALL();
    if (mBuffer == NULL) {
    if (mBuffer == NULL) {
        mBuffer = allocate_camera_metadata(extraEntries * 2, extraData * 2);
        mBuffer = allocate_camera_metadata(extraEntries * 2, extraData * 2);
        if (mBuffer == NULL) {
        if (mBuffer == NULL) {
@@ -525,7 +542,7 @@ status_t CameraMetadata::resizeIfNeeded(size_t extraEntries, size_t extraData) {


status_t CameraMetadata::readFromParcel(const Parcel& data,
status_t CameraMetadata::readFromParcel(const Parcel& data,
                                        camera_metadata_t** out) {
                                        camera_metadata_t** out) {

    ATRACE_CALL();
    status_t err = OK;
    status_t err = OK;


    camera_metadata_t* metadata = NULL;
    camera_metadata_t* metadata = NULL;
@@ -616,6 +633,7 @@ status_t CameraMetadata::readFromParcel(const Parcel& data,


status_t CameraMetadata::writeToParcel(Parcel& data,
status_t CameraMetadata::writeToParcel(Parcel& data,
                                       const camera_metadata_t* metadata) {
                                       const camera_metadata_t* metadata) {
    ATRACE_CALL();
    status_t res = OK;
    status_t res = OK;


    /**
    /**
@@ -710,7 +728,7 @@ status_t CameraMetadata::writeToParcel(Parcel& data,
}
}


status_t CameraMetadata::readFromParcel(const Parcel *parcel) {
status_t CameraMetadata::readFromParcel(const Parcel *parcel) {

    ATRACE_CALL();
    ALOGV("%s: parcel = %p", __FUNCTION__, parcel);
    ALOGV("%s: parcel = %p", __FUNCTION__, parcel);


    status_t res = OK;
    status_t res = OK;
@@ -742,7 +760,7 @@ status_t CameraMetadata::readFromParcel(const Parcel *parcel) {
}
}


status_t CameraMetadata::writeToParcel(Parcel *parcel) const {
status_t CameraMetadata::writeToParcel(Parcel *parcel) const {

    ATRACE_CALL();
    ALOGV("%s: parcel = %p", __FUNCTION__, parcel);
    ALOGV("%s: parcel = %p", __FUNCTION__, parcel);


    if (parcel == NULL) {
    if (parcel == NULL) {
@@ -771,7 +789,7 @@ void CameraMetadata::swap(CameraMetadata& other) {


status_t CameraMetadata::getTagFromName(const char *name,
status_t CameraMetadata::getTagFromName(const char *name,
        const VendorTagDescriptor* vTags, uint32_t *tag) {
        const VendorTagDescriptor* vTags, uint32_t *tag) {

    ATRACE_CALL();
    if (name == nullptr || tag == nullptr) return BAD_VALUE;
    if (name == nullptr || tag == nullptr) return BAD_VALUE;


    size_t nameLength = strlen(name);
    size_t nameLength = strlen(name);