iso::synth::LinkConversionStrategy Class Reference

manages buffer conversions and process calls More...

#include <iso_synth_link_conversion_strategy.h>

Inherits iso::synth::Strategy.

Inherited by iso::synth::ChannelConversionStrategy, iso::synth::FrameConversionStrategy, and iso::synth::RateConversionStrategy.

Inheritance diagram for iso::synth::LinkConversionStrategy:

Inheritance graph
[legend]
Collaboration diagram for iso::synth::LinkConversionStrategy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LinkConversionStrategy (unsigned int pFrameCount, unsigned int pChannelCount, Link *pLink)
 parameter based constructor
virtual ~LinkConversionStrategy ()
 destructor
LinkConversionStrategynextStrategy ()
 returns next conversion strategy
void setNextStrategy (LinkConversionStrategy *pStrategy)
 set next conversion strategy
virtual void process (Buffer *pBuffer)=0
 process buffer
virtual String info (bool pPropagate=false) const =0
 obtain textual link conversion strategy information

Protected Member Functions

 LinkConversionStrategy ()

Protected Attributes

BuffermBuffer
 internal backup buffer
LinkConversionStrategymStrategy
 next conversion strategy
LinkmLink
 link, this process strategy is part of

Detailed Description

manages buffer conversions and process calls

conversions and process calls

Created by Daniel Bisig on 6/7/06.


Constructor & Destructor Documentation

LinkConversionStrategy::LinkConversionStrategy ( unsigned int  pFrameCount,
unsigned int  pChannelCount,
Link pLink 
)

parameter based constructor

Parameters:
pFrameCount number of frames of internal backup buffer
pChannelCount numbder of channels of internal backup buffer
pLink link, this link conversion strategy is part of

LinkConversionStrategy::~LinkConversionStrategy (  )  [virtual]

destructor

LinkConversionStrategy::LinkConversionStrategy (  )  [protected]


Member Function Documentation

LinkConversionStrategy * LinkConversionStrategy::nextStrategy (  ) 

returns next conversion strategy

void LinkConversionStrategy::setNextStrategy ( LinkConversionStrategy pStrategy  ) 

set next conversion strategy

Parameters:
pStrategy next conversion strategy
each link conversion strategy may possess a next link conversion strategy
process calls propagate from link conversion strategy to next link conversion strategy
when no more link conversion strategy is available, the process call propagates to the output port of the link

virtual void iso::synth::LinkConversionStrategy::process ( Buffer pBuffer  )  [pure virtual]

process buffer

Parameters:
pBuffer buffer to operate on
process calls propagate from link conversion strategy to next link conversion strategy
when no more link conversion strategy is available, the process call propagates to the output port of the link

Implements iso::synth::Strategy.

Implemented in iso::synth::ChannelConversionStrategy, iso::synth::FrameCopySamplesStrategy, iso::synth::RateRepeatSamplesStrategy, and iso::synth::RateSkipSamplesStrategy.

virtual String iso::synth::LinkConversionStrategy::info ( bool  pPropagate = false  )  const [pure virtual]

obtain textual link conversion strategy information

Parameters:
pPropagate if true, the unit calls the info method of the next conversion strategy
Returns:
String containing unit information

Implements iso::synth::Strategy.

Implemented in iso::synth::ChannelMixCombineStrategy, iso::synth::ChannelMixDirectStrategy, iso::synth::ChannelMixDownCombineStrategy, iso::synth::ChannelMixDownDropStrategy, iso::synth::ChannelMixUpDistributeStrategy, iso::synth::ChannelMixUpIgnoreStrategy, iso::synth::FrameConversionStrategy, iso::synth::FrameCopySamplesStrategy, iso::synth::RateConversionStrategy, iso::synth::RateRepeatSamplesStrategy, and iso::synth::RateSkipSamplesStrategy.


Member Data Documentation

Buffer* iso::synth::LinkConversionStrategy::mBuffer [protected]

internal backup buffer

LinkConversionStrategy* iso::synth::LinkConversionStrategy::mStrategy [protected]

next conversion strategy

conversion strategies can be linked in series, each one calling the process function of the next conversion strategy

Link* iso::synth::LinkConversionStrategy::mLink [protected]

link, this process strategy is part of


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 14:18:42 2011 for synth by  doxygen 1.5.1