| LOCAL FUNCTION PROTOTYPES: |
---------------------------------------------------------------------------------------*/
/** STATIC INTERNAL FUNCTION **/
-/* Functions for JPEG capture without Encode bin */
-int _mmcamcorder_image_cmd_capture(MMHandleType handle);
-int _mmcamcorder_image_cmd_preview_start(MMHandleType handle);
-int _mmcamcorder_image_cmd_preview_stop(MMHandleType handle);
+static int __mmcamcorder_image_cmd_capture(MMHandleType handle);
+static int __mmcamcorder_image_cmd_preview_start(MMHandleType handle);
+static int __mmcamcorder_image_cmd_preview_stop(MMHandleType handle);
+
+static int __mmcamcorder_capture_mode_init_camera_control(MMHandleType handle);
+static int __mmcamcorder_capture_mode_init_encodebin(MMHandleType handle);
+static int __mmcamcorder_capture_mode_init_image_pad(MMHandleType handle);
+static int __mmcamcorder_capture_mode_deinit_encodebin(MMHandleType handle);
+
+static int __mmcamcorder_extra_preview_mode_init_camera_control(mmf_camcorder_t *hcamcorder);
+static int __mmcamcorder_extra_preview_mode_init_pipeline(MMHandleType handle, MMCamcorderExtraPreviewMode mode);
+
+static int __mmcamcorder_set_exif_basic_info(MMHandleType handle, int image_width, int image_height);
+static int __mmcamcorder_update_exif_info(MMHandleType handle, void *imagedata, int imgln);
+static void __mmcamcorder_init_stillshot_info(MMHandleType handle);
+static void __mmcamcorder_get_capture_data_from_buffer(MMCamcorderCaptureDataType *capture_data, int pixtype, GstSample *sample);
+static void __mmcamcorder_release_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, int tag_enable, int provide_exif);
+static int __mmcamcorder_capture_save_exifinfo(MMHandleType handle, MMCamcorderCaptureDataType *original, MMCamcorderCaptureDataType *thumbnail, int provide_exif);
+static int __mmcamcorder_set_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, MMCamcorderCaptureDataType *thumbnail, int provide_exif);
+
+static gboolean __mmcamcorder_handoff_callback_capture(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data);
+static gboolean __mmcamcorder_handoff_callback_extra_preview(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data);
+
static void __mmcamcorder_image_capture_cb(GstElement *element, GstSample *sample1, GstSample *sample2, GstSample *sample3, gpointer u_data);
static void __mmcamcorder_extra_preview_stream_cb(GstElement *element, int stream_id, GstSample *sample, gpointer u_data);
-
-/* sound status changed callback */
-static void __sound_status_changed_cb(keynode_t* node, void *data);
+static void __mmcamcorder_sound_status_changed_cb(keynode_t* node, void *data);
/*=======================================================================================
| FUNCTION DEFINITIONS |
---------------------------------------------------------------------------------------*/
-int _mmcamcorder_prepare_capture_mode_encodebin(MMHandleType handle)
+static int __mmcamcorder_capture_mode_init_encodebin(MMHandleType handle)
{
int err = MM_ERROR_UNKNOWN;
GstPad *srcpad = NULL;
return MM_ERROR_NONE;
pipeline_creation_error:
- _mmcamcorder_unprepare_capture_mode_encodebin(handle);
+ __mmcamcorder_capture_mode_deinit_encodebin(handle);
return err;
}
-int _mmcamcorder_prepare_capture_mode_camera_control(MMHandleType handle)
+static int __mmcamcorder_capture_mode_init_camera_control(MMHandleType handle)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_MMCamcorderSubContext *sc = NULL;
}
-int _mmcamcorder_prepare_capture_mode_image_pad(MMHandleType handle)
+static int __mmcamcorder_capture_mode_init_image_pad(MMHandleType handle)
{
int err = MM_ERROR_NONE;
int capture_width = 0;
}
-static int __mmcamcorder_extra_preview_camera_control(mmf_camcorder_t *hcamcorder)
+int _mmcamcorder_initialize_capture_mode(MMHandleType handle)
+{
+ mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
+
+ mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
+
+ if (hcamcorder->capture_mode == MM_CAMCORDER_CAPTURE_MODE_CAMERA_CONTROL)
+ return __mmcamcorder_capture_mode_init_camera_control(handle);
+ else if (hcamcorder->capture_mode == MM_CAMCORDER_CAPTURE_MODE_IMAGE_PAD)
+ return __mmcamcorder_capture_mode_init_image_pad(handle);
+
+ return MM_ERROR_NONE;
+}
+
+
+static int __mmcamcorder_extra_preview_mode_init_camera_control(mmf_camcorder_t *hcamcorder)
{
int i = 0;
_MMCamcorderSubContext *sc = NULL;
}
-static int __mmcamcorder_extra_preview_video_pad(mmf_camcorder_t *hcamcorder)
+static int __mmcamcorder_extra_preview_mode_init_pipeline(MMHandleType handle, MMCamcorderExtraPreviewMode mode)
{
int err = MM_ERROR_NONE;
int extra_preview_enable = 0;
int width = 0;
int height = 0;
int fps = 0;
+ const char *videosrc_name = NULL;
GstCaps *caps = NULL;
GList *element_list = NULL;
+
+ mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_MMCamcorderSubContext *sc = NULL;
+ type_element *videosrc_element = NULL;
mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
return MM_ERROR_NONE;
}
+ if (mode == MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_ELEMENT) {
+ _mmcamcorder_conf_get_element_and_name(handle,
+ CONFIGURE_CATEGORY_MAIN_VIDEO_INPUT, "VideosrcElement",
+ &videosrc_element, &videosrc_name);
+
+ _MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_SRC, videosrc_name, "videosrc_ext_src", element_list, err);
+
+ MMCAMCORDER_G_OBJECT_SET(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_SRC].gst, "camera-id", hcamcorder->extra_preview.camera_id[0]);
+
+ _mmcamcorder_conf_set_value_element_property(sc->element[_MMCAMCORDER_VIDEOSRC_EXT_SRC].gst, videosrc_element);
+ }
+
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_FILT, "capsfilter", "videosrc_ext_filt", element_list, err);
_MMCAMCORDER_ELEMENT_MAKE(sc, sc->element, _MMCAMCORDER_VIDEOSRC_EXT_SINK, "fakesink", "videosrc_ext_sink", element_list, err);
}
/* link elements */
- if (!gst_element_link_pads(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst, "video_%u",
- sc->element[_MMCAMCORDER_VIDEOSRC_EXT_FILT].gst, "sink")) {
- MMCAM_LOG_ERROR("pad for extra preview link failed");
- err = MM_ERROR_CAMCORDER_GST_LINK;
- goto pipeline_creation_error;
+ if (mode == MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_SRCPAD) {
+ if (!gst_element_link_pads(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst, "video_%u",
+ sc->element[_MMCAMCORDER_VIDEOSRC_EXT_FILT].gst, "sink")) {
+ MMCAM_LOG_ERROR("pad for extra preview link failed");
+ err = MM_ERROR_CAMCORDER_GST_LINK;
+ goto pipeline_creation_error;
+ }
}
if (!_mmcamcorder_link_elements(element_list)) {
}
-int _mmcamcorder_initialize_extra_preview(MMHandleType handle)
+int _mmcamcorder_initialize_extra_preview_mode(MMHandleType handle)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
+ mmf_return_val_if_fail(hcamcorder->extra_preview.is_supported, MM_ERROR_NONE);
+ mmf_return_val_if_fail(hcamcorder->extra_preview.is_enabled, MM_ERROR_NONE);
switch (hcamcorder->extra_preview.mode) {
case MM_CAMCORDER_EXTRA_PREVIEW_MODE_CAMERA_CONTROL:
- return __mmcamcorder_extra_preview_camera_control(hcamcorder);
- case MM_CAMCORDER_EXTRA_PREVIEW_MODE_VIDEO_PAD:
- return __mmcamcorder_extra_preview_video_pad(hcamcorder);
+ return __mmcamcorder_extra_preview_mode_init_camera_control(handle);
+ case MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_SRCPAD:
+ case MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_ELEMENT:
+ return __mmcamcorder_extra_preview_mode_init_pipeline(handle, hcamcorder->extra_preview.mode);
default:
MMCAM_LOG_ERROR("unknown extra preview mode[%d]", hcamcorder->extra_preview.mode);
return MM_ERROR_CAMCORDER_INTERNAL;
}
-int _mmcamcorder_unprepare_capture_mode_encodebin(MMHandleType handle)
+static int __mmcamcorder_capture_mode_deinit_encodebin(MMHandleType handle)
{
int ret = MM_ERROR_NONE;
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
}
-int _mmcamcorder_image_cmd_capture(MMHandleType handle)
+static int __mmcamcorder_image_cmd_capture(MMHandleType handle)
{
int ret = MM_ERROR_NONE;
int width = 0;
info->resolution_change = FALSE;
}
- ret = _mmcamcorder_prepare_capture_mode_encodebin((MMHandleType)hcamcorder);
+ ret = __mmcamcorder_capture_mode_init_encodebin((MMHandleType)hcamcorder);
if (ret != MM_ERROR_NONE) {
MMCAM_LOG_ERROR("failed to create encodesinkbin %x", ret);
goto cmd_done;
}
-int _mmcamcorder_image_cmd_preview_start(MMHandleType handle)
+static int __mmcamcorder_image_cmd_preview_start(MMHandleType handle)
{
int ret = MM_ERROR_NONE;
int width = 0;
MMCAM_LOG_INFO("Wait Frame Done. count before[%d],after[%d], try_count[%d]",
current_framecount, sc->kpi.video_framecount, try_count);
} else if (hcamcorder->capture_mode == MM_CAMCORDER_CAPTURE_MODE_ENCODEBIN) {
- ret = _mmcamcorder_unprepare_capture_mode_encodebin(handle);
+ ret = __mmcamcorder_capture_mode_deinit_encodebin(handle);
if (ret != MM_ERROR_NONE)
goto cmd_error;
MMCAM_LOG_INFO("register vconf changed_cb and get sound status");
/* register changed_cb */
- vconf_notify_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, __sound_status_changed_cb, hcamcorder);
+ vconf_notify_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, __mmcamcorder_sound_status_changed_cb, hcamcorder);
/* get sound status */
vconf_get_bool(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, &(info->sound_status));
}
-int _mmcamcorder_image_cmd_preview_stop(MMHandleType handle)
+static int __mmcamcorder_image_cmd_preview_stop(MMHandleType handle)
{
int ret = MM_ERROR_NONE;
int strobe_mode = MM_CAMCORDER_STROBE_MODE_OFF;
if (sc->info_image->sound_status != _SOUND_STATUS_INIT) {
MMCAM_LOG_INFO("deregister sound status callback");
- vconf_ignore_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, __sound_status_changed_cb);
+ vconf_ignore_key_changed(VCONFKEY_SETAPPL_SOUND_STATUS_BOOL, __mmcamcorder_sound_status_changed_cb);
sc->info_image->sound_status = _SOUND_STATUS_INIT;
}
switch (command) {
case _MMCamcorder_CMD_CAPTURE:
- ret = _mmcamcorder_image_cmd_capture(handle);
+ ret = __mmcamcorder_image_cmd_capture(handle);
break;
case _MMCamcorder_CMD_PREVIEW_START:
- ret = _mmcamcorder_image_cmd_preview_start(handle);
+ ret = __mmcamcorder_image_cmd_preview_start(handle);
/* I place this function last because it miscalculates a buffer that sents in GST_STATE_PAUSED */
_mmcamcorder_video_current_framerate_init(handle);
break;
case _MMCamcorder_CMD_PREVIEW_STOP:
- ret = _mmcamcorder_image_cmd_preview_stop(handle);
+ ret = __mmcamcorder_image_cmd_preview_stop(handle);
break;
case _MMCamcorder_CMD_RECORD:
case _MMCamcorder_CMD_PAUSE:
}
-void __mmcamcorder_init_stillshot_info(MMHandleType handle)
+static void __mmcamcorder_init_stillshot_info(MMHandleType handle)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_MMCamcorderSubContext *sc = NULL;
}
-int __mmcamcorder_capture_save_exifinfo(MMHandleType handle, MMCamcorderCaptureDataType *original, MMCamcorderCaptureDataType *thumbnail, int provide_exif)
+static int __mmcamcorder_capture_save_exifinfo(MMHandleType handle, MMCamcorderCaptureDataType *original, MMCamcorderCaptureDataType *thumbnail, int provide_exif)
{
int ret = MM_ERROR_NONE;
unsigned char *data = NULL;
}
-void __mmcamcorder_get_capture_data_from_buffer(MMCamcorderCaptureDataType *capture_data, int pixtype, GstSample *sample)
+static void __mmcamcorder_get_capture_data_from_buffer(MMCamcorderCaptureDataType *capture_data, int pixtype, GstSample *sample)
{
GstCaps *caps = NULL;
GstMapInfo mapinfo;
}
-int __mmcamcorder_set_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, MMCamcorderCaptureDataType *thumbnail, int provide_exif)
+static int __mmcamcorder_set_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, MMCamcorderCaptureDataType *thumbnail, int provide_exif)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_MMCamcorderSubContext *sc = NULL;
}
-void __mmcamcorder_release_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, int tag_enable, int provide_exif)
+static void __mmcamcorder_release_jpeg_data(MMHandleType handle, MMCamcorderCaptureDataType *dest, int tag_enable, int provide_exif)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_MMCamcorderSubContext *sc = NULL;
}
-gboolean __mmcamcorder_handoff_callback_extra_preview(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data)
+static gboolean __mmcamcorder_handoff_callback_extra_preview(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(u_data);
_MMCamcorderSubContext *sc = NULL;
}
-gboolean __mmcamcorder_handoff_callback_capture(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data)
+static gboolean __mmcamcorder_handoff_callback_capture(GstElement *fakesink, GstBuffer *buffer, GstPad *pad, gpointer u_data)
{
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(u_data);
_MMCamcorderSubContext *sc = NULL;
}
-int __mmcamcorder_update_exif_info(MMHandleType handle, void* imagedata, int imgln)
+static int __mmcamcorder_update_exif_info(MMHandleType handle, void* imagedata, int imgln)
{
int ret = MM_ERROR_NONE;
mmf_camcorder_t *hcamcorder = NULL;
return ret;
}
-int __mmcamcorder_set_exif_basic_info(MMHandleType handle, int image_width, int image_height)
+static int __mmcamcorder_set_exif_basic_info(MMHandleType handle, int image_width, int image_height)
{
int ret = MM_ERROR_NONE;
int value;
}
-static void __sound_status_changed_cb(keynode_t* node, void *data)
+static void __mmcamcorder_sound_status_changed_cb(keynode_t* node, void *data)
{
mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)data;
_MMCamcorderImageInfo *info = NULL;
}
-int _mmcamcorder_set_extra_preview_stream_format(MMHandleType camcorder, int stream_id, int pixel_format, int width, int height, int fps)
+int _mmcamcorder_set_extra_preview_device_type(MMHandleType handle, int stream_id, int device_type)
+{
+ int ret = MM_ERROR_NONE;
+ int camera_id = 0;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
+ MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
+
+ mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+ mmf_return_val_if_fail(hcamcorder->extra_preview.is_supported, MM_ERROR_CAMCORDER_NOT_SUPPORTED);
+ mmf_return_val_if_fail(hcamcorder->extra_preview.mode == MM_CAMCORDER_EXTRA_PREVIEW_MODE_PIPELINE_ELEMENT,
+ MM_ERROR_CAMCORDER_NOT_SUPPORTED);
+ mmf_return_val_if_fail(stream_id >= 0 && stream_id < MM_CAMCORDER_EXTRA_PREVIEW_STREAM_NUM,
+ MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+ mmf_return_val_if_fail(device_type > MM_VIDEO_DEVICE_NONE && device_type < MM_VIDEO_DEVICE_NUM
+ , MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
+
+ mm_camcorder_get_state(handle, ¤t_state);
+
+ MMCAM_LOG_INFO("stream_id[%d], device type[%d]", stream_id, device_type);
+
+ if (current_state > MM_CAMCORDER_STATE_NULL) {
+ MMCAM_LOG_ERROR("The device type can not be set after pipeline created");
+ return MM_ERROR_CAMCORDER_INVALID_STATE;
+ }
+
+ ret = _mmcamcorder_get_camera_id(device_type, &camera_id);
+ if (ret != MM_ERROR_NONE)
+ return ret;
+
+ hcamcorder->extra_preview.camera_id[stream_id] = camera_id;
+
+ return MM_ERROR_NONE;
+}
+
+
+int _mmcamcorder_set_extra_preview_stream_format(MMHandleType handle, int stream_id, int pixel_format, int width, int height, int fps)
{
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
GstCameraControl *control = NULL;
_MMCamcorderSubContext *sc = NULL;
MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
mmf_return_val_if_fail(width > 0 && height > 0 && fps >= 0, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
MMCAM_LOG_INFO("state[%d] stream_id[%d],fmt[%d],res[%dx%d],fps[%d]",
current_state, stream_id, pixel_format, width, height, fps);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);
}
-int _mmcamcorder_get_extra_preview_stream_format(MMHandleType camcorder, int stream_id, int *pixel_format, int *width, int *height, int *fps)
+int _mmcamcorder_get_extra_preview_stream_format(MMHandleType handle, int stream_id, int *pixel_format, int *width, int *height, int *fps)
{
int _width = 0;
int _height = 0;
int _fps = 0;
GstCameraControlImageFormat _img_fmt = GST_CAMERA_CONTROL_IMAGE_FORMAT_NV12;
GstCameraControl *control = NULL;
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
_MMCamcorderSubContext *sc = NULL;
mmf_return_val_if_fail(hcamcorder->extra_preview.is_supported, MM_ERROR_CAMCORDER_NOT_SUPPORTED);
mmf_return_val_if_fail(pixel_format && width && height && fps, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);
}
-int _mmcamcorder_set_extra_preview_bitrate(MMHandleType camcorder, int stream_id, int bitrate)
+int _mmcamcorder_set_extra_preview_bitrate(MMHandleType handle, int stream_id, int bitrate)
{
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
GstCameraControl *control = NULL;
_MMCamcorderSubContext *sc = NULL;
MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
mmf_return_val_if_fail(bitrate > 0, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
MMCAM_LOG_INFO("state[%d] stream[%d], bitrate[%d]", current_state, stream_id, bitrate);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);
}
-int _mmcamcorder_get_extra_preview_bitrate(MMHandleType camcorder, int stream_id, int *bitrate)
+int _mmcamcorder_get_extra_preview_bitrate(MMHandleType handle, int stream_id, int *bitrate)
{
int _bitrate = 0;
GstCameraControl *control = NULL;
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
_MMCamcorderSubContext *sc = NULL;
MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
mmf_return_val_if_fail(bitrate, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);
}
-int _mmcamcorder_set_extra_preview_gop_interval(MMHandleType camcorder, int stream_id, int interval)
+int _mmcamcorder_set_extra_preview_gop_interval(MMHandleType handle, int stream_id, int interval)
{
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
GstCameraControl *control = NULL;
_MMCamcorderSubContext *sc = NULL;
mmf_return_val_if_fail(stream_id >= 0 && stream_id < MM_CAMCORDER_EXTRA_PREVIEW_STREAM_NUM,
MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
MMCAM_LOG_INFO("state[%d] stream[%d], interval[%d]", current_state, stream_id, interval);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);
}
-int _mmcamcorder_get_extra_preview_gop_interval(MMHandleType camcorder, int stream_id, int *interval)
+int _mmcamcorder_get_extra_preview_gop_interval(MMHandleType handle, int stream_id, int *interval)
{
int _interval = 0;
GstCameraControl *control = NULL;
- mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)camcorder;
+ mmf_camcorder_t *hcamcorder = (mmf_camcorder_t *)handle;
MMCamcorderStateType current_state = MM_CAMCORDER_STATE_NONE;
_MMCamcorderSubContext *sc = NULL;
MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
mmf_return_val_if_fail(interval, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
- mm_camcorder_get_state(camcorder, ¤t_state);
+ mm_camcorder_get_state(handle, ¤t_state);
if (current_state >= MM_CAMCORDER_STATE_READY) {
- sc = MMF_CAMCORDER_SUBCONTEXT(camcorder);
+ sc = MMF_CAMCORDER_SUBCONTEXT(handle);
mmf_return_val_if_fail(sc, MM_ERROR_CAMCORDER_INVALID_ARGUMENT);
control = GST_CAMERA_CONTROL(sc->element[_MMCAMCORDER_VIDEOSRC_SRC].gst);