Add new attribute to get gdbus connection from outside and etc.
[platform/core/multimedia/libmm-camcorder.git] / src / include / mm_camcorder.h
index 15b6911..787be2d 100644 (file)
@@ -43,7 +43,7 @@
 
        @par
        Recording state and paused state exists when the mode of camcorder is
-       video-capture or audio-capture mode. In case of image-capture mode, CAPTURING state will 
+       video-capture or audio-capture mode. In case of image-capture mode, CAPTURING state will
        exsit.
 
        @par
                <td><center><b>Attribute</b></center></td>
                <td><center><b>Description</b></center></td>
        </tr>
-       <tr>
+       <tr>
                <td>#MMCAM_MODE</td>
                <td>Mode of camcorder ( still/video/audio )</td>
        </tr>
                <td><center><b>Attribute</b></center></td>
                <td><center><b>Description</b></center></td>
        </tr>
-       <tr>
+       <tr>
                <td>#MMCAM_AUDIO_ENCODER_BITRATE</td>
                <td>Bitrate of Audio Encoder</td>
        </tr>
                <td><center><b>Attribute</b></center></td>
                <td><center><b>Description</b></center></td>
        </tr>
-       <tr>
+       <tr>
                <td>#MMCAM_IMAGE_ENCODER_QUALITY</td>
                <td>Encoding quality of Image codec</td>
        </tr>
                <td><center><b>Attribute</b></center></td>
                <td><center><b>Description</b></center></td>
        </tr>
-       <tr>
+       <tr>
                <td>#MMCAM_AUDIO_VOLUME</td>
                <td>Input volume of audio source ( double value )</td>
        </tr>
@@ -621,7 +621,7 @@ extern "C" {
 /**
  * Set fraction value. Definition for fraction setting, such as MMCAM_CAMERA_SHUTTER_SPEED and MMCAM_CAMERA_EXPOSURE_VALUE.
  */
-#define MM_CAMCORDER_SET_FRACTION(numerator,denominator)       ((int)((((int)(numerator)) << 16) | (int)(denominator)))
+#define MM_CAMCORDER_SET_FRACTION(numerator, denominator)      ((int)((((int)(numerator)) << 16) | (int)(denominator)))
 
 /* Attributes Macros */
 /**
@@ -1253,11 +1253,47 @@ extern "C" {
 #define MMCAM_ENCODED_PREVIEW_GOP_INTERVAL      "encoded-preview-gop-interval"
 
 /**
+ * The distance to move the camera horizontally and physically
+ */
+#define MMCAM_CAMERA_PAN_MECHA                  "camera-pan-mecha"
+
+/**
+ * The distance to move the camera horizontally
+ */
+#define MMCAM_CAMERA_PAN_ELEC                   "camera-pan-elec"
+
+/**
+ * The distance to move the camera vertically and physically
+ */
+#define MMCAM_CAMERA_TILT_MECHA                 "camera-tilt-mecha"
+
+/**
+ * The distance to move the camera vertically
+ */
+#define MMCAM_CAMERA_TILT_ELEC                  "camera-tilt-elec"
+
+/**
+ * The type of PTZ(Pan Tilt Zoom). Mechanical or Electonic PTZ.
+ */
+#define MMCAM_CAMERA_PTZ_TYPE                   "camera-ptz-type"
+
+/**
  * Stream type and index for sound route
  */
 #define MMCAM_SOUND_STREAM_TYPE                 "sound-stream-type"
 #define MMCAM_SOUND_STREAM_INDEX                "sound-stream-index"
 
+/**
+ * The display reuse flag and sink element pointer
+ */
+#define MMCAM_DISPLAY_REUSE_HINT                "display-reuse-hint"
+#define MMCAM_DISPLAY_REUSE_ELEMENT             "display-reuse-element"
+
+/**
+ * The GBbus connection from outside
+ */
+#define MMCAM_GDBUS_CONNECTION                  "gdbus-connection"
+
 /*=======================================================================================
 | ENUM DEFINITIONS                                                                     |
 ========================================================================================*/
@@ -1295,8 +1331,7 @@ typedef enum {
 /**
  * An enumeration of Audio Format.
  */
-typedef enum
-{
+typedef enum {
        MM_CAMCORDER_AUDIO_FORMAT_PCM_U8 = 0,           /**< unsigned 8bit audio */
        MM_CAMCORDER_AUDIO_FORMAT_PCM_S16_LE = 2,       /**< signed 16bit audio. Little endian. */
 } MMCamcorderAudioFormat;
@@ -1512,7 +1547,7 @@ enum MMCamcorderGeometryMethod {
  * An enumeration for orientation values of tag .
  */
 enum MMCamcorderTagOrientation {
-       MM_CAMCORDER_TAG_ORT_NONE =0,           /**< No Orientation.*/
+       MM_CAMCORDER_TAG_ORT_NONE = 0,          /**< No Orientation.*/
        MM_CAMCORDER_TAG_ORT_0R_VT_0C_VL,       /**< The 0th row is at the visual top of the image, and the 0th column is the visual left-hand side.*/
        MM_CAMCORDER_TAG_ORT_0R_VT_0C_VR,       /**< The 0th row is at the visual top of the image, and the 0th column is the visual right-hand side.*/
        MM_CAMCORDER_TAG_ORT_0R_VB_0C_VR,       /**< The 0th row is at the visual bottom of the image, and the 0th column is the visual right-hand side.*/
@@ -1527,7 +1562,7 @@ enum MMCamcorderTagOrientation {
  * An enumeration for captured video orientation values of tag .
  */
 enum MMCamcorderTagVideoOrientation {
-       MM_CAMCORDER_TAG_VIDEO_ORT_NONE =0,     /**< No Orientation.*/
+       MM_CAMCORDER_TAG_VIDEO_ORT_NONE = 0,    /**< No Orientation.*/
        MM_CAMCORDER_TAG_VIDEO_ORT_90,          /**< 90 degree */
        MM_CAMCORDER_TAG_VIDEO_ORT_180, /**< 180 degree */
        MM_CAMCORDER_TAG_VIDEO_ORT_270, /**< 270 degree */
@@ -1585,13 +1620,13 @@ enum MMCamcorderPreviewType {
 /**
  * An enumeration for attribute values types.
  */
-typedef enum{
+typedef enum {
        MM_CAM_ATTRS_TYPE_INVALID = -1,         /**< Type is invalid */
        MM_CAM_ATTRS_TYPE_INT,                  /**< Integer type attribute */
        MM_CAM_ATTRS_TYPE_DOUBLE,               /**< Double type attribute */
        MM_CAM_ATTRS_TYPE_STRING,               /**< UTF-8 String type attribute */
        MM_CAM_ATTRS_TYPE_DATA,                 /**< Pointer type attribute */
-}MMCamAttrsType;
+} MMCamAttrsType;
 
 
 /**
@@ -1798,7 +1833,6 @@ typedef struct _MMCamFaceDetectInfo {
        MMCamFaceInfo *face_info;               /**< face information, this should be freed after use it. */
 } MMCamFaceDetectInfo;
 
-#ifdef HAVE_WAYLAND
 /**
  * Wayland information
  */
@@ -1810,7 +1844,7 @@ typedef struct _MMCamWaylandInfo {
        int window_height;
        void *evas_obj;
 } MMCamWaylandInfo;
-#endif /* HAVE_WAYLAND */
+
 
 /*=======================================================================================
 | TYPE DEFINITIONS                                                                     |
@@ -1921,7 +1955,7 @@ int mm_camcorder_create(MMHandleType *camcorder, MMCamPreset *info);
  *  This is the finalizing function of mm_camcorder. If this function is not called or fails to call, the handle isn't released fully.
  *  This function releases attributes, mutexes, sessions, and handle itself. This function also removes all of remaining messages.
  *  So if your application should wait a certain message of mm_camcorder, please wait to call this function till getting the message.
- *     
+ *
  *
  *     @param[in]      camcorder       A handle of camcorder.
  *     @return         This function returns zero(MM_ERROR_NONE) on success, or negative value with error code.\n
@@ -2470,7 +2504,7 @@ int mm_camcorder_stop(MMHandleType camcorder);
  *     @pre            Previous state of mm-camcorder should be MM_CAMCORDER_STATE_PREPARE
  *     @post           Next state of mm-camcorder will be MM_CAMCORDER_STATE_CAPTURING
  *     @remarks        To call this function, preview should be started successfully.\n
- *                     This function is a pair of mm_camcorder_capture_stop(). 
+ *                     This function is a pair of mm_camcorder_capture_stop().
  *                     So user should call mm_camcorder_capture_stop() after getting captured image.
  *     @par example
  *     @code
@@ -2482,7 +2516,7 @@ gboolean capturing_picture()
        int err;
 
        err =  mm_camcorder_capture_start(hcam);
-       if (err < 0) 
+       if (err < 0)
        {
                printf("Fail to call mm_camcorder_capture_start  = %x\n", err);
                return FALSE;
@@ -2870,7 +2904,7 @@ gboolean setting_audio_stream_callback()
 
        return TRUE;
 }
- *     @endcode
+ *  @endcode
  */
 int mm_camcorder_set_audio_stream_callback(MMHandleType camcorder, mm_camcorder_audio_stream_callback callback, void *user_data);
 
@@ -3249,25 +3283,12 @@ gboolean stop_autofocus()
  */
 int mm_camcorder_stop_focusing(MMHandleType camcorder);
 
-/**
- *    mm_camcorder_get_video_caps:
- *  Stop focusing. This function halts focusing operation.
- *  This is the function to stop focusing in the middle of the operation.
- *  So if focusing is already finished or not started yet,
- *  this function will do nothing.
- *
- *     @param[in]      camcorder       A handle of camcorder.
- *     @return         This function returns zero(MM_ERROR_NONE) on success,
- *                     or negative value with error code.
- *                     Please refer 'mm_error.h' to know the exact meaning of the error.
- *     @see            mm_camcorder_create
- *     @pre            mm_camcorder_realize() should be called before calling this function.
- *     @post           None
- *     @remarks        None
- *     @par example
- *     @code
- */
-int mm_camcorder_get_video_caps(MMHandleType handle, char **caps);
+/* emit signal */
+void mm_camcorder_emit_signal(MMHandleType camcorder, const char *object_name,
+       const char *interface_name, const char *signal_name, int value);
+
+/* check compatability between codec and file format */
+int mm_camcorder_check_codec_fileformat_compatibility(const char *codec_type, int codec, int file_format);
 
 /**
        @}