select_query = sqlite3_mprintf(SELECT_PLAYLIST_ID_FROM_PLAYLIST, playlist_name);
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ ret = _content_get_result(select_query, &stmt);
SQLITE3_SAFE_FREE(select_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- while (sqlite3_step(stmt) == SQLITE_ROW)
+ if (sqlite3_step(stmt) == SQLITE_ROW)
*playlist_id = (int)sqlite3_column_int(stmt, 0);
SQLITE3_FINALIZE(stmt);
snprintf(select_query, sizeof(select_query), SELECT_MAX_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id);
/* get the max play_order */
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ ret = _content_get_result(select_query, &stmt);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- while (sqlite3_step(stmt) == SQLITE_ROW)
+ if (sqlite3_step(stmt) == SQLITE_ROW)
play_order = (int)sqlite3_column_int(stmt, 0);
SQLITE3_FINALIZE(stmt);
++play_order;
- query_str = sqlite3_mprintf("INSERT INTO %q (playlist_id, media_uuid, play_order) values (%d, '%q', %d);",
- DB_TABLE_PLAYLIST_MAP, playlist_id, media_id, play_order);
+ 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)
fp = fopen(playlist_path, "rb");
media_content_retvm_if(fp == NULL, MEDIA_CONTENT_ERROR_INVALID_OPERATION, "fopen fail");
- fseek(fp, 0, SEEK_END);
+ if (fseek(fp, 0, SEEK_END) < 0) {
+ media_content_stderror("fseek failed");
+ fclose(fp);
+ return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
+ }
file_size = ftell(fp);
- fseek(fp, 0 , SEEK_SET);
-
if (file_size == 0) {
media_content_debug("file is empty.");
fclose(fp);
return MEDIA_CONTENT_ERROR_NONE;
}
+ if (fseek(fp, 0, SEEK_SET) < 0) {
+ media_content_stderror("fseek failed");
+ fclose(fp);
+ return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
+ }
+
*item_list = calloc(current_max_size, sizeof(char*));
if (*item_list == NULL) {
fclose(fp);
snprintf(select_query, sizeof(select_query), SELECT_PLAYLIST_FROM_PLAYLIST, playlist_id);
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ ret = _content_get_result(select_query, &stmt);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
media_playlist_s *_playlist = NULL;
- while (sqlite3_step(stmt) == SQLITE_ROW) {
- if (_playlist)
- media_playlist_destroy((media_playlist_h)_playlist);
-
+ if (sqlite3_step(stmt) == SQLITE_ROW) {
_playlist = (media_playlist_s*)calloc(1, sizeof(media_playlist_s));
if (_playlist == NULL) {
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
}
- _playlist->playlist_id = (int)sqlite3_column_int(stmt, 0);
- _playlist->name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
- _playlist->thumbnail_path = g_strdup((const char *)sqlite3_column_text(stmt, 3));
+ _playlist->playlist_id = playlist_id;
+ _playlist->name = g_strdup((const char *)sqlite3_column_text(stmt, 0));
+ _playlist->thumbnail_path = g_strdup((const char *)sqlite3_column_text(stmt, 1));
*playlist = (media_playlist_h)_playlist;
+ } else {
+ media_content_error("Nonexistent playlist id[%d]", playlist_id);
+ ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
SQLITE3_FINALIZE(stmt);
snprintf(select_query, sizeof(select_query), SELECT_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id, playlist_member_id);
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ ret = _content_get_result(select_query, &stmt);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- while (sqlite3_step(stmt) == SQLITE_ROW)
+ if (sqlite3_step(stmt) == SQLITE_ROW)
*play_order = (int)sqlite3_column_int(stmt, 0);
SQLITE3_FINALIZE(stmt);
default:
break;
}
+
+ if (ret != MEDIA_CONTENT_ERROR_NONE)
+ media_content_error("Failed some operation[%d]", _playlist_item->function);
}
+
}
ret = media_svc_send_query(_content_get_uid());
__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)
media_content_error("error media_filter_create");
return ret;
}
- condition = sqlite3_mprintf("path = '%q'", import_item_list[idx]);
+ condition = sqlite3_mprintf("media_path = '%q'", import_item_list[idx]);
ret = media_filter_set_condition(filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
__media_playlist_destroy_import_item(import_item_list, import_item_count);
GList *item_list = NULL;
unsigned int idx = 0;
char repl_path[MAX_PATH_LEN] = {0, };
- char repl_item[MAX_QUERY_SIZE] = {0, };
media_content_retvm_if(!STRING_VALID(path), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid path");
media_content_retvm_if(_playlist == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid playlist");
for (idx = 0; idx < g_list_length(item_list); idx++) {
char *item = g_list_nth_data(item_list, idx);
- memset(repl_item, 0, sizeof(repl_item));
- ret = _media_content_rollback_path(item, repl_item);
-
- ret = __media_playlist_append_to_file(repl_path, repl_item);
- if (ret != MEDIA_CONTENT_ERROR_NONE) {
- g_list_free_full(item_list, __media_playlist_destroy_export_item);
- media_content_error("Fail to export paths into file");
- return ret;
+ if (STRING_VALID(item)) {
+ ret = __media_playlist_append_to_file(repl_path, item);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ g_list_free_full(item_list, __media_playlist_destroy_export_item);
+ media_content_error("Fail to export paths into file");
+ return ret;
+ }
}
}
snprintf(select_query, sizeof(select_query), SELECT_PLAY_ORDER_FROM_PLAYLIST_VIEW, playlist_id, playlist_member_id);
- ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
+ ret = _content_get_result(select_query, &stmt);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- while (sqlite3_step(stmt) == SQLITE_ROW)
+ if (sqlite3_step(stmt) == SQLITE_ROW)
*play_order = (int)sqlite3_column_int(stmt, 0);
SQLITE3_FINALIZE(stmt);