void test_for_memory_leaks() {
	int x;
	board *board;
	play *play;
	play_list *pl;
	
	/*
	printf( "Hit enter to test board creation and deletion\n" );
	getchar();
	*/
	printf( "Testing board creation and deletion\n" );
	for( x = 0; x < 100000; x++ ) {
		board = create_board( );
		// printf( "%d\n", board );
		delete_board( board );
	}
		// printf( "%d\n", board );

	/*
	printf( "Hit enter to test play creation and deletion\n" );
	getchar();
	*/
	printf( "Testing play creation and deletion\n" );
	for( x = 0; x < 100000; x++ ) {
		play = create_play( );
		printf( "%d\n", play );
		delete_play( play );
	}
	printf( "%d\n", play );

	/*
	printf( "Hit enter to test play list creation and deletion\n" );
	getchar();
	*/

	printf( "Testing play list creation and deletion\n" );
	for( x = 0; x < 1000000; x++ ) { 
		pl = create_play_list( 5 );
		/* print_play_list( pl ); */
		printf( "%d\n", pl );
		delete_play_list( pl );
	}
	printf( "%d\n", pl );
}
Esempio n. 2
0
RET_CODE win_set_imageplay_param(PlayListHandle *pplaylist, UINT32 idx, UINT8 folder_flag)
{
	UINT8 back_saved;
	RET_CODE retcode = RET_SUCCESS;
	FileInfo filenode;
	char image_name[FULL_PATH_SIZE];
	int playlist_idx;

	image_folderloop_flag = folder_flag;
	if(image_folderloop_flag == 1)
	{
		if(*pplaylist != NULL)
		{
			if(RET_SUCCESS != delete_play_list(*pplaylist))
			{
				return RET_FAILURE;
			}
		}
		*pplaylist = create_play_list(IMAGE_PLAY_LIST, "folder_image");
		if(*pplaylist == NULL)
		{
			return RET_FAILURE;
		}
		
		get_file_from_file_list(cur_filelist, idx, &filenode);
		win_get_fullname(image_name, filenode.path, filenode.name);
		win_compopup_init(WIN_POPUP_TYPE_SMSG);
		win_compopup_set_frame(200, 200, 200, 100);
		win_compopup_set_msg(NULL, NULL,RS_DISPLAY_PLEASE_WAIT);
		win_compopup_open_ext(&back_saved);
		retcode = add_all_file_list_items_to_play_list(*pplaylist, cur_filelist);
		osal_task_sleep(500);
		win_compopup_smsg_restoreback();
		if(retcode != RET_SUCCESS)
		{
			return RET_FAILURE;
		}
		if((filenode.filetype == F_JPG) || (filenode.filetype == F_BMP))
		{
			playlist_idx = get_play_list_index_by_name(*pplaylist, image_name);
		}
		else
		{
			playlist_idx = 1;
		}
		if(playlist_idx == -1)
		{
			return RET_FAILURE;
		}
		cur_playlist_image = *pplaylist;
		cur_image_idx = playlist_idx;
	}
	else
	{
		cur_playlist_image = *pplaylist;
		cur_image_idx = idx;
	}
	set_play_list_info(cur_playlist_image, &cur_image_idx, NULL);

	return RET_SUCCESS;
}
Esempio n. 3
0
static PRESULT playlist_colorkey_proc(VACTION unact)
{
	UINT16 curPos;
	PRESULT ret_proc = PROC_PASS;
	POBJLIST pOl;
	POBJECT_HEAD top_win;
	UINT8 back_saved;
	win_popup_choice_t choice;
	UINT32 file_num;
	
	pOl = &ol_playlist;
	curPos = OSD_GetObjListCurPoint(pOl);
	switch(unact)
	{
		case VACT_PLAY:
			top_win = (POBJECT_HEAD)(&g_win_usb_filelist);
			if(cur_playlist_type == PL_MUSIC)
			{
				win_set_musicplay_param(&cur_display_playlist,curPos+1,0);
				ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYMUSIC,(UINT32)top_win,TRUE);
			}
			else
			{
				win_set_imageplay_param(&cur_display_playlist, curPos+1,0);
				ap_send_msg(CTRL_MSG_SUBTYPE_CMD_PLAYIMAGE,(UINT32)top_win,TRUE);
			}
			ret_proc = PROC_LEAVE;
			break;
		case VACT_MOVE:
			if(moving_flag == 0)
			{
				moving_flag = 1;
				move_file_idx = curPos;
			}
			else
			{
				moving_flag = 0;
				//move file
				move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1);
				move_file_idx = INVALID_IDX;
			}
   			OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG);
			break;
		case VACT_DELETE:
			if(moving_flag == 1)
			{
				moving_flag = 0;
				//move file
				move_file_in_play_list(cur_display_playlist, move_file_idx+1, curPos+1);
				move_file_idx = INVALID_IDX;
			}
			delete_play_list_item(cur_display_playlist, curPos+1);

			if(cur_playlist_type == PL_MUSIC)
			{
				musiclist_changed = TRUE;
			}
			else
			{
				imagelist_changed = TRUE;
			}
			get_play_list_info(cur_display_playlist,&file_num, NULL);
			OSD_SetObjListCount(pOl, file_num);
   			if(file_num == 0)//all items have been deleted
   			{
 				delete_play_list(win_play_list[cur_playlist_type]);
				win_play_list[cur_playlist_type] = NULL;
  				ret_proc = PROC_LEAVE;
   				break;
   			}
   			if(curPos >= file_num)
   			{
   				OSD_SetObjListCurPoint(pOl, 0);
   				OSD_SetObjListNewPoint(pOl, 0);
   				OSD_SetObjListTop(pOl, 0);
   			}
   			OSD_TrackObject((POBJECT_HEAD)pOl, C_UPDATE_ALL | C_DRAW_SIGN_EVN_FLG);
			break;
		case VACT_DELETE_ALL:
 			win_compopup_init(WIN_POPUP_TYPE_OKNO);
 			win_compopup_set_msg(NULL,NULL,RS_MP_DELETE_PLAYLIST);
 			choice = win_compopup_open_ext(&back_saved);		
 			if(choice == WIN_POP_CHOICE_YES)
 			{
				delete_play_list(win_play_list[cur_playlist_type]);
				win_play_list[cur_playlist_type] = NULL;
				if(cur_playlist_type == PL_MUSIC)
				{
					musiclist_changed = TRUE;
				}
				else
				{
					imagelist_changed = TRUE;
				}
	   			ret_proc = PROC_LEAVE;
 			}
			break;
		default:
			break;
	}

	return ret_proc;
}