X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmedia_image.c;h=0139a4bb02b464b18195e66782ffe6886518c7fd;hb=729ae1f923ced54dee97472be6d15c34059de789;hp=c95ab3d64658a98b882471c7e409e2c24b06fc99;hpb=2fe695dcfad53782276c04f8ff7854d2f4aba8e0;p=platform%2Fcore%2Fapi%2Fmedia-content.git diff --git a/src/media_image.c b/src/media_image.c index c95ab3d..0139a4b 100755 --- a/src/media_image.c +++ b/src/media_image.c @@ -15,357 +15,166 @@ */ -#include -#include #include -#include - int image_meta_destroy(image_meta_h image) { - int ret = MEDIA_CONTENT_ERROR_NONE; image_meta_s *_image = (image_meta_s*)image; + media_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->burst_id); - 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; + media_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)); - if(NULL == _dst) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - return MEDIA_CONTENT_ERROR_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->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; - } - } - - _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)); + media_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; + media_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); - if(NULL == new_string) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - return MEDIA_CONTENT_ERROR_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; + media_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; + media_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; + media_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; + media_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); - if(NULL == new_string) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - return MEDIA_CONTENT_ERROR_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; + return MEDIA_CONTENT_ERROR_NONE; } -int image_meta_get_title(image_meta_h image, char **title) +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; - if(_image) - { - if(STRING_VALID(_image->title)) - { - *title = strdup(_image->title); - if(*title == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY; - } - } - else - { - *title = 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; - } + media_content_retvm_if(!_image || !exposure_time, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - return ret; + *exposure_time = g_strdup(_image->exposure_time); + + return MEDIA_CONTENT_ERROR_NONE; } -int image_meta_get_burst_id(image_meta_h image, char **burst_id) +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; + media_content_retvm_if(!_image || !fnumber, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image && burst_id) - { - if(STRING_VALID(_image->burst_id)) - { - *burst_id = strdup(_image->burst_id); - if(*burst_id == NULL) - { - media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY); - return MEDIA_CONTENT_ERROR_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; - } + *fnumber = _image->fnumber; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } -int image_meta_is_burst_shot(image_meta_h image, bool *is_burst_shot) +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; + media_content_retvm_if(!_image || !iso, 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; - } + *iso = _image->iso; - return ret; + return MEDIA_CONTENT_ERROR_NONE; } -int image_meta_set_orientation(image_meta_h image, media_content_orientation_e orientation) + +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; + media_content_retvm_if(!_image || !model, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); - if(_image == NULL) - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - return MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + *model = g_strdup(_image->model); - 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; - } + return MEDIA_CONTENT_ERROR_NONE; +} + +int image_meta_set_orientation(image_meta_h image, media_content_orientation_e orientation) +{ + media_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; + media_content_retvm_if(!_image, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter"); + media_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; + media_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)) - { + media_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); + media_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_free(sql); - } - else - { - media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER); - ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER; - } + SQLITE3_SAFE_FREE(sql); return ret; -} \ No newline at end of file +}