} \
} while (0)
+static muse_camera_export_data *__camera_export_data_new(void)
+{
+ int i = 0;
+ muse_camera_export_data *new_data = g_new0(muse_camera_export_data, 1);
+
+ new_data->fd = -1;
+ new_data->data_fd = -1;
+ for (i = 0 ; i < MUSE_NUM_FD ; i++)
+ new_data->buffer_fd[i] = -1;
+
+ return new_data;
+}
+
static void __camera_dispatcher_send_msg(muse_module_h module, char *msg, int *tfd)
{
int len = 0;
/* close exported fd for zero copy buffer */
for (i = 0 ; i < export_data->num_buffer_fd ; i++) {
/*LOGD("close export_data->buffer_fd[%d] %d", i, export_data->buffer_fd[i]);*/
- close(export_data->buffer_fd[i]);
- export_data->buffer_fd[i] = -1;
+ if (export_data->buffer_fd[i] > -1) {
+ close(export_data->buffer_fd[i]);
+ export_data->buffer_fd[i] = -1;
+ }
}
/* unref GstBuffer */
camera_return_if_fail(muse_camera && image);
/* main image */
- export_data_main = g_new0(muse_camera_export_data, 1);
+ export_data_main = __camera_export_data_new();
data_size_main = sizeof(camera_image_data_s) + image->size;
if (image->exif && image->exif_size > 0)
if (postview && postview->size > 0) {
data_size_post = sizeof(camera_image_data_s) + postview->size;
- export_data_post = g_new0(muse_camera_export_data, 1);
- if (export_data_post == NULL) {
- LOGE("alloc export_data failed");
- goto postview_image_error;
- }
+ export_data_post = __camera_export_data_new();
/* alloc bo */
bo_post = tbm_bo_alloc(muse_camera->bufmgr, data_size_post, TBM_BO_DEFAULT);
if (thumbnail && thumbnail->size > 0) {
data_size_thumb = sizeof(camera_image_data_s) + thumbnail->size;
- export_data_thumb = g_new0(muse_camera_export_data, 1);
- if (export_data_thumb == NULL) {
- LOGE("alloc export_data failed");
- goto thumbnail_image_error;
- }
+ export_data_thumb = __camera_export_data_new();
/* alloc bo */
bo_thumb = tbm_bo_alloc(muse_camera->bufmgr, data_size_thumb, TBM_BO_DEFAULT);
muse_camera = (muse_camera_handle_s *)muse_server_ipc_get_handle(module);
camera_return_if_fail(muse_camera);
- export_data = camera_export_data_new(stream, muse_camera->bufmgr, tfd);
+ export_data = camera_export_data_new_from_stream(stream, muse_camera->bufmgr, tfd);
camera_return_if_fail(export_data);
/* add bo info to list */
camera_return_if_fail(muse_camera);
- export_data = g_new0(muse_camera_export_data, 1);
+ export_data = __camera_export_data_new();
bo = tbm_bo_alloc(muse_camera->bufmgr, bo_size, TBM_BO_DEFAULT);
if (bo == NULL) {
}
-muse_camera_export_data *camera_export_data_new(MMCamcorderVideoStreamDataType *stream, tbm_bufmgr bufmgr, tbm_fd tfd[MUSE_NUM_FD])
+muse_camera_export_data *camera_export_data_new_from_stream(MMCamcorderVideoStreamDataType *stream, tbm_bufmgr bufmgr, tbm_fd tfd[MUSE_NUM_FD])
{
/* tfd[MUSE_NUM_FD]
0: MMCamcorderVideoStreamDataType
/*LOGD("Enter");*/
- export_data = g_new0(muse_camera_export_data, 1);
- export_data->fd = -1;
- export_data->data_fd = -1;
+ export_data = __camera_export_data_new();
export_data->bo = tbm_bo_alloc(bufmgr, sizeof(MMCamcorderVideoStreamDataType), TBM_BO_DEFAULT);
if (export_data->bo == NULL) {