summaryrefslogtreecommitdiffstats
path: root/camera/inc/ANativeWindowDisplayAdapter.h
diff options
context:
space:
mode:
Diffstat (limited to 'camera/inc/ANativeWindowDisplayAdapter.h')
-rw-r--r--camera/inc/ANativeWindowDisplayAdapter.h47
1 files changed, 24 insertions, 23 deletions
diff --git a/camera/inc/ANativeWindowDisplayAdapter.h b/camera/inc/ANativeWindowDisplayAdapter.h
index 9cdf45a..560e98d 100644
--- a/camera/inc/ANativeWindowDisplayAdapter.h
+++ b/camera/inc/ANativeWindowDisplayAdapter.h
@@ -20,10 +20,8 @@
#include <ui/GraphicBufferMapper.h>
#include <hal_public.h>
-//temporarily define format here
-#define HAL_PIXEL_FORMAT_TI_NV12 0x100
-
-namespace android {
+namespace Ti {
+namespace Camera {
/**
* Display handler class - This class basically handles the buffer posting to display
@@ -35,7 +33,7 @@ public:
typedef struct
{
- void *mBuffer;
+ CameraBuffer *mBuffer;
void *mUser;
int mOffset;
int mWidth;
@@ -65,7 +63,7 @@ public:
virtual int setPreviewWindow(struct preview_stream_ops *window);
virtual int setFrameProvider(FrameNotifier *frameProvider);
virtual int setErrorHandler(ErrorNotifier *errorNotifier);
- virtual int enableDisplay(int width, int height, struct timeval *refTime = NULL, S3DParameters *s3dParams = NULL);
+ virtual int enableDisplay(int width, int height, struct timeval *refTime = NULL);
virtual int disableDisplay(bool cancel_buffer = true);
virtual status_t pauseDisplay(bool pause);
@@ -76,16 +74,17 @@ public:
#endif
- virtual int useBuffers(void* bufArr, int num);
virtual bool supportsExternalBuffering();
//Implementation of inherited interfaces
- virtual void* allocateBuffer(int width, int height, const char* format, int &bytes, int numBufs);
+ virtual CameraBuffer * allocateBufferList(int width, int height, const char* format, int &bytes, int numBufs);
+ virtual CameraBuffer *getBufferList(int *numBufs);
virtual uint32_t * getOffsets() ;
virtual int getFd() ;
- virtual int freeBuffer(void* buf);
+ virtual int freeBufferList(CameraBuffer * buflist);
- virtual int maxQueueableBuffers(unsigned int& queueable);
+ virtual status_t maxQueueableBuffers(unsigned int& queueable);
+ virtual status_t minUndequeueableBuffers(int& unqueueable);
///Class specific functions
static void frameCallbackRelay(CameraFrame* caFrame);
@@ -105,17 +104,17 @@ public:
static const int DISPLAY_TIMEOUT;
static const int FAILED_DQS_TO_SUSPEND;
- class DisplayThread : public Thread
+ class DisplayThread : public android::Thread
{
ANativeWindowDisplayAdapter* mDisplayAdapter;
- TIUTILS::MessageQueue mDisplayThreadQ;
+ Utils::MessageQueue mDisplayThreadQ;
public:
DisplayThread(ANativeWindowDisplayAdapter* da)
: Thread(false), mDisplayAdapter(da) { }
///Returns a reference to the display message Q for display adapter to post messages
- TIUTILS::MessageQueue& msgQ()
+ Utils::MessageQueue& msgQ()
{
return mDisplayThreadQ;
}
@@ -147,20 +146,22 @@ private:
int mFailedDQs;
bool mPaused; //Pause state
preview_stream_ops_t* mANativeWindow;
- sp<DisplayThread> mDisplayThread;
+ android::sp<DisplayThread> mDisplayThread;
FrameProvider *mFrameProvider; ///Pointer to the frame provider interface
- TIUTILS::MessageQueue mDisplayQ;
+ Utils::MessageQueue mDisplayQ;
unsigned int mDisplayState;
///@todo Have a common class for these members
- mutable Mutex mLock;
+ mutable android::Mutex mLock;
bool mDisplayEnabled;
int mBufferCount;
- buffer_handle_t** mBufferHandleMap;
- IMG_native_handle_t** mGrallocHandleMap;
- uint32_t* mOffsetsMap;
+ CameraBuffer *mBuffers;
+ //buffer_handle_t** mBufferHandleMap; // -> frames[i].BufferHandle
+ //IMG_native_handle_t** mGrallocHandleMap; // -> frames[i].GrallocHandle
+ uint32_t* mOffsetsMap; // -> frames[i].Offset
int mFD;
- KeyedVector<int, int> mFramesWithCameraAdapterMap;
- sp<ErrorNotifier> mErrorNotifier;
+ android::KeyedVector<buffer_handle_t *, int> mFramesWithCameraAdapterMap;
+ android::KeyedVector<int, int> mFramesType;
+ android::sp<ErrorNotifier> mErrorNotifier;
uint32_t mFrameWidth;
uint32_t mFrameHeight;
@@ -184,5 +185,5 @@ private:
};
-};
-
+} // namespace Camera
+} // namespace Ti