summaryrefslogtreecommitdiff
path: root/include/ui/CameraHardwareInterface.h
diff options
context:
space:
mode:
author Jean-Baptiste Queru <jbq@google.com> 2009-03-18 11:33:14 -0700
committer Jean-Baptiste Queru <jbq@google.com> 2009-03-18 11:33:14 -0700
commit2a73de7b21a89aa2ba4c254d28658b49793425b2 (patch)
treeded5bcd581464b4174d81c373044b6d36eee58d2 /include/ui/CameraHardwareInterface.h
parent42e48026b21a962e5bf40344d738665ecbd9d74d (diff)
parentba87e3e6c985e7175152993b5efcc7dd2f0e1c93 (diff)
Merge commit 'remotes/korg/cupcake' into merge
Conflicts: core/java/android/view/animation/TranslateAnimation.java core/jni/Android.mk core/res/res/values-en-rGB/strings.xml libs/audioflinger/AudioFlinger.cpp libs/surfaceflinger/LayerScreenshot.cpp packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
Diffstat (limited to 'include/ui/CameraHardwareInterface.h')
-rw-r--r--include/ui/CameraHardwareInterface.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/include/ui/CameraHardwareInterface.h b/include/ui/CameraHardwareInterface.h
index 2bd53dde32e0..73036f0fa783 100644
--- a/include/ui/CameraHardwareInterface.h
+++ b/include/ui/CameraHardwareInterface.h
@@ -20,12 +20,16 @@
#include <utils/IMemory.h>
#include <utils/RefBase.h>
#include <ui/CameraParameters.h>
+#include <ui/Overlay.h>
namespace android {
/** Callback for startPreview() */
typedef void (*preview_callback)(const sp<IMemory>& mem, void* user);
+/** Callback for startRecord() */
+typedef void (*recording_callback)(const sp<IMemory>& mem, void* user);
+
/** Callback for takePicture() */
typedef void (*shutter_callback)(void* user);
@@ -83,12 +87,20 @@ public:
/** Return the IMemoryHeap for the preview image heap */
virtual sp<IMemoryHeap> getPreviewHeap() const = 0;
+ /** Return the IMemoryHeap for the raw image heap */
+ virtual sp<IMemoryHeap> getRawHeap() const = 0;
+
/**
* Start preview mode. When a preview image is available
* preview_callback is called with the user parameter. The
* call back parameter may be null.
*/
virtual status_t startPreview(preview_callback cb, void* user) = 0;
+ /**
+ * Only used if overlays are used for camera preview.
+ */
+ virtual bool useOverlay() {return false;}
+ virtual status_t setOverlay(const sp<Overlay> &overlay) {return BAD_VALUE;}
/**
* Stop a previously started preview.
@@ -101,6 +113,29 @@ public:
virtual bool previewEnabled() = 0;
/**
+ * Start record mode. When a record image is available recording_callback()
+ * is called with the user parameter. Every record frame must be released
+ * by calling releaseRecordingFrame().
+ */
+ virtual status_t startRecording(recording_callback cb, void* user) = 0;
+
+ /**
+ * Stop a previously started recording.
+ */
+ virtual void stopRecording() = 0;
+
+ /**
+ * Returns true if recording is enabled.
+ */
+ virtual bool recordingEnabled() = 0;
+
+ /**
+ * Release a record frame previously returned by the recording_callback()
+ * passed to startRecord().
+ */
+ virtual void releaseRecordingFrame(const sp<IMemory>& mem) = 0;
+
+ /**
* Start auto focus, the callback routine is called
* once when focusing is complete. autoFocus() will
* be called again if another auto focus is needed.