diff options
author | Vishal Bhoj <vishal.bhoj@linaro.org> | 2012-01-31 22:13:09 +0530 |
---|---|---|
committer | Vishal Bhoj <vishal.bhoj@linaro.org> | 2012-01-31 22:16:05 +0530 |
commit | 1ad0e928edf6f046572b3f32eb5ee23d8d7f3f79 (patch) | |
tree | 5c4a1c48e7f64ddccbe801a6ba3d16d69e7464ea /libcamera/CameraHardware.h | |
parent | 120c22ceb513ca37685854e467fb4cb482840d1c (diff) | |
download | common-1ad0e928edf6f046572b3f32eb5ee23d8d7f3f79.tar.gz |
camera: Initial changes for ICS supportlinaro_android_4.0.3
Preview,Image capture and apps like
skype, linphone, hangouts are working.
Recording fails.
Change-Id: I4587c31014e40b87146a2cafb294cc33e532a26f
Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
Diffstat (limited to 'libcamera/CameraHardware.h')
-rw-r--r-- | libcamera/CameraHardware.h | 56 |
1 files changed, 42 insertions, 14 deletions
diff --git a/libcamera/CameraHardware.h b/libcamera/CameraHardware.h index 7491cce..b523668 100644 --- a/libcamera/CameraHardware.h +++ b/libcamera/CameraHardware.h @@ -22,31 +22,60 @@ #define ANDROID_HARDWARE_CAMERA_HARDWARE_H #include <utils/threads.h> -#include <camera/CameraHardwareInterface.h> #include <binder/MemoryBase.h> #include <binder/MemoryHeapBase.h> #include <utils/threads.h> +#include <utils/threads.h> +#include <stdio.h> +#include <stdarg.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <time.h> +#include <fcntl.h> +#include <sys/ioctl.h> +#include <sys/mman.h> +#include <sys/stat.h> +#include <utils/Log.h> +#include <utils/threads.h> +#include <linux/videodev2.h> +#include "binder/MemoryBase.h" +#include "binder/MemoryHeapBase.h" +#include <utils/threads.h> +#include <camera/CameraParameters.h> +#include <hardware/camera.h> +#include <sys/ioctl.h> +#include <utils/threads.h> +#include <binder/MemoryBase.h> +#include <binder/MemoryHeapBase.h> +#include <utils/threads.h> +#include "V4L2Camera.h" + +#include <hardware/camera.h> + #include <sys/ioctl.h> #include "V4L2Camera.h" namespace android { -class CameraHardware : public CameraHardwareInterface { +class CameraHardware { public: virtual sp<IMemoryHeap> getPreviewHeap() const; virtual sp<IMemoryHeap> getRawHeap() const; virtual status_t startPreview(); - virtual void setCallbacks(notify_callback notify_cb, - data_callback data_cb, - data_callback_timestamp data_cb_timestamp, + virtual void setCallbacks(camera_notify_callback notify_cb, + camera_data_callback data_cb, + camera_data_timestamp_callback data_cb_timestamp, + camera_request_memory get_memory, void* arg); /** * Enable a message, or set of messages. */ virtual void enableMsgType(int32_t msgType); + virtual int setPreviewWindow( struct preview_stream_ops *window); /** * Disable a message, or a set of messages. */ @@ -65,7 +94,7 @@ public: virtual status_t startRecording(); virtual void stopRecording(); virtual bool recordingEnabled(); - virtual void releaseRecordingFrame(const sp<IMemory>& mem); + virtual void releaseRecordingFrame(const void* opaque); virtual status_t autoFocus(); virtual status_t cancelAutoFocus(); @@ -76,14 +105,12 @@ public: virtual CameraParameters getParameters() const; virtual void release(); virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2); + CameraHardware(int cameraId); - static sp<CameraHardwareInterface> createInstance(int cameraId); + virtual ~CameraHardware(); private: - CameraHardware(int cameraId); - virtual ~CameraHardware(); - static wp<CameraHardwareInterface> singleton; static const int kBufferCount = 4; @@ -112,8 +139,9 @@ private: static int beginPictureThread(void *cookie); int pictureThread(); - + camera_request_memory mRequestMemory; mutable Mutex mLock; + preview_stream_ops_t* mNativeWindow; int mCameraId; CameraParameters mParameters; @@ -143,9 +171,9 @@ private: int nQueued; int nDequeued; V4L2Camera camera; - notify_callback mNotifyFn; - data_callback mDataFn; - data_callback_timestamp mTimestampFn; + camera_notify_callback mNotifyFn; + camera_data_callback mDataFn; + camera_data_timestamp_callback mTimestampFn; void* mUser; int32_t mMsgEnabled; |