Change lock mechanism to support set/unset preview callback in preview state [MPR...
[platform/core/multimedia/libmm-camcorder.git] / src / mm_camcorder.c
index 34bad5e..d218e25 100644 (file)
@@ -319,15 +319,23 @@ int mm_camcorder_set_audio_stream_callback(MMHandleType camcorder, mm_camcorder_
 }
 
 
+int mm_camcorder_set_muxed_stream_callback(MMHandleType camcorder, mm_camcorder_muxed_stream_callback callback, void *user_data)
+{
+       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+       return _mmcamcorder_set_muxed_stream_callback(camcorder, callback, user_data);
+}
+
+
 int mm_camcorder_set_video_capture_callback(MMHandleType camcorder, mm_camcorder_video_capture_callback callback, void* user_data)
 {
-       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT );
+       mmf_return_val_if_fail((void *)camcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
 
        return _mmcamcorder_set_video_capture_callback(camcorder, callback, user_data);
 }
 
 
-int mm_camcorder_get_state(MMHandleType camcorder, MMCamcorderStateType *status)
+int mm_camcorder_get_state(MMHandleType camcorder, MMCamcorderStateType *state)
 {
        int ret = MM_ERROR_NONE;
 
@@ -336,10 +344,20 @@ int mm_camcorder_get_state(MMHandleType camcorder, MMCamcorderStateType *status)
                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_dbg_warn("Empty handle.");
+               return MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
+       }
+
+       return _mmcamcorder_get_state2(camcorder, (int *)state, (int *)old_state);
 }
 
 
@@ -352,7 +370,7 @@ int mm_camcorder_get_attributes(MMHandleType camcorder, char **err_attr_name, co
 
        va_start(var_args, attribute_name);
        ret = _mmcamcorder_get_attributes(camcorder, err_attr_name, attribute_name, var_args);
-       va_end (var_args);
+       va_end(var_args);
 
        return ret;
 }
@@ -365,9 +383,9 @@ int mm_camcorder_set_attributes(MMHandleType camcorder,  char **err_attr_name, c
 
        return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
 
-       va_start (var_args, attribute_name);
+       va_start(var_args, attribute_name);
        ret = _mmcamcorder_set_attributes(camcorder, err_attr_name, attribute_name, var_args);
-       va_end (var_args);
+       va_end(var_args);
 
        return ret;
 }
@@ -396,7 +414,7 @@ int mm_camcorder_init_focusing(MMHandleType camcorder)
 }
 
 
-int mm_camcorder_start_focusing( MMHandleType camcorder )
+int mm_camcorder_start_focusing(MMHandleType camcorder)
 {
        int error = MM_ERROR_NONE;
 
@@ -421,7 +439,26 @@ int mm_camcorder_stop_focusing(MMHandleType camcorder)
        return error;
 }
 
-int mm_camcorder_get_video_caps(MMHandleType handle, char **caps)
+void mm_camcorder_emit_signal(MMHandleType camcorder, const char *object_name,
+       const char *interface_name, const char *signal_name, int value)
+{
+       mmf_return_if_fail((void *)camcorder);
+
+       _mmcamcorder_emit_signal(camcorder, object_name, interface_name, signal_name, value);
+
+       return;
+}
+
+int mm_camcorder_check_codec_fileformat_compatibility(const char *codec_type, int codec, int file_format)
 {
-       return _mmcamcorder_get_video_caps(handle, caps);
+       mmf_return_val_if_fail(codec_type, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+       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);
 }