1 #ifndef CVD_VIDEOBUFFER_H 2 #define CVD_VIDEOBUFFER_H 4 #include <cvd/exceptions.h> 5 #include <cvd/videoframe.h> 66 virtual bool frame_pending() = 0;
69 virtual double frame_rate() = 0;
80 virtual void flush() = 0;
111 while(frame_pending())
112 put_frame(get_frame());
155 using CVD::Exceptions::All::All;
172 BadColourSpace(
const std::string& colourspace,
const std::string& b);
virtual RawVideoBuffer * source_buffer()
Which video grabber provides the source images for this video grabber.
Definition: videobuffer.h:44
Base class which provides untyped access to video grabber objects.
Definition: videobuffer.h:39
All classes and functions are within the CVD namespace.
Definition: argb.h:6
Base class for objects which provide a typed video stream.
Definition: videobuffer.h:88
VideoBufferType::Type type()
Returns the type of the video stream.
Definition: videobuffer.h:136
The buffer has live semantics: frames are throttled by something externa, but VideoBuffer::frame_pend...
Definition: videobuffer.h:23
virtual void seek_to(double)
Go to a particular point in the video buffer (only implemented in buffers of recorded video) ...
Definition: videobuffer.h:72
RawVideoBuffer * root_buffer()
Follow the chain of video grabbers back as far as at will go.
Definition: videobuffer.h:51
The semsntics of the videobuffer. See VideoFrame::type()
Definition: videobuffer.h:12
The buffer does not have live semantics: frames are not throttled by something external.
Definition: videobuffer.h:20
VideoBuffer(VideoBufferType::Type _type)
Construct the buffer with the known semantics.
Definition: videobuffer.h:92
Type
Definition: videobuffer.h:14
Base class for all CVD exceptions.
Definition: exceptions.h:15
Definition: image_ref.h:29
The VideoBuffer was unable to successfully complete a VideoBuffer::put_frame() operation.
Definition: videobuffer.h:160
Base class for all VideoBuffer exceptions.
Definition: videobuffer.h:153
A frame from a VideoBuffer.
Definition: videoframe.h:35
virtual void flush()
Flush all old frames out of the video buffer, on a flushable buffer, causing the next get_frame() to ...
Definition: videobuffer.h:108
The videobuffer was unable to successfully initialize grabbing in the specified colourspace.
Definition: videobuffer.h:168
The buffer is flushable: it is live and VideoBuffer::frame_pending() returns an accurate result...
Definition: videobuffer.h:26