From 587746e3dbbef8dd3bc44cbfe6314cbabd62cf00 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Tue, 6 Apr 2010 21:39:57 +0200 Subject: =?UTF-8?q?=E2=80=A6=20there.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- videoprovider.cpp | 37 +++++++++++++++++++++++++++++++++++++ videoprovider.h | 19 +++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 videoprovider.cpp create mode 100644 videoprovider.h diff --git a/videoprovider.cpp b/videoprovider.cpp new file mode 100644 index 0000000..6aae2d6 --- /dev/null +++ b/videoprovider.cpp @@ -0,0 +1,37 @@ +#include "videoprovider.h" + +#include +#include + +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(); +} diff --git a/videoprovider.h b/videoprovider.h new file mode 100644 index 0000000..d9d3bc7 --- /dev/null +++ b/videoprovider.h @@ -0,0 +1,19 @@ +#ifndef VIDEOPROVIDER_H +#define VIDEOPROVIDER_H + +#include + +class VideoProvider { + public: + int xsize, ysize; + + VideoProvider(); + ~VideoProvider(); + + void start(); + void stop(); + uint8_t* get(); + void next(); +}; + +#endif -- cgit v1.2.3