Camera: BufferManager: Don't attach/detach on every frame
- Maintain separate count of attached buffers
- Only attach when new buffers need to be allocated
- Only detach when a buffer needs to be freed
- Fix missing notification initializations
- Remove warning that's always logged
Bug: 28695173
Change-Id: I38e997fa1e69c2b8743e43eed31a6a08a6f9cd7a
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index cd60ab5..96f9338 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -2670,6 +2670,7 @@
mParent(parent),
mStatusTracker(statusTracker),
mHal3Device(hal3Device),
+ mListener(nullptr),
mId(getId(parent)),
mReconfigured(false),
mDoPause(false),
@@ -3727,7 +3728,8 @@
*/
Camera3Device::PreparerThread::PreparerThread() :
- Thread(/*canCallJava*/false), mActive(false), mCancelNow(false) {
+ Thread(/*canCallJava*/false), mListener(nullptr),
+ mActive(false), mCancelNow(false) {
}
Camera3Device::PreparerThread::~PreparerThread() {