DataTranslator Class Reference
An unidirectional data translator (codec).
More...
#include <yatephone.h>
List of all members.
|
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 |
Detailed Description
An unidirectional data translator (codec).
The DataTranslator holds a translator (codec) capable of unidirectional conversion of data from one type to another.
Constructor & Destructor Documentation
Construct a data translator.
- Parameters:
-
| sFormat | Name of the source format (data received from the consumer) |
| dFormat | Name of the destination format (data supplied to the source) |
Creates a data translator from an existing source, does not increment the source's reference counter.
- Parameters:
-
| sFormat | Name of the source format (data received from the consumer) |
| source | Optional pointer to a DataSource object |
Destroys the translator and its source
Member Function Documentation
virtual void* getObject |
( |
const String & |
name |
) |
const [virtual] |
Get a pointer to a derived class given that class name
- Parameters:
-
| name | Name of the class we are asking for |
- Returns:
- Pointer to the requested class or NULL if this object doesn't implement it
Reimplemented from DataConsumer.
virtual bool valid |
( |
|
) |
const [inline, virtual] |
Check if the data translator has a valid source
- Returns:
- True if still valid, false if node should be removed
Reimplemented from DataNode.
virtual DataSource* getTransSource |
( |
|
) |
const [inline, virtual] |
Get the data source of a translator object
- Returns:
- A pointer to the DataSource object or NULL
Reimplemented from DataConsumer.
Get the first translator from a chain
- Returns:
- Pointer to the first translator in a chain
Constant version to get the first translator from a chain
- Returns:
- Pointer to the first translator in a chain
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.
- Parameters:
-
| 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 |
- Returns:
- List of source format names, must be freed by the caller
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
- Parameters:
-
| 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 |
- Returns:
- List of destination format names, must be freed by the caller
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
- Parameters:
-
| 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 |
- Returns:
- List of format names, must be freed by the caller
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
- Parameters:
-
| 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 |
- Returns:
- List of format names, must be freed by the caller
Check if bidirectional conversion can be performed by installed translators
- Parameters:
-
| fmt1 | Name of the first data format |
| fmt2 | Name of the second data format |
- Returns:
- True if translators can be created for both directions
Finds the cost of a translator given the source and destination format names
- Parameters:
-
| sFormat | Name of the source format (data received from the consumer) |
| dFormat | Name of the destination format (data supplied to the source) |
- Returns:
- Cost of best (cheapest) codec or -1 if no known codec exists
Creates a translator given the source and destination format names
- Parameters:
-
| sFormat | Name of the source format (data received from the consumer) |
| dFormat | Name of the destination format (data supplied to the source) |
- Returns:
- A pointer to a DataTranslator object or NULL if no known codec exists
Attach a consumer to a source, possibly trough a chain of translators
- Parameters:
-
| source | Source to attach the chain to |
| consumer | Consumer where the chain ends |
| override | Attach chain for temporary source override |
- Returns:
- True if successfull, false if no translator chain could be built
Detach a consumer from a source, possibly trough a chain of translators
- Parameters:
-
| source | Source to dettach the chain from |
| consumer | Consumer where the chain ends |
- Returns:
- True if successfull, false if source and consumers were not attached
static void setMaxChain |
( |
unsigned int |
maxChain |
) |
[static] |
Set the length of the longest translator chain we are allowed to create
- Parameters:
-
| maxChain | Desired longest chain length |
virtual bool synchronize |
( |
DataSource * |
source |
) |
[protected, virtual] |
Synchronize the consumer with a source
- Parameters:
-
| source | Data source to copy the timestamp from |
- Returns:
- True if we could synchronize with the source
Reimplemented from DataConsumer.
Remove a Translator Factory from the list of known codecs
- Parameters:
-
The documentation for this class was generated from the following file: