libcamera2ndk_vendor: stop looper thread on ~ACameraDevice()

Bug: 135641415

Test: enroll; while(1) auth;

Change-Id: I59c522a0e8827c5990926f0cf7c7960e1cea2e5e
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
gugelfrei
Jayant Chowdhary 5 years ago
parent 3bd9e0e1a1
commit b233eaef6a

@ -44,6 +44,16 @@
using namespace android;
ACameraDevice::~ACameraDevice() {
Mutex::Autolock _l(mDevice->mDeviceLock);
if (mDevice->mCbLooper != nullptr) {
mDevice->mCbLooper->unregisterHandler(mDevice->mHandler->id());
mDevice->mCbLooper->stop();
}
mDevice->mCbLooper.clear();
mDevice->mHandler.clear();
}
namespace android {
namespace acam {

@ -135,6 +135,7 @@ class CameraDevice final : public RefBase {
private:
friend ACameraCaptureSession;
friend ACameraDevice;
camera_status_t checkCameraClosedOrErrorLocked() const;
@ -383,8 +384,7 @@ struct ACameraDevice {
sp<ACameraMetadata> chars) :
mDevice(new android::acam::CameraDevice(id, cb, std::move(chars), this)) {}
~ACameraDevice() {};
~ACameraDevice();
/*******************
* NDK public APIs *
*******************/

Loading…
Cancel
Save