modules: camera: dump device and stream state
Change-Id: Iae3badba71f13784dfdd65d6e77b20283437935a
diff --git a/modules/camera/Camera.cpp b/modules/camera/Camera.cpp
index 4e9c18d..c7ca64a 100644
--- a/modules/camera/Camera.cpp
+++ b/modules/camera/Camera.cpp
@@ -16,6 +16,7 @@
#include <cstdlib>
#include <pthread.h>
+#include <stdio.h>
#include <hardware/camera3.h>
#include <sync/sync.h>
#include <system/camera_metadata.h>
@@ -491,7 +492,21 @@
void Camera::dump(int fd)
{
ALOGV("%s:%d: Dumping to fd %d", __func__, mId, fd);
- // TODO: dprintf all relevant state to fd
+
+ pthread_mutex_lock(&mMutex);
+
+ fdprintf(fd, "Camera ID: %d (Busy: %d)\n", mId, mBusy);
+
+ // TODO: dump all settings
+ fdprintf(fd, "Most Recent Settings: (%p)\n", mSettings);
+
+ fdprintf(fd, "Number of streams: %d\n", mNumStreams);
+ for (int i = 0; i < mNumStreams; i++) {
+ fdprintf(fd, "Stream %d/%d:\n", i, mNumStreams);
+ mStreams[i]->dump(fd);
+ }
+
+ pthread_mutex_unlock(&mMutex);
}
void Camera::setTemplate(int type, camera_metadata_t *settings)