static void __media_playlist_item_free(gpointer item)
{
media_playlist_item_s *_item = (media_playlist_item_s *)item;
- SAFE_FREE(_item->media_id);
- SAFE_FREE(_item->playlist_name);
- SAFE_FREE(_item->thumbnail_path);
- SAFE_FREE(_item);
+
+ g_free(_item->media_id);
+ g_free(_item->playlist_name);
+ g_free(_item->thumbnail_path);
+ g_free(_item);
}
static void __media_playlist_item_release(media_playlist_s *playlist)
{
int tmp_str_len = 0;
char tmp_str[MAX_PATH_LEN] = {0, };
- char repl_item[MAX_PATH_LEN] = {0, };
FILE *fp = NULL;
fp = fopen(playlist_path, "rb");
return MEDIA_CONTENT_ERROR_INVALID_OPERATION;
}
- memset(tmp_str, 0, sizeof(tmp_str));
while (fgets(tmp_str, MAX_PATH_LEN, fp) != NULL) {
- memset(repl_item, 0, sizeof(repl_item));
- _media_content_replace_path(tmp_str, repl_item);
-
- tmp_str_len = strlen(repl_item);
+ tmp_str_len = strlen(tmp_str);
/* Check for empty file */
if (tmp_str_len <= 1)
continue;
- if (repl_item[0] == '#')
+ if (tmp_str[0] == '#')
continue;
- if (repl_item[tmp_str_len - 1] == '\n')
- repl_item[tmp_str_len - 1] = '\0';
+ if (tmp_str[tmp_str_len - 1] == '\n')
+ tmp_str[tmp_str_len - 1] = '\0';
- *item_list = g_slist_append(*item_list, g_strdup(repl_item));
+ *item_list = g_slist_append(*item_list, g_strdup(tmp_str));
}
fclose(fp);
int playlist_id = 0;
content_retip_if_fail(STRING_VALID(name));
+ content_retip_if_fail(playlist);
- media_playlist_s *_playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
- content_retvm_if(_playlist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ media_playlist_s *_playlist = g_new0(media_playlist_s, 1);
ret = __media_playlist_insert_playlist_record(name, &playlist_id);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
- SAFE_FREE(_playlist);
+ g_free(_playlist);
return ret;
}
int media_playlist_destroy(media_playlist_h playlist)
{
media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
content_retip_if_fail(playlist);
- SAFE_FREE(_playlist->name);
- SAFE_FREE(_playlist->thumbnail_path);
- SAFE_FREE(_playlist);
+ __media_playlist_item_release(_playlist);
+
+ g_free(_playlist->name);
+ g_free(_playlist->thumbnail_path);
+ g_free(_playlist);
return MEDIA_CONTENT_ERROR_NONE;
}
int media_playlist_clone(media_playlist_h *dst, media_playlist_h src)
{
media_playlist_s *_src = (media_playlist_s *)src;
- content_retip_if_fail(_src);
- media_playlist_s *_dst = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
- content_retvm_if(_dst == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ content_retip_if_fail(dst);
+ content_retip_if_fail(src);
+
+ media_playlist_s *_dst = g_new0(media_playlist_s, 1);
_dst->playlist_id = _src->playlist_id;
_dst->name = g_strdup(_src->name);
char *query = NULL;
content_retipm_if_fail(playlist_id > 0, "%d", playlist_id);
+ content_retip_if_fail(playlist);
query = sqlite3_mprintf(SELECT_PLAYLIST_FROM_PLAYLIST, playlist_id);
media_playlist_s *_playlist = NULL;
if (sqlite3_step(stmt) == SQLITE_ROW) {
- _playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
- if (_playlist == NULL) {
- content_error("Out of memory");
- SQLITE3_FINALIZE(stmt);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
+ _playlist = g_new0(media_playlist_s, 1);
_playlist->playlist_id = playlist_id;
_playlist->name = g_strdup((const char *)sqlite3_column_text(stmt, 0));
int media_playlist_get_playlist_id(media_playlist_h playlist, int *playlist_id)
{
media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
content_retip_if_fail(playlist);
content_retip_if_fail(playlist_id);
int media_playlist_get_name(media_playlist_h playlist, char **name)
{
media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
content_retip_if_fail(playlist);
content_retip_if_fail(name);
int media_playlist_get_thumbnail_path(media_playlist_h playlist, char **path)
{
media_playlist_s *_playlist = (media_playlist_s *)playlist;
+
content_retip_if_fail(playlist);
content_retip_if_fail(path);
content_retip_if_fail(playlist);
content_retip_if_fail(STRING_VALID(playlist_name));
- SAFE_FREE(_playlist->name);
+ g_free(_playlist->name);
- item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
- content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ item = g_new0(media_playlist_item_s, 1);
item->playlist_name = g_strdup(playlist_name);
item->function = MEDIA_PLAYLIST_UPDATE_PLAYLIST_NAME;
content_retip_if_fail(playlist);
content_retip_if_fail(STRING_VALID(path));
- SAFE_FREE(_playlist->thumbnail_path);
+ g_free(_playlist->thumbnail_path);
- item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
- content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ item = g_new0(media_playlist_item_s, 1);
item->thumbnail_path = g_strdup(path);
item->function = MEDIA_PLAYLIST_UPDATE_THUMBNAIL_PATH;
content_retipm_if_fail(playlist_member_id > 0, "%d", playlist_member_id);
content_retipm_if_fail(play_order >= 0, "%d", play_order);
- item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
- content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ item = g_new0(media_playlist_item_s, 1);
item->playlist_member_id = playlist_member_id;
item->function = MEDIA_PLAYLIST_UPDATE_PLAY_ORDER;
content_retip_if_fail(playlist);
content_retip_if_fail(STRING_VALID(media_id));
- item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
- content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ item = g_new0(media_playlist_item_s, 1);
item->media_id = g_strdup(media_id);
item->function = MEDIA_PLAYLIST_ADD;
content_retip_if_fail(playlist);
content_retipm_if_fail(playlist_member_id > 0, "%d", playlist_member_id);
- item = (media_playlist_item_s *)calloc(1, sizeof(media_playlist_item_s));
- content_retvm_if(item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ item = g_new0(media_playlist_item_s, 1);
item->playlist_member_id = playlist_member_id;
item->function = MEDIA_PLAYLIST_REMOVE;
int ret = MEDIA_CONTENT_ERROR_NONE;
char *query = NULL;
sqlite3_stmt *stmt = NULL;
+
content_retip_if_fail(path);
+ content_retip_if_fail(media_id);
#ifdef _USE_TVPD_MODE
query = sqlite3_mprintf("SELECT media_id FROM '%q' WHERE media_path='%q'", DB_VIEW_MEDIA, path);
{
int ret = MEDIA_CONTENT_ERROR_NONE;
GSList *item_list = NULL;
- char repl_path[MAX_PATH_LEN] = {0, };
content_retip_if_fail(STRING_VALID(path));
content_retip_if_fail(STRING_VALID(playlist_name));
- memset(repl_path, 0, sizeof(repl_path));
- ret = _media_content_replace_path(path, repl_path);
- content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
ret = media_playlist_insert_to_db(playlist_name, playlist);
content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "media_playlist_insert_to_db fail");
- ret = __media_playlist_import_item_from_file(repl_path, &item_list);
+ ret = __media_playlist_import_item_from_file(path, &item_list);
content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "Fail to get playlist from file");
g_slist_foreach(item_list, __media_playlist_foreach_item, playlist);
int ret = MEDIA_CONTENT_ERROR_NONE;
media_playlist_s *_playlist = (media_playlist_s *)playlist;
GList *item_list = NULL;
- unsigned int idx = 0;
- char repl_path[MAX_PATH_LEN] = {0, };
+ GList *iter = NULL;
+ char *item = NULL;
content_retip_if_fail(STRING_VALID(path));
content_retip_if_fail(playlist);
content_retipm_if_fail(_playlist->playlist_id > 0, "%d", _playlist->playlist_id);
- memset(repl_path, 0, sizeof(repl_path));
- ret = _media_content_replace_path(path, repl_path);
- content_retvm_if(!STRING_VALID(repl_path), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
ret = _media_db_get_playlist_item(_playlist->playlist_id, NULL, __media_playlist_member_cb, &item_list);
content_retvm_if(ret != MEDIA_CONTENT_ERROR_NONE, ret, "_media_db_get_playlist_item fail");
- ret = __media_playlist_reset_file(repl_path);
+ ret = __media_playlist_reset_file(path);
if (ret != MEDIA_CONTENT_ERROR_NONE) {
- g_list_free_full(item_list, g_free);
content_error("Fail to init playlist file");
- return ret;
+ goto FINALIZE;
}
- for (idx = 0; idx < g_list_length(item_list); idx++) {
- char *item = g_list_nth_data(item_list, idx);
- 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, g_free);
- content_error("Fail to export paths into file");
- return ret;
- }
+ for (iter = item_list; iter; iter = g_list_next(iter)) {
+ item = (char *)iter->data;
+ if (!STRING_VALID(item))
+ continue;
+
+ ret = __media_playlist_append_to_file(path, item);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ content_error("Fail to export paths into file");
+ goto FINALIZE;
}
}
+FINALIZE:
g_list_free_full(item_list, g_free);
return ret;
{
content_retip_if_fail(playlist);
- media_playlist_s *_playlist = (media_playlist_s *)calloc(1, sizeof(media_playlist_s));
- content_retvm_if(_playlist == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ media_playlist_s *_playlist = g_new0(media_playlist_s, 1);
_playlist->playlist_id = -1;
_playlist->name = NULL;