#define MEDIA_CONTENT_UUID_SIZE 36
#define BATCH_REQUEST_MAX 300
-#define EMPTY_STR ""
-
typedef enum {
MEDIA_INFO_UUID = 0,
MEDIA_INFO_PATH,
} media_info_item_e;
typedef enum {
- MEDIA_CONTENT_TYPE = 0,
- MEDIA_THUMBNAIL_TYPE,
- MEDIA_REGISTER_TYPE
-} media_info_error_type_e;
-
-typedef enum {
MEDIA_TAG_ADD,
MEDIA_TAG_REMOVE,
MEDIA_TAG_UPDATE_TAG_NAME,
#define SELECT_FACE_ID "SELECT media_face_id FROM "DB_TABLE_FACE" WHERE media_id='%q' AND face_rect_x=%d AND face_rect_y=%d AND face_rect_w=%d AND face_rect_h=%d AND face_orientation=%d"
int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condition_query, char *option_query);
-int _content_error_capi(int type, int cotent_error);
+int _content_error_capi(int content_error);
int _content_query_sql(char *query_str);
sqlite3 * _content_get_db_handle(void);
uid_t _content_get_uid(void);
#define UPDATE_UHD_META_FROM_UHD "UPDATE "DB_TABLE_UHD" SET content_title=%Q, release_date=%Q, played_position=%d, sub_type=%d, played_count=%d WHERE media_id='%q'"
int _content_query_prepare(sqlite3_stmt **stmt, char *select_query, char *condition_query, char *option_query);
-int _content_error_capi(int type, int cotent_error);
+int _content_error_capi(int content_error);
int _content_query_sql(char *query_str);
sqlite3 * _content_get_db_handle(void);
uid_t _content_get_uid(void);
Name: capi-content-media-content
Summary: A Media content library in Tizen Native API
-Version: 0.4.0
+Version: 0.4.1
Release: 0
Group: Multimedia/API
License: Apache-2.0
}
#endif
-int _content_error_capi(int type, int content_error)
+int _content_error_capi(int content_error)
{
if (content_error != MEDIA_CONTENT_ERROR_NONE)
- media_content_error("[type : %d] content_error : %d ", type, content_error);
+ media_content_error("MS Error[%d]", content_error);
/*Error None*/
if (content_error == MS_MEDIA_ERR_NONE)
/*DB will be updated by Media Server.*/
ret = media_db_request_update_db(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_content_connect(void)
if (ref_count == 0) {
if (db_handle == NULL) {
ret = media_db_connect(&db_handle, _content_get_uid(), false);
- ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ ret = _content_error_capi(ret);
if (ret == MEDIA_CONTENT_ERROR_NONE)
ref_count++;
} else {
if (ref_count == 0) {
if (db_handle != NULL) {
ret = media_db_disconnect(db_handle);
- ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ ret = _content_error_capi(ret);
if (ret == MEDIA_CONTENT_ERROR_NONE) {
db_handle = NULL;
} else {
ret = media_svc_get_storage_id(_content_get_db_handle(), repl_path, storage_id, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
check_file = _media_util_check_file_exist(repl_path);
ret = ms_user_get_storage_type(_content_get_uid(), repl_path, &storage_type);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("ms_user_get_storage_type failed : %d (%s)", ret, repl_path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = media_svc_check_item_exist_by_path(_content_get_db_handle(), storage_id, repl_path);
if (ret == MS_MEDIA_ERR_NONE) {
ret = media_svc_refresh_item(_content_get_db_handle(), storage_id, storage_type, repl_path, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_refresh_item failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
} else if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
media_content_sec_error("media_svc_insert_item_immediately failed : %d (%s)", ret, repl_path);
}
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
} else {
media_content_error("media_svc_check_item_exist_by_path failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
} else if (check_file == MEDIA_CONTENT_ERROR_PERMISSION_DENIED) {
media_content_error("You have no permission for this file %d", ret);
}
media_content_error("media_svc_delete_item_by_path failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
}
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
void _media_content_scan_cb(media_request_result_s* result, void *user_data)
int err = -1;
media_content_scan_cb_data *cb_data = user_data;
- err = _content_error_capi(MEDIA_REGISTER_TYPE, result->result);
+ err = _content_error_capi(result->result);
#ifdef _USE_TVPD_MODE
if (result->request_type != MEDIA_REQUEST_SCAN_COMPLETE &&
result->request_type != MEDIA_REQUEST_SCAN_PARTIAL) {
media_content_complete_phase_e complete_phase = -1;
if (!cb_data)
media_content_debug("cb_data is NULL");
- err = _content_error_capi(MEDIA_REGISTER_TYPE, result->result);
+ err = _content_error_capi(result->result);
media_content_debug("result is %d", err);
if (result->request_type == MEDIA_REQUEST_SCAN_PARTIAL)
ret = ms_user_get_storage_type(_content_get_uid(), repl_path, &storage_type);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("ms_user_get_storage_type failed : %d (%s)", ret, repl_path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
media_content_debug("This path doesn't exists in file system... So will be deleted it from DB");
ret = media_svc_get_storage_id(_content_get_db_handle(), repl_path, storage_id, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
media_content_scan_cb_data *cb_data = NULL;
SAFE_FREE(cb_data);
}
- return _content_error_capi(MEDIA_REGISTER_TYPE, ret);
+ return _content_error_capi(ret);
}
#ifdef _USE_TVPD_MODE
if (ret != MS_MEDIA_ERR_NONE)
media_content_error("media_directory_scanning_async failed : %d", ret);
- return _content_error_capi(MEDIA_REGISTER_TYPE, ret);
+ return _content_error_capi(ret);
}
#endif
if (ret != MS_MEDIA_ERR_NONE)
media_content_error("media_directory_scanning_async failed : %d", ret);
- return _content_error_capi(MEDIA_REGISTER_TYPE, ret);
+ return _content_error_capi(ret);
}
void _media_content_db_update_noti_cb(
ret = media_db_update_subscribe_internal((MediaNotiHandle*)noti_handle, _media_content_db_update_noti_cb, (void *)noti_info);
- return _content_error_capi(MEDIA_REGISTER_TYPE, ret);
+ return _content_error_capi(ret);
}
void __media_content_clear_user_data(void *user_data)
ret = media_db_update_unsubscribe_internal((MediaNotiHandle)noti_handle, __media_content_clear_user_data);
- return _content_error_capi(MEDIA_REGISTER_TYPE, ret);
+ return _content_error_capi(ret);
}
#ifdef _USE_TVPD_MODE
GMutex* _content_get_db_mutex(void)
ret = media_svc_rename_folder(_content_get_db_handle(), _folder->storage_uuid, g_src_path, repl_path, _content_get_uid());
SAFE_FREE(g_src_path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
return ret;
ret = media_svc_get_storage_id(_content_get_db_handle(), repl_path, storage_id, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = media_svc_check_folder_exist_by_path(_content_get_db_handle(), storage_id, repl_path);
ret = ms_user_get_storage_type(_content_get_uid(), repl_path, &storage_type);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("ms_user_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = media_svc_insert_folder(_content_get_db_handle(), storage_id, storage_type, repl_path, _content_get_uid());
media_content_sec_error("media_svc_insert_folder failed : %d (%s)", ret, repl_path);
}
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = media_svc_set_folder_scan_status(storage_id, repl_path, MEDIA_DIR_SCAN_DONE, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("ms_set_folder_scan_status failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
} else if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("media_svc_check_folder_exist_by_path failed : %d (%s)", ret, repl_path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
return ret;
ret = media_svc_get_folder_scan_status(_content_get_db_handle(), storage_uuid, path, &status);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_folder_scan_status failed");
- ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
*scan_status = status;
}
if (_cb_data) {
if (result)
- ret = _content_error_capi(MEDIA_CONTENT_TYPE, result->result);
+ ret = _content_error_capi(result->result);
if (_cb_data->insert_completed_cb) {
media_content_debug("User callback is being called now");
if (STRING_VALID(path))
media->thumbnail_path = g_strdup(path);
else
- media->thumbnail_path = g_strdup(EMPTY_STR);
+ media->thumbnail_path = g_strdup(MEDIA_CONTENT_EMPTY_STRING);
}
media_content_debug("error [%d], thumbnail_path [%s]", error, path);
- error_value = _content_error_capi(MEDIA_THUMBNAIL_TYPE, error);
+ error_value = _content_error_capi(error);
if (_thumb_cb->thumbnail_completed_cb)
_thumb_cb->thumbnail_completed_cb(error_value, path, _thumb_cb->user_data);
}
if (_face_cb != NULL) {
media_content_debug("error [%d], face_count [%d]", error, face_count);
- error_value = _content_error_capi(MEDIA_THUMBNAIL_TYPE, error);
+ error_value = _content_error_capi(error);
if (_face_cb->face_completed_cb)
_face_cb->face_completed_cb(error_value, face_count, _face_cb->user_data);
}
media_content_error("media_files_register failed : %d", ret);
if (unlink(list_path) < 0)
media_content_stderror("failed to delete");
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
return ret;
ret = media_svc_get_storage_id(_content_get_db_handle(), repl_path, storage_id, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = ms_user_get_storage_type(_content_get_uid(), repl_path, &storage_type);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_sec_error("ms_user_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
/* Get modified time for check exists */
ret = media_svc_refresh_item(_content_get_db_handle(), storage_id, storage_type, repl_path, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_refresh_item failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
}
} else if (ret == MS_MEDIA_ERR_DB_NO_RECORD) {
media_content_sec_error("media_svc_insert_item_immediately failed : %d (%s)", ret, repl_path);
}
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
} else {
media_content_sec_error("media_svc_get_modified_time failed : %d (%s)", ret, repl_path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
media_info_s *_media = (media_info_s*)calloc(1, sizeof(media_info_s));
ret = media_svc_get_storage_id(_content_get_db_handle(), path, storage_id, tzplatform_getuid(TZ_USER_NAME));
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
media_info_s *_media = (media_info_s*)calloc(1, sizeof(media_info_s));
ret = media_svc_delete_item_by_path(_content_get_db_handle(), storage_id, path, _content_get_uid());
SAFE_FREE(path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_info_destroy(media_info_h media)
ret = media_svc_remove_file(path);
SAFE_FREE(path);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_info_get_contact(media_info_h media, char **contact)
ret = media_svc_get_storage_id(_content_get_db_handle(), org_repl_path, storage_id, _content_get_uid());
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_id failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
ret = media_svc_move_item(_content_get_db_handle(), org_repl_path, repl_path, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_info_create_thumbnail(media_info_h media, media_thumbnail_completed_cb callback, void *user_data)
_thumb_cb->thumbnail_completed_cb = callback;
ret = thumbnail_request_from_db_async(_media->request_id, repl_path, (ThumbFunc)__media_info_thumbnail_completed_cb, (void *)_thumb_cb, _content_get_uid());
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
media_content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
ret = media_svc_create_thumbnail(_media->storage_uuid, repl_path, _media->media_type, _content_get_uid(), &thumb_path);
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
+ ret = _content_error_capi(ret);
if (ret == MEDIA_CONTENT_ERROR_UNSUPPORTED_CONTENT) {
SAFE_FREE(thumb_path);
return ret;
if (_media != NULL && STRING_VALID(_media->media_id) && _media->request_id > 0) {
ret = thumbnail_request_cancel_media(_media->request_id);
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
_face_cb->face_completed_cb = callback;
ret = dcm_request_extract_face_async(_media->face_request_id, repl_path, (FaceFunc)__media_info_face_completed_cb, (void *)_face_cb, _content_get_uid());
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
if (_media != NULL && STRING_VALID(_media->media_id) && _media->face_request_id > 0) {
ret = dcm_request_cancel_face(_media->face_request_id);
- ret = _content_error_capi(MEDIA_THUMBNAIL_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
query_str = sqlite3_mprintf(INSERT_PLAYLIST_ITEM_TO_PLAYLIST_MAP, playlist_id, media_id, play_order);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_playlist_remove_item_from_playlist(int playlist_id, int playlist_member_id)
query_str = sqlite3_mprintf(REMOVE_PLAYLIST_ITEM_FROM_PLAYLIST_MAP, playlist_id, playlist_member_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_playlist_update_playlist_name(int playlist_id, const char *playlist_name)
query_str = sqlite3_mprintf(UPDATE_PLAYLIST_NAME_FROM_PLAYLIST, playlist_name, playlist_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_playlist_update_thumbnail_path(int playlist_id, const char *path)
query_str = sqlite3_mprintf(UPDATE_PLAYLIST_THUMBNAIL_FROM_PLAYLIST, path, playlist_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_playlist_update_play_order(int playlist_id, int playlist_member_id, int play_order)
query_str = sqlite3_mprintf(UPDATE_PLAYLIST_ORDER_FROM_PLAYLIST_MAP, play_order, playlist_id, playlist_member_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static bool __media_playlist_media_info_cb(media_info_h media, void *user_data)
__media_playlist_item_release(_playlist);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_playlist_import_from_file(const char *path, const char *playlist_name, media_playlist_h *playlist)
ret = media_svc_get_storage_scan_status(_content_get_db_handle(), storage_uuid, &status);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("media_svc_get_storage_scan_status failed");
- ret = _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ ret = _content_error_capi(ret);
} else {
*scan_status = status;
}
query_str = sqlite3_mprintf("INSERT INTO %q (tag_id, media_id) values (%d, '%q');", DB_TABLE_TAG_MAP, tag_id, media_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_tag_remove_item_from_tag(int tag_id, const char *media_id)
query_str = sqlite3_mprintf(REMOVE_TAG_ITEM_FROM_TAG_MAP, tag_id, media_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_tag_update_tag_name(int tag_id, const char *tag_name)
query_str = sqlite3_mprintf(UPDATE_TAG_NAME_FROM_TAG, tag_name, tag_id);
ret = media_svc_append_query(query_str, _content_get_uid());
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
static int __media_tag_get_tag_info_from_db(const char *name, media_tag_h tag)
__media_tag_item_release(_tag);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
int media_tag_create(media_tag_h *tag)
ret = ms_user_get_storage_type(_content_get_uid(), dir_path, &storage_type);
if (ret != MS_MEDIA_ERR_NONE) {
media_content_error("ms_user_get_storage_type failed : %d", ret);
- return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+ return _content_error_capi(ret);
}
char *leaf_path = NULL;