Camera2: Add support for preview callbacks
- Move camera overall state enum to be part of parameters
- No longer use ICameraLock to guard access to overall state enum
- Add callback flag management
- Add callback stream and management
Bug: 6243944
Change-Id: Ideb3dc523a23c05e440e429ebf838b1900a96573
diff --git a/services/camera/libcameraservice/MediaConsumer.cpp b/services/camera/libcameraservice/MediaConsumer.cpp
index 0d857cf..a5fe302 100644
--- a/services/camera/libcameraservice/MediaConsumer.cpp
+++ b/services/camera/libcameraservice/MediaConsumer.cpp
@@ -81,6 +81,7 @@
if (!buffer) return BAD_VALUE;
if (mCurrentLockedBuffers == mMaxLockedBuffers) {
+ MC_LOGV("Too many buffers (max %d)", mCurrentLockedBuffers);
return INVALID_OPERATION;
}
@@ -91,6 +92,7 @@
err = mBufferQueue->acquireBuffer(&b);
if (err != OK) {
if (err == BufferQueue::NO_BUFFER_AVAILABLE) {
+ MC_LOGV("No buffer available");
return BAD_VALUE;
} else {
MC_LOGE("Error acquiring buffer: %s (%d)", strerror(err), err);
@@ -117,7 +119,7 @@
*timestamp = b.mTimestamp;
mCurrentLockedBuffers++;
-
+ MC_LOGV("getNextBuffer: %d buffers in use", mCurrentLockedBuffers);
return OK;
}
@@ -143,8 +145,8 @@
buf);
return err;
}
-
mCurrentLockedBuffers--;
+ MC_LOGV("freeBuffer: %d buffers in use", mCurrentLockedBuffers);
return OK;
}