CVD::VideoFileBuffer< T > Class Template Reference
[Video buffers]

#include <videofilebuffer.h>

Inheritance diagram for CVD::VideoFileBuffer< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

std::string codec_name ()
 What codec is being used to decode this video?
std::string file_name ()
 What is the path to the video file?
virtual bool frame_pending ()
double frame_rate ()
 What is the (expected) frame rate of this video buffer, in frames per second?
virtual VideoFileFrame< T > * get_frame ()
 Returns the next frame from the buffer. This function blocks until a frame is ready.
virtual void on_end_of_buffer (VideoBufferFlags::OnEndOfBuffer behaviour)
virtual void put_frame (VideoFrame< T > *f)
virtual void seek_to (double t)
virtual ImageRef size ()
 The size of the VideoFrames returned by this buffer.
 VideoFileBuffer (const std::string &file)
 ~VideoFileBuffer ()

Private Attributes

VFB::RawVideoFileBuffer vf

Detailed Description

template<typename T>
class CVD::VideoFileBuffer< T >

A video buffer to play frames from a video file. This uses the ffmpeg library (http://ffmpeg.sourceforge.net/) to play a wide range of video formats, including MPEG (1, 2 and 4) and AVI (including DivX and DV) files. Provides frames of type CVD::VideoFileFrame and throws exceptions of type CVD::Exceptions::VideoFileBuffer

Parameters:
T The pixel type of the video frames. Currently only CVD::Rgb<CVD::byte> > and CVD::byte> are supported.

Definition at line 207 of file videofilebuffer.h.


Constructor & Destructor Documentation

template<typename T >
CVD::VideoFileBuffer< T >::VideoFileBuffer ( const std::string &  file  )  [inline]

Construct a VideoFileBuffer to play this file

Parameters:
file The path to the video file

Definition at line 216 of file videofilebuffer.h.

template<typename T >
CVD::VideoFileBuffer< T >::~VideoFileBuffer (  )  [inline]

Definition at line 221 of file videofilebuffer.h.


Member Function Documentation

template<typename T >
std::string CVD::VideoFileBuffer< T >::codec_name (  )  [inline]

What codec is being used to decode this video?

Definition at line 271 of file videofilebuffer.h.

template<typename T >
std::string CVD::VideoFileBuffer< T >::file_name (  )  [inline]

What is the path to the video file?

Definition at line 265 of file videofilebuffer.h.

template<typename T >
virtual bool CVD::VideoFileBuffer< T >::frame_pending (  )  [inline, virtual]

Is there a frame waiting in the buffer? This function does not block. See is_live and is_flushable.

Implements CVD::LocalVideoBuffer< T >.

Definition at line 230 of file videofilebuffer.h.

template<typename T >
double CVD::VideoFileBuffer< T >::frame_rate (  )  [inline, virtual]

What is the (expected) frame rate of this video buffer, in frames per second?

Implements CVD::RawVideoBuffer.

Definition at line 259 of file videofilebuffer.h.

template<typename T >
virtual VideoFileFrame<T>* CVD::VideoFileBuffer< T >::get_frame (  )  [inline, virtual]

Returns the next frame from the buffer. This function blocks until a frame is ready.

Implements CVD::LocalVideoBuffer< T >.

Definition at line 247 of file videofilebuffer.h.

template<typename T >
virtual void CVD::VideoFileBuffer< T >::on_end_of_buffer ( VideoBufferFlags::OnEndOfBuffer  behaviour  )  [inline, virtual]

What should the buffer do when it reaches the end of the list of files?

Parameters:
behaviour The desired behaviour

Definition at line 237 of file videofilebuffer.h.

template<typename T >
virtual void CVD::VideoFileBuffer< T >::put_frame ( VideoFrame< T > *  f  )  [inline, virtual]

Tell the buffer that you are finished with this frame. Typically the VideoBuffer then destroys the frame.

Parameters:
f The frame that you are finished with.

Implements CVD::LocalVideoBuffer< T >.

Definition at line 252 of file videofilebuffer.h.

template<typename T >
virtual void CVD::VideoFileBuffer< T >::seek_to ( double   )  [inline, virtual]

Go to a particular point in the video buffer (only implemented in buffers of recorded video)

Parameters:
t The frame time in seconds

Reimplemented from CVD::LocalVideoBuffer< T >.

Definition at line 242 of file videofilebuffer.h.

template<typename T >
virtual ImageRef CVD::VideoFileBuffer< T >::size (  )  [inline, virtual]

The size of the VideoFrames returned by this buffer.

Implements CVD::LocalVideoBuffer< T >.

Definition at line 225 of file videofilebuffer.h.


Member Data Documentation

template<typename T >
VFB::RawVideoFileBuffer CVD::VideoFileBuffer< T >::vf [private]

Definition at line 210 of file videofilebuffer.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


libcvd
Author(s): Edward Rosten, Paul Smith, Tom Drummond, Gerhard Reitmayr, Ethan Eade, Timothy Gan, Chris Kemp, Georg Klein
autogenerated on Fri Jan 11 09:13:53 2013