int media_svc_generate_uuid(char **uuid);
int media_svc_get_mmc_info(MediaSvcHandle *handle, char **storage_name, char **storage_path, int *validity, bool *info_exist);
-int media_svc_check_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity);
+int media_svc_check_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid);
int media_svc_insert_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, const char *storage_path, const char *storage_account, media_svc_storage_type_e storage_type, uid_t uid);
int media_svc_update_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_path, uid_t uid);
int media_svc_delete_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, uid_t uid);
Name: libmedia-service
Summary: Media information service library for multimedia applications
-Version: 0.2.90
+Version: 0.2.91
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0 and public domain
return MEDIA_SVC_PLUGIN_ERROR_NONE;
}
-int check_storage(void * handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, char **err_msg)
+int check_storage(void * handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid, char **err_msg)
{
int ret = MEDIA_SVC_PLUGIN_ERROR_NONE;
return MEDIA_SVC_PLUGIN_ERROR;
}
- ret = media_svc_check_storage(handle, storage_id, storage_name, storage_path, validity);
+ ret = media_svc_check_storage(handle, storage_id, storage_name, storage_path, validity, uid);
if (ret < 0) {
__set_error_message(ret, err_msg);
return MEDIA_SVC_PLUGIN_ERROR;
return MS_MEDIA_ERR_NONE;
}
-int _media_svc_check_storage(sqlite3 *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity)
+int _media_svc_check_storage(sqlite3 *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid)
{
int ret = MS_MEDIA_ERR_NONE;
sqlite3_stmt *sql_stmt = NULL;
SQLITE3_FINALIZE(sql_stmt);
+ /*check storage media table*/
+ if(STRING_VALID(storage_id)) {
+ int table_cnt = 0;
+
+ /*Select list of storage*/
+ sql = sqlite3_mprintf("SELECT COUNT(*) FROM SQLITE_MASTER WHERE type='table' and name='%q'", storage_id);
+ ret = _media_svc_sql_prepare_to_step(handle, sql, &sql_stmt);
+ media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
+
+ table_cnt = sqlite3_column_int(sql_stmt, 0);
+ SQLITE3_FINALIZE(sql_stmt);
+
+ if(table_cnt > 0) {
+ /*DO NOT THING*/
+ } else {
+ media_svc_error("media table not exist for storage [%s]", storage_id);
+ /*make storage media table*/
+ ret = _media_svc_create_media_table_with_id(storage_id, uid);
+ media_svc_retvm_if(ret != MS_MEDIA_ERR_NONE, ret, "create media table failed : %d", ret);
+ }
+ }
+
return MS_MEDIA_ERR_NONE;
}
int validity = 0;
/*Get old path*/
- ret = _media_svc_check_storage(handle, storage_id, NULL, &old_storage_path, &validity);
+ ret = _media_svc_check_storage(handle, storage_id, NULL, &old_storage_path, &validity, uid);
media_svc_retv_if(ret != MS_MEDIA_ERR_NONE, ret);
/*Storage table update*/
char *sql = NULL;
if (!STRING_VALID(storage_id)) {
- media_svc_error("Invalid storage_idid");
+ media_svc_error("Invalid storage_id");
ret = MS_MEDIA_ERR_INVALID_PARAMETER;
}
char *sql = NULL;
if (!STRING_VALID(storage_id)) {
- media_svc_error("Invalid storage_idid");
+ media_svc_error("Invalid storage_id");
ret = MS_MEDIA_ERR_INVALID_PARAMETER;
}
}
if (arr_idx != 3) {
- media_svc_error("Error when parsing GPS [%d]", arr_idx);
+ media_svc_debug("Error when parsing GPS [%d]", arr_idx);
return MS_MEDIA_ERR_INTERNAL;
}
tag == EXIF_TAG_ISO_SPEED_RATINGS) {
if (i_value == NULL) {
- media_svc_error("i_value is NULL");
+ media_svc_debug("i_value is NULL");
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
} else if (tag == EXIF_TAG_GPS_LATITUDE || tag == EXIF_TAG_GPS_LONGITUDE || tag == EXIF_TAG_GPS_ALTITUDE) {
if (d_value == NULL) {
- media_svc_error("d_value is NULL");
+ media_svc_debug("d_value is NULL");
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
} else if (tag == EXIF_TAG_EXPOSURE_TIME) {
if (buf == NULL) {
- media_svc_error("buf is NULL");
+ media_svc_debug("buf is NULL");
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
} else if (tag == EXIF_TAG_FNUMBER) {
if (d_value == NULL) {
- media_svc_error("d_value is NULL");
+ media_svc_debug("d_value is NULL");
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
} else {
if (buf == NULL) {
- media_svc_error("buf is NULL");
+ media_svc_debug("buf is NULL");
return MS_MEDIA_ERR_INVALID_PARAMETER;
}
if (strptime(timstr, "%Y:%m:%d %H:%M:%S", &t) || strptime(timstr, "%Y-%m-%d %H:%M:%S", &t)) {
t.tm_isdst = timeinfo.tm_isdst;
if (t.tm_isdst != 0)
- media_svc_error("DST %d", t.tm_isdst);
+ media_svc_debug("DST %d", t.tm_isdst);
modified_t = mktime(&t);
if (modified_t > 0)
return modified_t;
else
- media_svc_error("Failed to get timeline : [%s] [%d:%d:%d: %d:%d:%d]", timstr, t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);
+ media_svc_debug("Failed to get timeline : [%s] [%d:%d:%d: %d:%d:%d]", timstr, t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec);
} else {
media_svc_error("Failed to get timeline : [%s]", timstr);
}
return _media_svc_get_mmc_info(db_handle, storage_name, storage_path, validity, info_exist);
}
-int media_svc_check_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity)
+int media_svc_check_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid)
{
sqlite3 * db_handle = (sqlite3 *)handle;
media_svc_retvm_if(storage_path == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "storage_path is NULL");
media_svc_retvm_if(validity == NULL, MS_MEDIA_ERR_INVALID_PARAMETER, "validity is NULL");
- return _media_svc_check_storage(db_handle, storage_id, storage_name, storage_path, validity);
+ return _media_svc_check_storage(db_handle, storage_id, storage_name, storage_path, validity, uid);
}
int media_svc_update_storage(MediaSvcHandle *handle, const char *storage_id, const char *storage_path, uid_t uid)
int _media_svc_init_storage(sqlite3 *handle, uid_t uid);
int _media_svc_get_mmc_info(MediaSvcHandle *handle, char **storage_name, char **storage_path, int *validity, bool *info_exist);
-int _media_svc_check_storage(sqlite3 *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity);
+int _media_svc_check_storage(sqlite3 *handle, const char *storage_id, const char *storage_name, char **storage_path, int *validity, uid_t uid);
int _media_svc_append_storage(const char *storage_id, const char *storage_name, const char *storage_path, const char *storage_account, media_svc_storage_type_e storage_type, uid_t uid);
int _media_svc_update_storage_path(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid);
int _media_svc_delete_storage(const char *storage_id, const char *storage_name, uid_t uid);