Support new pixel format - VP8, VP9
[platform/core/multimedia/libmm-camcorder.git] / src / mm_camcorder.c
index 9a77ee3..eb74509 100644 (file)
@@ -26,7 +26,6 @@
 #include <string.h>
 
 #include <mm_error.h>
-#include <mm_attrs_private.h>
 
 #include "mm_camcorder.h"
 #include "mm_camcorder_internal.h"
@@ -45,7 +44,7 @@ int mm_camcorder_create(MMHandleType *camcorder, MMCamPreset *info)
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
        mmf_return_val_if_fail((void *)info, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:CREATE");
 
@@ -53,7 +52,7 @@ int mm_camcorder_create(MMHandleType *camcorder, MMCamPreset *info)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -65,7 +64,7 @@ int mm_camcorder_destroy(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:DESTROY");
 
@@ -73,7 +72,7 @@ int mm_camcorder_destroy(MMHandleType camcorder)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _mmcam_dbg_err("END!!!");
+       MMCAM_LOG_ERROR("END!!!");
 
        return error;
 }
@@ -85,9 +84,9 @@ int mm_camcorder_realize(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:REALIZE");
 
@@ -95,9 +94,9 @@ int mm_camcorder_realize(MMHandleType camcorder)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -109,9 +108,9 @@ int mm_camcorder_unrealize(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:UNREALIZE");
 
@@ -119,9 +118,9 @@ int mm_camcorder_unrealize(MMHandleType camcorder)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -133,9 +132,9 @@ int mm_camcorder_start(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:START");
 
@@ -143,9 +142,9 @@ int mm_camcorder_start(MMHandleType camcorder)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -157,9 +156,9 @@ int mm_camcorder_stop(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        traceBegin(TTRACE_TAG_CAMERA, "MMCAMCORDER:STOP");
 
@@ -167,9 +166,9 @@ int mm_camcorder_stop(MMHandleType camcorder)
 
        traceEnd(TTRACE_TAG_CAMERA);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -181,15 +180,15 @@ int mm_camcorder_capture_start(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_capture_start(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -201,15 +200,15 @@ int mm_camcorder_capture_stop(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_capture_stop(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -221,15 +220,15 @@ int mm_camcorder_record(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void*)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_record(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -241,15 +240,15 @@ int mm_camcorder_pause(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_pause(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -261,15 +260,15 @@ int mm_camcorder_commit(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_commit(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -281,15 +280,15 @@ int mm_camcorder_cancel(MMHandleType camcorder)
 
        mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
-       _mmcam_dbg_err("");
+       MMCAM_LOG_ERROR("");
 
-       _MMCAMCORDER_LOCK_ASM(camcorder);
+       _MMCAMCORDER_LOCK_INTERRUPT(camcorder);
 
        error = _mmcamcorder_cancel(camcorder);
 
-       _MMCAMCORDER_UNLOCK_ASM(camcorder);
+       _MMCAMCORDER_UNLOCK_INTERRUPT(camcorder);
 
-       _mmcam_dbg_err("END");
+       MMCAM_LOG_ERROR("END");
 
        return error;
 }
@@ -335,19 +334,37 @@ int mm_camcorder_set_video_capture_callback(MMHandleType camcorder, mm_camcorder
 }
 
 
-int mm_camcorder_get_state(MMHandleType camcorder, MMCamcorderStateType *status)
+int mm_camcorder_set_video_encode_decision_callback(MMHandleType camcorder, mm_camcorder_video_encode_decision_callback callback, void* user_data)
+{
+       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+       return _mmcamcorder_set_video_encode_decision_callback(camcorder, callback, user_data);
+}
+
+
+int mm_camcorder_get_state(MMHandleType camcorder, MMCamcorderStateType *state)
 {
        int ret = MM_ERROR_NONE;
 
        if (!camcorder) {
-               _mmcam_dbg_warn("Empty handle.");
+               MMCAM_LOG_WARNING("Empty handle.");
                return MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
        }
 
-       *status = _mmcamcorder_get_state(camcorder);
+       *state = _mmcamcorder_get_state(camcorder);
 
        return ret;
+}
+
+
+int mm_camcorder_get_state2(MMHandleType camcorder, MMCamcorderStateType *state, MMCamcorderStateType *old_state)
+{
+       if (!camcorder) {
+               MMCAM_LOG_WARNING("Empty handle.");
+               return MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
+       }
 
+       return _mmcamcorder_get_state2(camcorder, (int *)state, (int *)old_state);
 }
 
 
@@ -356,7 +373,7 @@ int mm_camcorder_get_attributes(MMHandleType camcorder, char **err_attr_name, co
        va_list var_args;
        int ret = MM_ERROR_NONE;
 
-       return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
+       mmf_return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
 
        va_start(var_args, attribute_name);
        ret = _mmcamcorder_get_attributes(camcorder, err_attr_name, attribute_name, var_args);
@@ -371,7 +388,7 @@ int mm_camcorder_set_attributes(MMHandleType camcorder,  char **err_attr_name, c
        va_list var_args;
        int ret = MM_ERROR_NONE;
 
-       return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
+       mmf_return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
 
        va_start(var_args, attribute_name);
        ret = _mmcamcorder_set_attributes(camcorder, err_attr_name, attribute_name, var_args);
@@ -445,3 +462,22 @@ int mm_camcorder_check_codec_fileformat_compatibility(const char *codec_type, in
 
        return _mmcamcorder_check_codec_fileformat_compatibility(codec_type, codec, file_format);
 }
+
+int mm_camcorder_manage_external_storage_state(MMHandleType camcorder, int storage_state)
+{
+       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+       return _mmcamcorder_manage_external_storage_state(camcorder, storage_state);
+}
+
+int mm_camcorder_get_focus_level(MMHandleType camcorder, int *level)
+{
+       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+       return _mmcamcorder_get_focus_level(camcorder, level);
+}
+
+int mm_camcorder_get_log_level(void)
+{
+       return _mmcamcorder_get_log_level();
+}