Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

vetMultiplexer Class Reference

Inheritance diagram for vetMultiplexer:

vetFilter vetInput vetOutput vetObject

Public Member Functions

 vetMultiplexer (vetMultiplexerParameters *initParams=NULL)
 Default constructor, initialize parameters and superclasses.
 ~vetMultiplexer ()
 Default destructor, free buffer.
float getFrameRate () const
 Read current frame rate (frame per second).
VETRESULT setParameters (vetMultiplexerParameters *initParams)
 Set parameters for this filter.
vetMultiplexerParametersgetParameters ()
 Get parameters for this filter.
VETRESULT setFilterParameters (vetFilterParameters *initParams)
 Set parameters for this filter.
vetFilterParametersgetFilterParameters ()
 Get parameters for this filter.
VETRESULT reset ()
 Reset input/output lists and parameters.
VETRESULT run (long cycles=0)
VETRESULT stop ()
VETRESULT forward ()
 Redirect a single frame from current input to current output, it's equal to call run(1).
VETRESULT addInput (vetInput *newInput)
 Add a new data input to current list.
VETRESULT removeInput (vetInput *oldInput)
 Remove a data input from current list, following items (id+n) are moved back one position.
VETRESULT removeInput (int id)
 Remove a data input from current list, following items (id+n) are moved back one position.
VETRESULT addOutput (vetOutput *newOutput)
 Add a new data output to current list.
VETRESULT removeOutput (vetOutput *oldOutput)
 Remove a data output from current list, following items (id+n) are moved back one position.
VETRESULT removeOutput (int id)
 Remove a data output from current list, following items (id+n) are moved back one position.
VETRESULT setCurrentInput (int id)
 Select current data input.
VETRESULT setCurrentInput (vetInput &currIn)
 Set current data input.
VETRESULT setCurrentOutput (int id)
 Select current data output.
VETRESULT setCurrentOutput (vetOutput &currOut)
 Set current data output.
int getCurrentInputId ()
 Get current connected data input.
vetInputgetCurrentInput ()
 Get current connected data input.
int getCurrentOutputId ()
 Get current connected data output.
vetOutputgetCurrentOutput ()
 Get current connected data output.
int getInputCount ()
 Get current data input count.
int getOutputCount ()
 Get current data output count.
VETRESULT importFrom (vetFrameYUV420 &img)
 Redirect input frame to current filter/output.
VETRESULT importFrom (vetFrameRGB24 &img)
 Redirect input frame to current filter/output.
VETRESULT importFrom (vetFrameT< unsigned char > &img)
 Redirect input frame to current filter/output.
VETRESULT extractTo (vetFrameYUV420 &img)
 Extract a frame from current filter/input.
VETRESULT extractTo (vetFrameRGB24 &img)
 Extract a frame from current filter/input.
VETRESULT extractTo (vetFrameT< unsigned char > &img)
 Extract a frame from current filter/input.

Protected Attributes

vetMultiplexerParametersmyParams
 Current parameters.
vetInput ** inputs
int inputCount
vetOutput ** outputs
int outputCount
int inputCurrent
int outputCurrent

Detailed Description

Definition at line 73 of file vetMultiplexer.h.


Constructor & Destructor Documentation

vetMultiplexer::vetMultiplexer vetMultiplexerParameters initParams = NULL  ) 
 

Default constructor, initialize parameters and superclasses.

Parameters:
[in] initParams parameters for this module or NULL for defaults.

Definition at line 24 of file vetMultiplexer.cpp.

References INFO, inputs, outputs, reset(), and setParameters().


Member Function Documentation

VETRESULT vetMultiplexer::addInput vetInput newInput  ) 
 

Add a new data input to current list.

Parameters:
[in] newInput pointer to a vetInput implementation.
Returns:
VETRET_PARAM_ERR if argument is NULL, VETRET_ILLEGAL_USE if input's count is equal to VET_MP_INPUTS_MAX, VETRET_OK else.

Definition at line 294 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCount, inputs, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::addOutput vetOutput newOutput  ) 
 

Add a new data output to current list.

Parameters:
[in] newInput pointer to a vetOutput implementation.
Returns:
VETRET_PARAM_ERR if argument is NULL, VETRET_ILLEGAL_USE if output's count is equal to VET_MP_OUTPUTS_MAX, VETRET_OK else.

Definition at line 370 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCount, outputs, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::extractTo vetFrameT< unsigned char > &  img  )  [virtual]
 

Extract a frame from current filter/input.

Parameters:
[out] img VETLib Greyscale Frame to store data.
Returns:
VETRET_OK if everything is fine, VETRET_ILLEGAL_USE if buffer is empty, VETRET_INTERNAL_ERR else.
Note:
Ouput operator (>>) call directly this function.
See also:
operator >> (vetFrameT&)

Reimplemented from vetFilter.

Definition at line 274 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCurrent, inputs, and VETRET_OK.

VETRESULT vetMultiplexer::extractTo vetFrameRGB24 img  )  [virtual]
 

Extract a frame from current filter/input.

Parameters:
[out] img VETLib Cache24 Frame to store data.
Returns:
VETRET_OK if everything is fine, VETRET_ILLEGAL_USE if buffer is empty, VETRET_INTERNAL_ERR else.
Note:
Ouput operator (>>) call directly this function.
See also:
operator >> (vetFrameRGB24&)

Reimplemented from vetFilter.

Definition at line 255 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCurrent, inputs, and VETRET_OK.

VETRESULT vetMultiplexer::extractTo vetFrameYUV420 img  )  [virtual]
 

Extract a frame from current filter/input.

Parameters:
[out] img VETLib Cache Frame to store data.
Returns:
VETRET_OK if everything is fine, VETRET_ILLEGAL_USE if buffer is empty, VETRET_INTERNAL_ERR else.
Note:
Ouput operator (>>) call directly this function.
See also:
operator >> (vetFrameYUV420&)

Reimplemented from vetFilter.

Definition at line 236 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCurrent, inputs, and VETRET_OK.

VETRESULT vetMultiplexer::forward  )  [inline]
 

Redirect a single frame from current input to current output, it's equal to call run(1).

Returns:
Same error-codes of int run().
See also:
run(1);

Definition at line 193 of file vetMultiplexer.h.

References run().

vetInput* vetMultiplexer::getCurrentInput  )  [inline]
 

Get current connected data input.

Returns:
pointer to current data input.

Definition at line 305 of file vetMultiplexer.h.

References inputCurrent, and inputs.

int vetMultiplexer::getCurrentInputId  )  [inline]
 

Get current connected data input.

Returns:
id of current data input. [0, inputCount[

Definition at line 299 of file vetMultiplexer.h.

References inputCurrent.

vetOutput* vetMultiplexer::getCurrentOutput  )  [inline]
 

Get current connected data output.

Returns:
pointer to current data output.

Definition at line 318 of file vetMultiplexer.h.

References outputCurrent, and outputs.

int vetMultiplexer::getCurrentOutputId  )  [inline]
 

Get current connected data output.

Returns:
id of current data output. [0, outputCount[

Definition at line 312 of file vetMultiplexer.h.

References outputCurrent.

vetFilterParameters* vetMultiplexer::getFilterParameters  )  [inline, virtual]
 

Get parameters for this filter.

Returns:
pointer to vetMultiplexerParameters instance.

Implements vetFilter.

Definition at line 153 of file vetMultiplexer.h.

References myParams.

float vetMultiplexer::getFrameRate  )  const [inline]
 

Read current frame rate (frame per second).

Returns:
Frame per second as a floating point value. (delay=1/fps)
See also:
v_sleeptime

Reimplemented from vetInput.

Definition at line 108 of file vetMultiplexer.h.

int vetMultiplexer::getInputCount  )  [inline]
 

Get current data input count.

Returns:
number of connected inputs. [0, VET_MP_INPUTS_MAX]

Definition at line 325 of file vetMultiplexer.h.

References inputCount.

int vetMultiplexer::getOutputCount  )  [inline]
 

Get current data output count.

Returns:
number of connected outputs. [0, VET_MP_OUTPUTS_MAX]

Definition at line 331 of file vetMultiplexer.h.

References outputCount.

vetMultiplexerParameters& vetMultiplexer::getParameters  )  [inline]
 

Get parameters for this filter.

Returns:
pointer to vetMultiplexerParameters instance.

Definition at line 127 of file vetMultiplexer.h.

References myParams.

VETRESULT vetMultiplexer::importFrom vetFrameT< unsigned char > &  img  )  [virtual]
 

Redirect input frame to current filter/output.

Parameters:
[in] img VETLib Greyscale Frame to be processed (redirected).
Returns:
VETRET_OK if everything is fine, VETRET_INTERNAL_ERR else.
Note:
Input operator (<<) call directly this function.
See also:
operator << (vetFrameT&)

Implements vetFilter.

Definition at line 217 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCurrent, outputs, and VETRET_OK.

VETRESULT vetMultiplexer::importFrom vetFrameRGB24 img  )  [virtual]
 

Redirect input frame to current filter/output.

Parameters:
[in] img VETLib Cache24 Frame to be processed (redirected).
Returns:
VETRET_OK if everything is fine, VETRET_INTERNAL_ERR else.
Note:
Input operator (<<) call directly this function.
See also:
operator << (vetFrameRGB24&)

Implements vetFilter.

Definition at line 199 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCurrent, outputs, and VETRET_OK.

VETRESULT vetMultiplexer::importFrom vetFrameYUV420 img  )  [virtual]
 

Redirect input frame to current filter/output.

Parameters:
[in] img VETLib Cache Frame to be processed (redirected).
Returns:
VETRET_OK if everything is fine, VETRET_INTERNAL_ERR else.
Note:
Input operator (<<) call directly this function.
See also:
operator << (vetFrameYUV420&)

Implements vetFilter.

Definition at line 181 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCurrent, outputs, and VETRET_OK.

VETRESULT vetMultiplexer::removeInput int  id  ) 
 

Remove a data input from current list, following items (id+n) are moved back one position.

Parameters:
[in] id data input's id to remove.
Returns:
VETRET_PARAM_ERR if id is not valid, VETRET_ILLEGAL_USE if input was not found in list, VETRET_OK else.

Definition at line 345 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCount, inputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::removeInput vetInput oldInput  ) 
 

Remove a data input from current list, following items (id+n) are moved back one position.

Parameters:
[in] oldInput pointer to data input.
Returns:
VETRET_PARAM_ERR if argument is NULL, VETRET_ILLEGAL_USE if input was not found in list, VETRET_OK else.

Definition at line 318 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCount, inputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::removeOutput int  id  ) 
 

Remove a data output from current list, following items (id+n) are moved back one position.

Parameters:
[in] id data output's id to remove.
Returns:
VETRET_PARAM_ERR if id is not valid, VETRET_ILLEGAL_USE if output was not found in list, VETRET_OK else.

Definition at line 424 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCount, outputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::removeOutput vetOutput oldOutput  ) 
 

Remove a data output from current list, following items (id+n) are moved back one position.

Parameters:
[in] oldOutput pointer to data input.
Returns:
VETRET_PARAM_ERR if argument is NULL, VETRET_ILLEGAL_USE if output was not found in list, VETRET_OK else.

Definition at line 394 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCount, outputs, VETRET_ILLEGAL_USE, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::reset  )  [virtual]
 

Reset input/output lists and parameters.

Returns:
VETRET_OK

Implements vetFilter.

Definition at line 56 of file vetMultiplexer.cpp.

References INFO, inputCount, inputCurrent, inputs, outputCount, outputCurrent, outputs, vetObject::setDescription(), vetObject::setName(), vetObject::setVersion(), and VETRET_OK.

Referenced by vetMultiplexer().

VETRESULT vetMultiplexer::run long  cycles = 0  ) 
 

Parameters:
[in] id input's id [0, inputCount[
Returns:

Definition at line 117 of file vetMultiplexer.cpp.

References vetFilter::bufferRGB, vetFilter::bufferTuC, vetFilter::bufferYUV, DEBUGMSG, inputCurrent, inputs, vetFilter::isBufferRGB(), vetFilter::isBufferYUV(), outputCurrent, outputs, VETRET_ILLEGAL_USE, and VETRET_OK.

Referenced by forward().

VETRESULT vetMultiplexer::setCurrentInput vetInput currIn  ) 
 

Set current data input.

Parameters:
[in] currIn vetInput implementation instance.
Returns:
VETRET_PARAM_ERR if selected input was not found in current list or if argument is NULL, VETRET_OK else.

Definition at line 471 of file vetMultiplexer.cpp.

References INFO, inputCount, inputCurrent, inputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::setCurrentInput int  id  ) 
 

Select current data input.

Parameters:
[in] id input's id [0, inputCount[
Returns:
VETRET_PARAM_ERR if id is not valid, VETRET_OK else.

Definition at line 448 of file vetMultiplexer.cpp.

References DEBUGMSG, inputCount, inputCurrent, inputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::setCurrentOutput vetOutput currOut  ) 
 

Set current data output.

Parameters:
[in] currOut vetOutput implementation instance.
Returns:
VETRET_PARAM_ERR if selected output was not found in current list or if argument is NULL, VETRET_OK else.

Definition at line 521 of file vetMultiplexer.cpp.

References INFO, outputCount, outputCurrent, outputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::setCurrentOutput int  id  ) 
 

Select current data output.

Parameters:
[in] id output's id [0, outputCount[
Returns:
VETRET_PARAM_ERR if id is not valid, VETRET_OK else.

Definition at line 498 of file vetMultiplexer.cpp.

References DEBUGMSG, outputCount, outputCurrent, outputs, VETRET_OK, and VETRET_PARAM_ERR.

VETRESULT vetMultiplexer::setFilterParameters vetFilterParameters initParams  )  [inline, virtual]
 

Set parameters for this filter.

Parameters:
[in] initParams Instance of vetMultiplexerParameters or NULL, NULL argument make function to create a new instance with default parameters.
Returns:
VETRET_OK

Implements vetFilter.

Definition at line 138 of file vetMultiplexer.h.

References setParameters().

VETRESULT vetMultiplexer::setParameters vetMultiplexerParameters initParams  ) 
 

Set parameters for this filter.

Parameters:
[in] initParams Instance of vetMultiplexerParameters or NULL, NULL argument make function to create a new instance with default parameters.
Returns:
VETRET_OK

Definition at line 96 of file vetMultiplexer.cpp.

References myParams, and VETRET_OK.

Referenced by setFilterParameters(), and vetMultiplexer().

VETRESULT vetMultiplexer::stop  ) 
 

Returns:


The documentation for this class was generated from the following files:
Generated on Tue Jan 24 11:59:41 2006 for VETLib by  doxygen 1.4.4