X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmedia_image.c;h=aa77ac3206bd59c8619b406ef4727772c22389b0;hb=cd59f22adc86ddaaba3f6f7cbd5e4fcd10aa9f9b;hp=2232b81ffe037fa7f7aa8a25b79cef9ebe2a0e60;hpb=0a7ffd9cee68074c5dd82181d627d444a17f613b;p=platform%2Fcore%2Fapi%2Fmedia-content.git diff --git a/src/media_image.c b/src/media_image.c index 2232b81..aa77ac3 100755 --- a/src/media_image.c +++ b/src/media_image.c @@ -17,444 +17,164 @@ #include - int image_meta_destroy(image_meta_h image) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(_image == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Image handle is null"); - if(_image) - { - SAFE_FREE(_image->media_id); - SAFE_FREE(_image->date_taken); - SAFE_FREE(_image->title); - SAFE_FREE(_image->weather); - SAFE_FREE(_image->burst_id); - SAFE_FREE(_image->exposure_time); - SAFE_FREE(_image->model); - SAFE_FREE(_image); - - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + SAFE_FREE(_image->media_id); + SAFE_FREE(_image->date_taken); + SAFE_FREE(_image->exposure_time); + SAFE_FREE(_image->model); + SAFE_FREE(_image); - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_clone(image_meta_h *dst, image_meta_h src) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_src = (image_meta_s*)src; + content_retvm_if(!_src, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Source handle is null"); - if(_src != NULL) - { - image_meta_s *_dst = (image_meta_s*)calloc(1, sizeof(image_meta_s)); - media_content_retvm_if(_dst == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - - if(STRING_VALID(_src->media_id)) - { - _dst->media_id = strdup(_src->media_id); - if(_dst->media_id == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->date_taken)) - { - _dst->date_taken = strdup(_src->date_taken); - if(_dst->date_taken == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->title)) - { - _dst->title = strdup(_src->title); - if(_dst->title == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->weather)) - { - _dst->weather = strdup(_src->weather); - if(_dst->weather == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->burst_id)) - { - _dst->burst_id = strdup(_src->burst_id); - if(_dst->burst_id == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->exposure_time)) - { - _dst->exposure_time = strdup(_src->exposure_time); - if(_dst->exposure_time == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - if(STRING_VALID(_src->model)) - { - _dst->model = strdup(_src->model); - if(_dst->model == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - image_meta_destroy((image_meta_h)_dst); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - - _dst->fnumber = _src->fnumber; - _dst->iso = _src->iso; - _dst->width = _src->width; - _dst->height = _src->height; - _dst->orientation = _src->orientation; - - *dst = (image_meta_h)_dst; - - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + image_meta_s *_dst = (image_meta_s*)calloc(1, sizeof(image_meta_s)); + content_retvm_if(!_dst, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - return ret; + _dst->media_id = g_strdup(_src->media_id); + _dst->date_taken = g_strdup(_src->date_taken); + _dst->exposure_time = g_strdup(_src->exposure_time); + _dst->model = g_strdup(_src->model); + _dst->fnumber = _src->fnumber; + _dst->iso = _src->iso; + _dst->width = _src->width; + _dst->height = _src->height; + _dst->orientation = _src->orientation; + + *dst = (image_meta_h)_dst; + + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_media_id(image_meta_h image, char **media_id) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !media_id, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && media_id) - { - if(STRING_VALID(_image->media_id)) - { - char *new_string = strdup(_image->media_id); - media_content_retvm_if(new_string == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - - *media_id = new_string; - } - else - { - *media_id = NULL; - } - ret = MEDIA_CONTENT_ERROR_NONE; - - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } - - return ret; + *media_id = g_strdup(_image->media_id); + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_width(image_meta_h image, int *width) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !width, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && width) - { - *width = _image->width; - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *width = _image->width; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_height(image_meta_h image, int *height) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !height, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && height) - { - *height = _image->height; - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *height = _image->height; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_orientation(image_meta_h image, media_content_orientation_e* orientation) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !orientation, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && orientation) - { - *orientation = _image->orientation; - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *orientation = _image->orientation; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_date_taken(image_meta_h image, char **date_taken) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !date_taken, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && date_taken) - { - if(STRING_VALID(_image->date_taken)) - { - char *new_string = strdup(_image->date_taken); - media_content_retvm_if(new_string == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - - *date_taken = new_string; - } - else - { - *date_taken = NULL; - } - - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *date_taken = g_strdup(_image->date_taken); - return ret; -} - -int image_meta_get_burst_id(image_meta_h image, char **burst_id) -{ - int ret = MEDIA_CONTENT_ERROR_NONE; - image_meta_s *_image = (image_meta_s*)image; - - if(_image && burst_id) - { - if(STRING_VALID(_image->burst_id)) - { - *burst_id = strdup(_image->burst_id); - media_content_retvm_if(*burst_id == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - } - else - { - *burst_id = NULL; - } - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } - - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_exposure_time(image_meta_h image, char **exposure_time) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !exposure_time, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && exposure_time) - { - if(STRING_VALID(_image->exposure_time)) - { - *exposure_time = strdup(_image->exposure_time); - media_content_retvm_if(*exposure_time == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - } - else - { - *exposure_time = NULL; - } - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *exposure_time = g_strdup(_image->exposure_time); - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_fnumber(image_meta_h image, double *fnumber) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !fnumber, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && fnumber) - { - *fnumber = _image->fnumber; - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *fnumber = _image->fnumber; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_iso(image_meta_h image, int *iso) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !iso, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && iso) - { - *iso = _image->iso; - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *iso = _image->iso; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_get_model(image_meta_h image, char **model) { - int ret = MEDIA_CONTENT_ERROR_NONE; - image_meta_s *_image = (image_meta_s*)image; - - if(_image && model) - { - if(STRING_VALID(_image->model)) - { - *model = strdup(_image->model); - media_content_retvm_if(*model == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY"); - } - else - { - *model = NULL; - } - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } - - return ret; -} - -int image_meta_is_burst_shot(image_meta_h image, bool *is_burst_shot) -{ - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + content_retvm_if(!_image || !model, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && is_burst_shot) - { - if(STRING_VALID(_image->burst_id)) - *is_burst_shot = true; - else - *is_burst_shot = false; - - ret = MEDIA_CONTENT_ERROR_NONE; - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *model = g_strdup(_image->model); - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_set_orientation(image_meta_h image, media_content_orientation_e orientation) { - int ret = MEDIA_CONTENT_ERROR_NONE; + content_warn("DEPRECATION WARNING: image_meta_set_orientation() is deprecated and will be removed from next release."); image_meta_s *_image = (image_meta_s*)image; - - if(_image == NULL) - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - return MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } - - if((orientation < MEDIA_CONTENT_ORIENTATION_NOT_AVAILABLE) || (orientation > MEDIA_CONTENT_ORIENTATION_ROT_270)) - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - return MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + content_retvm_if(!_image, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); + content_retvm_if(orientation < MEDIA_CONTENT_ORIENTATION_NOT_AVAILABLE || orientation > MEDIA_CONTENT_ORIENTATION_ROT_270, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid orientation"); _image->orientation = orientation; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } int image_meta_update_to_db(image_meta_h image) { int ret = MEDIA_CONTENT_ERROR_NONE; + content_warn("DEPRECATION WARNING: image_meta_update_to_db() is deprecated and will be removed from next release."); image_meta_s *_image = (image_meta_s*)image; char *sql = NULL; - if(_image != NULL && STRING_VALID(_image->media_id)) - { - char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0,}; - memset(storage_id, 0x00, sizeof(storage_id)); - - ret = _media_db_get_storage_id_by_media_id(_image->media_id, storage_id); - media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); - - sql = sqlite3_mprintf(UPDATE_IMAGE_META_FROM_MEDIA, storage_id, _image->orientation, _image->weather, _image->media_id); + content_retvm_if(!_image || !STRING_VALID(_image->media_id), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); + +#ifdef _USE_TVPD_MODE + char *storage_id = NULL; + ret = _media_db_get_storage_id_by_media_id(_image->media_id, &storage_id); + content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret); + sql = sqlite3_mprintf(UPDATE_IMAGE_META_FROM_MEDIA, storage_id, _image->orientation, _image->media_id); + SAFE_FREE(storage_id); +#else + sql = sqlite3_mprintf(UPDATE_IMAGE_META_FROM_MEDIA, _image->orientation, _image->media_id); +#endif ret = _content_query_sql(sql); SQLITE3_SAFE_FREE(sql); - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } return ret; -} \ No newline at end of file +}