Exemplo n.º 1
0
/*
initcamdev();
initscrdev();

while(!stop){
	cnfig = getcnfg()
	data = getapic(cnfg);

	data1 = decode(data);

	show(data1,pos)
}

closedev();
*/ 
int main()
{
    int fd;
    fd = open_camera_device();
    init_camera_device(fd);
    start_capture(fd);
    mainloop(fd);
    stop_capture(fd);
    close_camera_device(fd);
    return 0;
}
Exemplo n.º 2
0
static void * camera_thread(DirectThread *thread, void *arg)
{
	int camera_dev_num = 0;
	int second_dev_num = -1;
	int fid;
	struct stat st;
	bool same_sensor_flg = false;
	char *back = "b";
	char *front = "f";
	int cur_stat = 0;
	int *num = arg;
    int width = camera_pixel_width;
	int height = camera_pixel_height;
    
	printf("camera num = %d\n", *num);
	
	if (0 == stat("/dev/video3", &st))
	{
		printf("got two sensor at video0 video3\n");
		second_dev_num = 3;
	}
#ifndef __GS702C__
	else if (0 == stat("/dev/video1", &st))
	{

		printf("got two sensor at video0 video1\n");
		second_dev_num = 1;
	}
#endif
	if (second_dev_num < 0)
	{
		same_sensor_flg = true;
		printf("got two same sensor\n");
	}

	while(true)
	{
		do
		{
			if(open_camera_device(camera_dev_num, *num) == -1)
			{
				printf("open camera %d error\n", camera_dev_num);
				direct_thread_sleep( 1000000 );
				break;
			}
			if(init_camera_device(&width, &height) == -1)
			{
				printf("init camera %d error\n", camera_dev_num);
				close_camera_device();
				break;
			}
			camera_start_capturing();
			camera_mainloop();
			camera_stop_capturing();
			uninit_camera_device();
			close_camera_device();
		}while(0);
		
		if(same_sensor_flg)
		{
			fid = open("/sys/bus/platform/devices/camera_flag_device.0/front_back", O_WRONLY);
			if(0 == cur_stat)
			{
				write(fid,back,1);
				close(fid);
				cur_stat = 1;
			}
			else
			{
				write(fid,front,1);
				close(fid);
				cur_stat = 0;
			}
		}
		else
		{
			if(camera_dev_num)
			{
				camera_dev_num = 0;
				//printf("switch to video0, the rear camera \n");
			}
			else
			{
				camera_dev_num = second_dev_num;
				printf("switch to video%d, front-facing cameras \n", second_dev_num);
			}
		}
	}
}