Yate
|
An unidirectional data translator (codec) More...
#include <yatephone.h>
Public Member Functions | |
DataTranslator (const char *sFormat, const char *dFormat) | |
DataTranslator (const char *sFormat, DataSource *source=0) | |
~DataTranslator () | |
virtual void * | getObject (const String &name) const |
virtual bool | valid () const |
virtual DataSource * | getTransSource () const |
DataTranslator * | getFirstTranslator () |
const DataTranslator * | getFirstTranslator () const |
Static Public Member Functions | |
static ObjList * | srcFormats (const DataFormat &dFormat="slin", int maxCost=-1, unsigned int maxLen=0, ObjList *lst=0) |
static ObjList * | destFormats (const DataFormat &sFormat="slin", int maxCost=-1, unsigned int maxLen=0, ObjList *lst=0) |
static ObjList * | allFormats (const ObjList *formats, bool existing=true, bool sameRate=true, bool sameChans=true) |
static ObjList * | allFormats (const String &formats, bool existing=true, bool sameRate=true, bool sameChans=true) |
static bool | canConvert (const DataFormat &fmt1, const DataFormat &fmt2="slin") |
static int | cost (const DataFormat &sFormat, const DataFormat &dFormat) |
static DataTranslator * | create (const DataFormat &sFormat, const DataFormat &dFormat) |
static bool | attachChain (DataSource *source, DataConsumer *consumer, bool override=false) |
static bool | detachChain (DataSource *source, DataConsumer *consumer) |
static void | setMaxChain (unsigned int maxChain) |
Protected Member Functions | |
virtual bool | synchronize (DataSource *source) |
Static Protected Member Functions | |
static void | install (TranslatorFactory *factory) |
static void | uninstall (TranslatorFactory *factory) |
Friends | |
class | TranslatorFactory |
An unidirectional data translator (codec)
The DataTranslator holds a translator (codec) capable of unidirectional conversion of data from one type to another.
DataTranslator | ( | const char * | sFormat, |
const char * | dFormat | ||
) |
Construct a data translator.
sFormat | Name of the source format (data received from the consumer) |
dFormat | Name of the destination format (data supplied to the source) |
DataTranslator | ( | const char * | sFormat, |
DataSource * | source = 0 |
||
) | [explicit] |
Creates a data translator from an existing source, does not increment the source's reference counter.
sFormat | Name of the source format (data received from the consumer) |
source | Optional pointer to a DataSource object |
~DataTranslator | ( | ) |
Destroys the translator and its source
static ObjList* allFormats | ( | const ObjList * | formats, |
bool | existing = true , |
||
bool | sameRate = true , |
||
bool | sameChans = true |
||
) | [static] |
Get a list of formats supported by transcoding for a given format list
formats | List of data format names |
existing | Also return formats already existing in the initial list |
sameRate | Only return formats with same sampling rate |
sameChans | Only return formats with same number of channels |
static ObjList* allFormats | ( | const String & | formats, |
bool | existing = true , |
||
bool | sameRate = true , |
||
bool | sameChans = true |
||
) | [static] |
Get a list of formats supported by transcoding for a given format list
formats | Data format names as comma separated list |
existing | Also return formats already existing in the initial list |
sameRate | Only return formats with same sampling rate |
sameChans | Only return formats with same number of channels |
static bool attachChain | ( | DataSource * | source, |
DataConsumer * | consumer, | ||
bool | override = false |
||
) | [static] |
Attach a consumer to a source, possibly trough a chain of translators
source | Source to attach the chain to |
consumer | Consumer where the chain ends |
override | Attach chain for temporary source override |
static bool canConvert | ( | const DataFormat & | fmt1, |
const DataFormat & | fmt2 = "slin" |
||
) | [static] |
Check if bidirectional conversion can be performed by installed translators
fmt1 | Name of the first data format |
fmt2 | Name of the second data format |
static int cost | ( | const DataFormat & | sFormat, |
const DataFormat & | dFormat | ||
) | [static] |
Finds the cost of a translator given the source and destination format names
sFormat | Name of the source format (data received from the consumer) |
dFormat | Name of the destination format (data supplied to the source) |
static DataTranslator* create | ( | const DataFormat & | sFormat, |
const DataFormat & | dFormat | ||
) | [static] |
Creates a translator given the source and destination format names
sFormat | Name of the source format (data received from the consumer) |
dFormat | Name of the destination format (data supplied to the source) |
static ObjList* destFormats | ( | const DataFormat & | sFormat = "slin" , |
int | maxCost = -1 , |
||
unsigned int | maxLen = 0 , |
||
ObjList * | lst = 0 |
||
) | [static] |
Get a list of formats supported for a given input format
sFormat | Name of source format |
maxCost | Maximum cost of candidates to consider, -1 to accept all |
maxLen | Maximum length of codec chains to consider, 0 to accept all |
lst | Initial list, will append to it if not empty |
static bool detachChain | ( | DataSource * | source, |
DataConsumer * | consumer | ||
) | [static] |
Detach a consumer from a source, possibly trough a chain of translators
source | Source to dettach the chain from |
consumer | Consumer where the chain ends |
Get the first translator from a chain
const DataTranslator* getFirstTranslator | ( | ) | const |
Constant version to get the first translator from a chain
Get a pointer to a derived class given that class name
name | Name of the class we are asking for |
Reimplemented from DataConsumer.
virtual DataSource* getTransSource | ( | ) | const [inline, virtual] |
Get the data source of a translator object
Reimplemented from DataConsumer.
static void install | ( | TranslatorFactory * | factory | ) | [static, protected] |
Install a Translator Factory in the list of known codecs
factory | A pointer to a TranslatorFactory instance |
Referenced by TranslatorFactory::TranslatorFactory().
static void setMaxChain | ( | unsigned int | maxChain | ) | [static] |
Set the length of the longest translator chain we are allowed to create
maxChain | Desired longest chain length |
static ObjList* srcFormats | ( | const DataFormat & | dFormat = "slin" , |
int | maxCost = -1 , |
||
unsigned int | maxLen = 0 , |
||
ObjList * | lst = 0 |
||
) | [static] |
Get a list of formats supported for a given output format.
dFormat | Name of destination format |
maxCost | Maximum cost of candidates to consider, -1 to accept all |
maxLen | Maximum length of codec chains to consider, 0 to accept all |
lst | Initial list, will append to it if not empty |
virtual bool synchronize | ( | DataSource * | source | ) | [protected, virtual] |
Synchronize the consumer with a source
source | Data source to copy the timestamp from |
Reimplemented from DataConsumer.
static void uninstall | ( | TranslatorFactory * | factory | ) | [static, protected] |
Remove a Translator Factory from the list of known codecs
factory | A pointer to a TranslatorFactory instance |
virtual bool valid | ( | ) | const [inline, virtual] |
Check if the data translator has a valid source
Reimplemented from DataNode.