summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera2Device.h
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2012-06-14 10:49:45 -0700
committerEino-Ville Talvala <etalvala@google.com>2012-06-14 11:49:26 -0700
commit3297daae9681004775012faba9181d65e097e00c (patch)
tree9c99905de0aae2a0f8f6a4be0e65971929ca0ba5 /services/camera/libcameraservice/Camera2Device.h
parent886e589546b71aad51e9260105d7752ce78ca942 (diff)
downloadframeworks_av-3297daae9681004775012faba9181d65e097e00c.zip
frameworks_av-3297daae9681004775012faba9181d65e097e00c.tar.gz
frameworks_av-3297daae9681004775012faba9181d65e097e00c.tar.bz2
Camera2: Add more dump information, connect HAL device dump
Bug: 6243944 Change-Id: I79a302f68786d815b9ab9984dbb31d237522416b
Diffstat (limited to 'services/camera/libcameraservice/Camera2Device.h')
-rw-r--r--services/camera/libcameraservice/Camera2Device.h28
1 files changed, 23 insertions, 5 deletions
diff --git a/services/camera/libcameraservice/Camera2Device.h b/services/camera/libcameraservice/Camera2Device.h
index 7071561..569c882 100644
--- a/services/camera/libcameraservice/Camera2Device.h
+++ b/services/camera/libcameraservice/Camera2Device.h
@@ -17,12 +17,15 @@
#ifndef ANDROID_SERVERS_CAMERA_CAMERA2DEVICE_H
#define ANDROID_SERVERS_CAMERA_CAMERA2DEVICE_H
-#include <utils/RefBase.h>
-#include <utils/List.h>
-#include <utils/Vector.h>
-#include <utils/Mutex.h>
#include <utils/Condition.h>
#include <utils/Errors.h>
+#include <utils/List.h>
+#include <utils/Mutex.h>
+#include <utils/RefBase.h>
+#include <utils/String8.h>
+#include <utils/String16.h>
+#include <utils/Vector.h>
+
#include "hardware/camera2.h"
namespace android {
@@ -35,6 +38,11 @@ class Camera2Device : public virtual RefBase {
status_t initialize(camera_module_t *module);
+ status_t dump(int fd, const Vector<String16>& args);
+
+ /**
+ * Get a pointer to the device's static characteristics metadata buffer
+ */
camera_metadata_t* info();
/**
@@ -133,6 +141,8 @@ class Camera2Device : public virtual RefBase {
status_t setStreamSlot(camera_metadata_t *buf);
status_t setStreamSlot(const List<camera_metadata_t*> &bufs);
+ status_t dump(int fd, const Vector<String16>& args);
+
private:
status_t signalConsumerLocked();
status_t freeBuffers(List<camera_metadata_t*>::iterator start,
@@ -213,6 +223,9 @@ class Camera2Device : public virtual RefBase {
uint32_t getHeight() const { return mHeight; }
uint32_t getFormat() const { return mFormat; }
+ // Dump stream information
+ status_t dump(int fd, const Vector<String16>& args);
+
private:
enum {
ERROR = -1,
@@ -233,9 +246,14 @@ class Camera2Device : public virtual RefBase {
uint32_t mUsage;
uint32_t mMaxProducerBuffers;
uint32_t mMaxConsumerBuffers;
-
+ uint32_t mTotalBuffers;
int mFormatRequested;
+ /** Debugging information */
+ uint32_t mActiveBuffers;
+ uint32_t mFrameCount;
+ int64_t mLastTimestamp;
+
const camera2_stream_ops *getStreamOps();
static ANativeWindow* toANW(const camera2_stream_ops_t *w);