Loading camera/CameraMetadata.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -79,7 +79,7 @@ const camera_metadata_t* CameraMetadata::getAndLock() const { return mBuffer; return mBuffer; } } status_t CameraMetadata::unlock(const camera_metadata_t *buffer) { status_t CameraMetadata::unlock(const camera_metadata_t *buffer) const { if (!mLocked) { if (!mLocked) { ALOGE("%s: Can't unlock a non-locked CameraMetadata!", __FUNCTION__); ALOGE("%s: Can't unlock a non-locked CameraMetadata!", __FUNCTION__); return INVALID_OPERATION; return INVALID_OPERATION; Loading camera/ndk/Android.mk +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ LOCAL_SHARED_LIBRARIES := \ libcamera_client \ libcamera_client \ libstagefright_foundation \ libstagefright_foundation \ libcutils \ libcutils \ libcamera_metadata LOCAL_CLANG := true LOCAL_CLANG := true Loading camera/ndk/NdkCameraMetadata.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,18 @@ camera_status_t ACameraMetadata_getConstEntry( return acm->getConstEntry(tag, entry); return acm->getConstEntry(tag, entry); } } EXPORT camera_status_t ACameraMetadata_getAllTags( const ACameraMetadata* acm, /*out*/int32_t* numTags, /*out*/const uint32_t** tags) { ATRACE_CALL(); if (acm == nullptr || numTags == nullptr || tags == nullptr) { ALOGE("%s: invalid argument! metadata %p, numTags %p, tags %p", __FUNCTION__, acm, numTags, tags); return ACAMERA_ERROR_INVALID_PARAMETER; } return acm->getTags(numTags, tags); } EXPORT EXPORT ACameraMetadata* ACameraMetadata_copy(const ACameraMetadata* src) { ACameraMetadata* ACameraMetadata_copy(const ACameraMetadata* src) { ATRACE_CALL(); ATRACE_CALL(); Loading camera/ndk/NdkCaptureRequest.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -87,6 +87,18 @@ camera_status_t ACaptureRequest_getConstEntry( return req->settings->getConstEntry(tag, entry); return req->settings->getConstEntry(tag, entry); } } EXPORT camera_status_t ACaptureRequest_getAllTags( const ACaptureRequest* req, /*out*/int32_t* numTags, /*out*/const uint32_t** tags) { ATRACE_CALL(); if (req == nullptr || numTags == nullptr || tags == nullptr) { ALOGE("%s: invalid argument! request %p, numTags %p, tags %p", __FUNCTION__, req, numTags, tags); return ACAMERA_ERROR_INVALID_PARAMETER; } return req->settings->getTags(numTags, tags); } #define SET_ENTRY(NAME,NDK_TYPE) \ #define SET_ENTRY(NAME,NDK_TYPE) \ EXPORT \ EXPORT \ camera_status_t ACaptureRequest_setEntry_##NAME( \ camera_status_t ACaptureRequest_setEntry_##NAME( \ Loading camera/ndk/impl/ACameraDevice.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -76,8 +76,8 @@ CameraDevice::CameraDevice( mHandler = new CallbackHandler(); mHandler = new CallbackHandler(); mCbLooper->registerHandler(mHandler); mCbLooper->registerHandler(mHandler); CameraMetadata metadata = mChars->mData; const CameraMetadata& metadata = mChars->getInternalData(); camera_metadata_entry entry = metadata.find(ANDROID_REQUEST_PARTIAL_RESULT_COUNT); camera_metadata_ro_entry entry = metadata.find(ANDROID_REQUEST_PARTIAL_RESULT_COUNT); if (entry.count != 1) { if (entry.count != 1) { ALOGW("%s: bad count %zu for partial result count", __FUNCTION__, entry.count); ALOGW("%s: bad count %zu for partial result count", __FUNCTION__, entry.count); mPartialResultCount = 1; mPartialResultCount = 1; Loading Loading @@ -279,7 +279,7 @@ CameraDevice::allocateCaptureRequest( const ACaptureRequest* request, /*out*/sp<CaptureRequest>& outReq) { const ACaptureRequest* request, /*out*/sp<CaptureRequest>& outReq) { camera_status_t ret; camera_status_t ret; sp<CaptureRequest> req(new CaptureRequest()); sp<CaptureRequest> req(new CaptureRequest()); req->mMetadata = request->settings->mData; req->mMetadata = request->settings->getInternalData(); req->mIsReprocess = false; // NDK does not support reprocessing yet req->mIsReprocess = false; // NDK does not support reprocessing yet for (auto outputTarget : request->targets->mOutputs) { for (auto outputTarget : request->targets->mOutputs) { Loading Loading
camera/CameraMetadata.cpp +1 −1 Original line number Original line Diff line number Diff line Loading @@ -79,7 +79,7 @@ const camera_metadata_t* CameraMetadata::getAndLock() const { return mBuffer; return mBuffer; } } status_t CameraMetadata::unlock(const camera_metadata_t *buffer) { status_t CameraMetadata::unlock(const camera_metadata_t *buffer) const { if (!mLocked) { if (!mLocked) { ALOGE("%s: Can't unlock a non-locked CameraMetadata!", __FUNCTION__); ALOGE("%s: Can't unlock a non-locked CameraMetadata!", __FUNCTION__); return INVALID_OPERATION; return INVALID_OPERATION; Loading
camera/ndk/Android.mk +1 −0 Original line number Original line Diff line number Diff line Loading @@ -49,6 +49,7 @@ LOCAL_SHARED_LIBRARIES := \ libcamera_client \ libcamera_client \ libstagefright_foundation \ libstagefright_foundation \ libcutils \ libcutils \ libcamera_metadata LOCAL_CLANG := true LOCAL_CLANG := true Loading
camera/ndk/NdkCameraMetadata.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -38,6 +38,18 @@ camera_status_t ACameraMetadata_getConstEntry( return acm->getConstEntry(tag, entry); return acm->getConstEntry(tag, entry); } } EXPORT camera_status_t ACameraMetadata_getAllTags( const ACameraMetadata* acm, /*out*/int32_t* numTags, /*out*/const uint32_t** tags) { ATRACE_CALL(); if (acm == nullptr || numTags == nullptr || tags == nullptr) { ALOGE("%s: invalid argument! metadata %p, numTags %p, tags %p", __FUNCTION__, acm, numTags, tags); return ACAMERA_ERROR_INVALID_PARAMETER; } return acm->getTags(numTags, tags); } EXPORT EXPORT ACameraMetadata* ACameraMetadata_copy(const ACameraMetadata* src) { ACameraMetadata* ACameraMetadata_copy(const ACameraMetadata* src) { ATRACE_CALL(); ATRACE_CALL(); Loading
camera/ndk/NdkCaptureRequest.cpp +12 −0 Original line number Original line Diff line number Diff line Loading @@ -87,6 +87,18 @@ camera_status_t ACaptureRequest_getConstEntry( return req->settings->getConstEntry(tag, entry); return req->settings->getConstEntry(tag, entry); } } EXPORT camera_status_t ACaptureRequest_getAllTags( const ACaptureRequest* req, /*out*/int32_t* numTags, /*out*/const uint32_t** tags) { ATRACE_CALL(); if (req == nullptr || numTags == nullptr || tags == nullptr) { ALOGE("%s: invalid argument! request %p, numTags %p, tags %p", __FUNCTION__, req, numTags, tags); return ACAMERA_ERROR_INVALID_PARAMETER; } return req->settings->getTags(numTags, tags); } #define SET_ENTRY(NAME,NDK_TYPE) \ #define SET_ENTRY(NAME,NDK_TYPE) \ EXPORT \ EXPORT \ camera_status_t ACaptureRequest_setEntry_##NAME( \ camera_status_t ACaptureRequest_setEntry_##NAME( \ Loading
camera/ndk/impl/ACameraDevice.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -76,8 +76,8 @@ CameraDevice::CameraDevice( mHandler = new CallbackHandler(); mHandler = new CallbackHandler(); mCbLooper->registerHandler(mHandler); mCbLooper->registerHandler(mHandler); CameraMetadata metadata = mChars->mData; const CameraMetadata& metadata = mChars->getInternalData(); camera_metadata_entry entry = metadata.find(ANDROID_REQUEST_PARTIAL_RESULT_COUNT); camera_metadata_ro_entry entry = metadata.find(ANDROID_REQUEST_PARTIAL_RESULT_COUNT); if (entry.count != 1) { if (entry.count != 1) { ALOGW("%s: bad count %zu for partial result count", __FUNCTION__, entry.count); ALOGW("%s: bad count %zu for partial result count", __FUNCTION__, entry.count); mPartialResultCount = 1; mPartialResultCount = 1; Loading Loading @@ -279,7 +279,7 @@ CameraDevice::allocateCaptureRequest( const ACaptureRequest* request, /*out*/sp<CaptureRequest>& outReq) { const ACaptureRequest* request, /*out*/sp<CaptureRequest>& outReq) { camera_status_t ret; camera_status_t ret; sp<CaptureRequest> req(new CaptureRequest()); sp<CaptureRequest> req(new CaptureRequest()); req->mMetadata = request->settings->mData; req->mMetadata = request->settings->getInternalData(); req->mIsReprocess = false; // NDK does not support reprocessing yet req->mIsReprocess = false; // NDK does not support reprocessing yet for (auto outputTarget : request->targets->mOutputs) { for (auto outputTarget : request->targets->mOutputs) { Loading