summaryrefslogtreecommitdiff
path: root/videoprovider.cpp
blob: 6aae2d67602d1bfe30ce442aeefc922842e4730c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include "videoprovider.h"

#include <stdexcept>
#include <AR/video.h>

VideoProvider::VideoProvider() {
	// Open video device.
	if(arVideoOpen(NULL) < 0) {
		throw(std::runtime_error("arVideoOpen() failed."));
	}

	// Find the size of the window.
	if(arVideoInqSize(&xsize, &ysize) < 0) {
		throw(std::runtime_error("arVideoInqSize() failed."));
	}
}

VideoProvider::~VideoProvider() {
	stop();
	arVideoClose();
}

void VideoProvider::start() {
	arVideoCapStart();
}

void VideoProvider::stop() {
	arVideoCapStop();
}

uint8_t* VideoProvider::get() {
	return arVideoGetImage();
}

void VideoProvider::next() {
	arVideoCapNext();
}