tizen 2.3.1 release
[framework/multimedia/gst-plugins-base0.10.git] / gst-libs / gst / interfaces / cameracontrol.h
index f5ec544..d4780c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * GStreamer Camera Control Interface
  *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ * Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd.
  *
  * Contact: Jeongmo Yang <jm80.yang@samsung.com>
  *
@@ -154,7 +154,15 @@ typedef enum
        GST_CAMERA_CONTROL_CAPTURE_COMMAND_STOP_MULTISHOT,
 } GstCameraControlCaptureCommand;
 
-
+/**
+ * Enumerations for Camera record command.
+ */
+typedef enum
+{
+        GST_CAMERA_CONTROL_RECORD_COMMAND_NONE,
+        GST_CAMERA_CONTROL_RECORD_COMMAND_START,
+        GST_CAMERA_CONTROL_RECORD_COMMAND_STOP,
+} GstCameraControlRecordCommand;
 
 /////////////////////////////////
 //  For Query functionalities  //
@@ -356,6 +364,7 @@ typedef struct _GstCameraControlExifInfo {
        gint exif_image_height;
        gint exposure_bias_in_APEX;         /* Exposure bias in APEX standard */
        gint software_used;                 /* Firmware S/W version */
+       unsigned char *p_embedded_data;     /* Pointer for embedded data */
 
        /* Fixed value */
        gint component_configuration;       /* color components arrangement */
@@ -376,8 +385,8 @@ typedef struct _GstCameraControlClass {
        /* virtual functions */
        const GList*(*list_channels)                   (GstCameraControl *control);
 
-       gboolean        (*set_value)                   (GstCameraControl *control, GstCameraControlChannel *control_channel);
-       gboolean        (*get_value)                   (GstCameraControl *control, GstCameraControlChannel *control_channel);
+       gboolean        (*set_value)                   (GstCameraControl *control, GstCameraControlChannel *control_channel, gint value);
+       gboolean        (*get_value)                   (GstCameraControl *control, GstCameraControlChannel *control_channel, gint *value);
        gboolean        (*set_exposure)                (GstCameraControl *control, gint type, gint value1, gint value2);
        gboolean        (*get_exposure)                (GstCameraControl *control, gint type, gint *value1, gint *value2);
        gboolean        (*set_capture_mode)            (GstCameraControl *control, gint type, gint value);
@@ -407,8 +416,13 @@ typedef struct _GstCameraControlClass {
        gboolean        (*get_misc_dev_info)           (GstCameraControl *control, gint dev_id, GstCameraControlCtrlListInfoType *info);
        gboolean        (*get_extra_dev_info)          (GstCameraControl *control, gint dev_id, GstCameraControlExtraInfoType *info);
        void            (*set_capture_command)         (GstCameraControl *control, GstCameraControlCaptureCommand cmd);
+       void            (*set_record_command)          (GstCameraControl *control, GstCameraControlRecordCommand cmd);
        gboolean        (*start_face_zoom)             (GstCameraControl *control, gint x, gint y, gint zoom_level);
        gboolean        (*stop_face_zoom)              (GstCameraControl *control);
+       gboolean        (*set_ae_lock)                 (GstCameraControl *control, gboolean lock);
+       gboolean        (*get_ae_lock)                 (GstCameraControl *control, gboolean *lock);
+       gboolean        (*set_awb_lock)                (GstCameraControl *control, gboolean lock);
+       gboolean        (*get_awb_lock)                (GstCameraControl *control, gboolean *lock);
 
        /* signals */
        void (* value_changed)                          (GstCameraControl *control, GstCameraControlChannel *channel, gint value);
@@ -419,8 +433,8 @@ GType gst_camera_control_get_type(void);
 /* virtual class function wrappers */
 const GList*   gst_camera_control_list_channels        (GstCameraControl *control);
 
-gboolean       gst_camera_control_set_value            (GstCameraControl *control, GstCameraControlChannel *control_channel);
-gboolean       gst_camera_control_get_value            (GstCameraControl *control, GstCameraControlChannel *control_channel);
+gboolean       gst_camera_control_set_value            (GstCameraControl *control, GstCameraControlChannel *control_channel, gint value);
+gboolean       gst_camera_control_get_value            (GstCameraControl *control, GstCameraControlChannel *control_channel, gint *value);
 gboolean       gst_camera_control_set_exposure         (GstCameraControl *control, gint type, gint value1, gint value2);
 gboolean       gst_camera_control_get_exposure         (GstCameraControl *control, gint type, gint *value1, gint *value2);
 gboolean       gst_camera_control_set_capture_mode     (GstCameraControl *control, gint type, gint value);
@@ -450,8 +464,13 @@ gboolean   gst_camera_control_get_basic_dev_info   (GstCameraControl *control, gin
 gboolean       gst_camera_control_get_misc_dev_info    (GstCameraControl *control, gint dev_id, GstCameraControlCtrlListInfoType *info);
 gboolean       gst_camera_control_get_extra_dev_info   (GstCameraControl *control, gint dev_id, GstCameraControlExtraInfoType *info);
 void           gst_camera_control_set_capture_command  (GstCameraControl *control, GstCameraControlCaptureCommand cmd);
+void            gst_camera_control_set_record_command   (GstCameraControl *control, GstCameraControlRecordCommand cmd);
 gboolean       gst_camera_control_start_face_zoom      (GstCameraControl *control, gint x, gint y, gint zoom_level);
 gboolean       gst_camera_control_stop_face_zoom       (GstCameraControl *control);
+gboolean       gst_camera_control_set_ae_lock          (GstCameraControl *control, gboolean lock);
+gboolean       gst_camera_control_get_ae_lock          (GstCameraControl *control, gboolean *lock);
+gboolean       gst_camera_control_set_awb_lock         (GstCameraControl *control, gboolean lock);
+gboolean       gst_camera_control_get_awb_lock         (GstCameraControl *control, gboolean *lock);
 
 
 /* trigger signal */