|
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.
1.7.6.1