增加日志和销毁mImageReader前释放资源

streaming
XI.CHEN 4 months ago
parent 79aa0134a5
commit dc448adc34

@ -32,6 +32,7 @@
#ifdef _DEBUG #ifdef _DEBUG
void Auto_AImage_delete(AImage* image) void Auto_AImage_delete(AImage* image)
{ {
XYLOG(XYLOG_SEVERITY_DEBUG,"delete image");
AImage_delete(image); AImage_delete(image);
} }
#else #else
@ -1053,7 +1054,6 @@ void NdkCamera::close()
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str()); //XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str());
AImageReader_delete(mPreviewImageReader); AImageReader_delete(mPreviewImageReader);
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str()); //XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str());
mPreviewImageReader = 0; mPreviewImageReader = 0;
} }
@ -1071,9 +1071,17 @@ void NdkCamera::close()
if (mImageReader != NULL) if (mImageReader != NULL)
{ {
AImage* image = NULL;
int32_t status;
while ((status = AImageReader_acquireNextImage(mImageReader, &image)) == AMEDIA_OK) {
AImage_delete(image);
image = NULL;
}
AImageReader_setImageListener(mImageReader, NULL); AImageReader_setImageListener(mImageReader, NULL);
XYLOG(XYLOG_SEVERITY_DEBUG, "clear mImageReader Listener");
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str()); //XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::AImageReader_delete %s", mCameraId.c_str());
AImageReader_delete(mImageReader); AImageReader_delete(mImageReader);
XYLOG(XYLOG_SEVERITY_DEBUG, "delete mImageReader");
//XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str()); //XYLOG(XYLOG_SEVERITY_DEBUG, "CameraStatus::End AImageReader_delete %s", mCameraId.c_str());
mImageReader = 0; mImageReader = 0;
} }
@ -1325,6 +1333,7 @@ void NdkCamera::onImageAvailable(AImageReader* reader)
m_photoTaken = true; m_photoTaken = true;
m_locker.lock(); m_locker.lock();
XYLOG(XYLOG_SEVERITY_DEBUG,"push image");
mCaptureFrames.push_back(std::shared_ptr<AImage>(image, Auto_AImage_delete)); mCaptureFrames.push_back(std::shared_ptr<AImage>(image, Auto_AImage_delete));
m_locker.unlock(); m_locker.unlock();

Loading…
Cancel
Save