#include <videobuffer.h>
Public Member Functions | |
virtual void | flush ()=0 |
virtual bool | frame_pending ()=0 |
virtual double | frame_rate ()=0 |
What is the (expected) frame rate of this video buffer, in frames per second? | |
RawVideoBuffer * | root_buffer () |
virtual void | seek_to (double) |
virtual ImageRef | size ()=0 |
The size of the VideoFrames returned by this buffer. | |
virtual RawVideoBuffer * | source_buffer () |
virtual | ~RawVideoBuffer () |
Base class which provides untyped access to video grabber objects. This provides all of the functionality for which the type does not need to be known (eg size, etc).
This allows one to follow chains of video buffers which change types (for instance code>ColourspaceBuffer<Rgb<byte>, byte>) and get to the underlying video grabber. This provides access to the grabber specific controls.
See progs/video_play_source.cc for a very basic example.
Definition at line 58 of file videobuffer.h.
virtual CVD::RawVideoBuffer::~RawVideoBuffer | ( | ) | [inline, virtual] |
Definition at line 80 of file videobuffer.h.
virtual void CVD::RawVideoBuffer::flush | ( | ) | [pure virtual] |
Flush all old frames out of the video buffer, on a flushable buffer, causing the next get_frame() to sleep until a frame arrives. On a non-flushable buffer, this does nothing.
Implemented in CVD::VideoBuffer< T >, CVD::VideoBufferWithData< T, D >, CVD::VideoBuffer< C >, CVD::VideoBuffer< From >, CVD::VideoBuffer< pixel_T >, and CVD::VideoBuffer< Rgb8 >.
virtual bool CVD::RawVideoBuffer::frame_pending | ( | ) | [pure virtual] |
Is there a frame waiting in the buffer? This function does not block. See is_live and is_flushable.
Implemented in CVD::ColourspaceBuffer< T, From >, CVD::DeinterlaceBuffer< T >, CVD::DiskBuffer2< T >, CVD::O2Buffer, CVD::DVBuffer2< T >, CVD::DV3::RawDVBuffer3, CVD::DVBuffer3< pixel_T >, CVD::V4L1Buffer< T >, CVD::V4L2BufferT< T >, CVD::V4LBuffer< T >, CVD::LocalVideoBuffer< T >, CVD::QTBuffer< T >, CVD::ReadAheadVideoBuffer< T >, CVD::ServerPushJpegBuffer< C >, CVD::VideoBufferWithData< T, D >, CVD::VideoFileBuffer< T >, and CVD::LocalVideoBuffer< C >.
virtual double CVD::RawVideoBuffer::frame_rate | ( | ) | [pure virtual] |
What is the (expected) frame rate of this video buffer, in frames per second?
Implemented in CVD::ColourspaceBuffer< T, From >, CVD::DeinterlaceBuffer< T >, CVD::DiskBuffer2< T >, CVD::O2Buffer, CVD::DVBuffer2< T >, CVD::DV3::RawDVBuffer3, CVD::DVBuffer3< pixel_T >, CVD::V4L1Buffer< T >, CVD::V4L2BufferT< T >, CVD::V4LBuffer< T >, CVD::QTBuffer< T >, CVD::ReadAheadVideoBuffer< T >, CVD::ServerPushJpegBuffer< C >, CVD::VideoBufferWithData< T, D >, and CVD::VideoFileBuffer< T >.
RawVideoBuffer* CVD::RawVideoBuffer::root_buffer | ( | ) | [inline] |
Follow the chain of video grabbers back as far as at will go. This will usually yield the video grabber dealing with the hardware.
Definition at line 71 of file videobuffer.h.
virtual void CVD::RawVideoBuffer::seek_to | ( | double | ) | [inline, virtual] |
Go to a particular point in the video buffer (only implemented in buffers of recorded video)
t | The frame time in seconds |
Reimplemented in CVD::ColourspaceBuffer< T, From >, CVD::DeinterlaceBuffer< T >, CVD::DiskBuffer2< T >, CVD::DVBuffer2< T >, CVD::DVBuffer3< pixel_T >, CVD::LocalVideoBuffer< T >, CVD::ReadAheadVideoBuffer< T >, CVD::ServerPushJpegBuffer< C >, CVD::VideoFileBuffer< T >, and CVD::LocalVideoBuffer< C >.
Definition at line 93 of file videobuffer.h.
virtual ImageRef CVD::RawVideoBuffer::size | ( | ) | [pure virtual] |
The size of the VideoFrames returned by this buffer.
Implemented in CVD::ColourspaceBuffer< T, From >, CVD::DeinterlaceBuffer< T >, CVD::DiskBuffer2< T >, CVD::O2Buffer, CVD::DVBuffer2< T >, CVD::DV3::RawDVBuffer3, CVD::DVBuffer3< pixel_T >, CVD::V4L1Buffer< T >, CVD::V4L2BufferT< T >, CVD::V4LBuffer< T >, CVD::LocalVideoBuffer< T >, CVD::QTBuffer< T >, CVD::ReadAheadVideoBuffer< T >, CVD::ServerPushJpegBuffer< C >, CVD::VideoBufferWithData< T, D >, CVD::VideoFileBuffer< T >, and CVD::LocalVideoBuffer< C >.
virtual RawVideoBuffer* CVD::RawVideoBuffer::source_buffer | ( | ) | [inline, virtual] |
Which video grabber provides the source images for this video grabber.
Reimplemented in CVD::ColourspaceBuffer< T, From >, and CVD::VideoBufferWithData< T, D >.
Definition at line 64 of file videobuffer.h.