/* LOGE("number of remained buffer %d", g_list_length(muse_player->data_list)); */
- for (iter = muse_player->data_list; iter; iter = g_list_next(iter)) {
-
+ iter = g_list_first(muse_player->data_list);
+ while (iter) {
export_data = (muse_player_export_data_s *)iter->data;
if ((export_data) &&
(export_data->key == key || remove_all)) {
LOGW("bo for key:%d is NULL", key);
}
+ iter = g_list_next(iter);
+
muse_player->data_list = g_list_remove(muse_player->data_list, export_data);
g_free(export_data);
export_data = NULL;
g_mutex_unlock(&muse_player->list_lock);
return ret;
}
+ } else {
+ iter = g_list_next(iter);
}
}