Filter API - manage mediastreamer2 filters.
[Mediastreamer2 API]

Filter API to manage mediastreamer2 filters. More...

Typedefs

typedef void(* MSFilterFunc )(struct _MSFilter *f)
typedef int(* MSFilterMethodFunc )(struct _MSFilter *f, void *arg)
typedef void(* MSFilterNotifyFunc )(void *userdata, unsigned int id, void *arg)
typedef struct _MSFilterMethod MSFilterMethod
typedef enum _MSFilterCategory MSFilterCategory
typedef struct _MSFilterDesc MSFilterDesc
typedef struct _MSFilter MSFilter

Functions

void ms_filter_register (MSFilterDesc *desc)
MSFilterDescms_filter_get_encoder (const char *mime)
MSFilterDescms_filter_get_decoder (const char *mime)
MSFilterms_filter_create_encoder (const char *mime)
MSFilterms_filter_create_decoder (const char *mime)
bool_t ms_filter_codec_supported (const char *mime)
MSFilterms_filter_new (MSFilterId id)
MSFilterms_filter_new_from_name (const char *name)
MSFilterms_filter_new_from_desc (MSFilterDesc *desc)
int ms_filter_link (MSFilter *f1, int pin1, MSFilter *f2, int pin2)
int ms_filter_unlink (MSFilter *f1, int pin1, MSFilter *f2, int pin2)
int ms_filter_call_method (MSFilter *f, unsigned int id, void *arg)
int ms_filter_call_method_noarg (MSFilter *f, unsigned int id)
void ms_filter_set_notify_callback (MSFilter *f, MSFilterNotifyFunc fn, void *userdata)
MSFilterId ms_filter_get_id (MSFilter *f)
void ms_filter_destroy (MSFilter *f)

Detailed Description

Filter API to manage mediastreamer2 filters.

This file provide the API needed to create, link, unlink, find and destroy filter.

It also provides definitions if you wish to implement your own filters.


Typedef Documentation

MSFilterFunc

Structure for filter's methods (init, preprocess, process, postprocess, uninit).

MSFilterMethodFunc

Structure for filter's methods used to set filter's options.

MSFilterNotifyFunc

Structure for filter's methods used as a callback to notify events.

MSFilterMethod

Structure for holding filter's methods to set filter's options.

MSFilterCategory

Structure to describe filter's category.

     MS_FILTER_OTHER
     MS_FILTER_ENCODER
     MS_FILTER_DECODER
 

MSFilterDesc

Structure for filter's description.

MSFilter

Structure to create/link/unlink/destroy filter's object.


Function Documentation

void ms_filter_register ( MSFilterDesc desc  ) 

Register a filter description. (plugins use only!)

When you build your own plugin, this method will add the encoder or decoder to the internal list of supported codec. Then, this plugin can be used transparently from the application.

ms_filter_get_encoder, ms_filter_get_decoder, ms_filter_create_encoder, ms_filter_create_decoder and ms_filter_codec_supported can then be used as if the codec was internally. supported.

Parameters:
desc a filter description.

MSFilterDesc* ms_filter_get_encoder ( const char *  mime  ) 

Retrieve encoders according to codec name.

Internal supported codecs: PCMU, PCMA, speex, gsm Existing Public plugins: iLBC

Parameters:
mime A string indicating the codec.
Returns: a MSFilterDesc if successfull, NULL otherwise.

MSFilterDesc* ms_filter_get_decoder ( const char *  mime  ) 

Retrieve decoders according to codec name.

Internal supported codecs: PCMU, PCMA, speex, gsm Existing Public plugins: iLBC

Parameters:
mime A string indicating the codec.
Returns: a MSFilterDesc if successfull, NULL otherwise.

MSFilter* ms_filter_create_encoder ( const char *  mime  ) 

Create encoder filter according to codec name.

Internal supported codecs: PCMU, PCMA, speex, gsm Existing Public plugins: iLBC

Parameters:
mime A string indicating the codec.
Returns: a MSFilter if successfull, NULL otherwise.

MSFilter* ms_filter_create_decoder ( const char *  mime  ) 

Create decoder filter according to codec name.

Internal supported codecs: PCMU, PCMA, speex, gsm Existing Public plugins: iLBC

Parameters:
mime A string indicating the codec.
Returns: a MSFilter if successfull, NULL otherwise.

bool_t ms_filter_codec_supported ( const char *  mime  ) 

Check if a encode or decode filter exists for a codec name.

Internal supported codecs: PCMU, PCMA, speex, gsm Existing Public plugins: iLBC

Parameters:
mime A string indicating the codec.
Returns: TRUE if successfull, FALSE otherwise.

MSFilter* ms_filter_new ( MSFilterId  id  ) 

Create decoder filter according to a filter's MSFilterId.

Parameters:
id A MSFilterId identifier for the filter.
Returns: a MSFilter if successfull, NULL otherwise.

MSFilter* ms_filter_new_from_name ( const char *  name  ) 

Create decoder filter according to a filter's name.

Parameters:
name A name for the filter.
Returns: a MSFilter if successfull, NULL otherwise.

MSFilter* ms_filter_new_from_desc ( MSFilterDesc desc  ) 

Create decoder filter according to a filter's description.

The primary use is to create your own filter's in your application and avoid registration inside mediastreamer2.

Parameters:
desc A MSFilterDesc for the filter.
Returns: a MSFilter if successfull, NULL otherwise.

int ms_filter_link ( MSFilter f1,
int  pin1,
MSFilter f2,
int  pin2 
)

Link one OUTPUT pin from a filter to an INPUT pin of another filter.

All data coming from the OUTPUT pin of one filter will be distributed to the INPUT pin of the second filter.

Parameters:
f1 A MSFilter object containing the OUTPUT pin
pin1 An index of an OUTPUT pin.
f2 A MSFilter object containing the INPUT pin
pin2 An index of an INPUT pin.
Returns: a MSFilter if successfull, NULL otherwise.

int ms_filter_unlink ( MSFilter f1,
int  pin1,
MSFilter f2,
int  pin2 
)

Unlink one OUTPUT pin from a filter to an INPUT pin of another filter.

Parameters:
f1 A MSFilter object containing the OUTPUT pin
pin1 An index of an OUTPUT pin.
f2 A MSFilter object containing the INPUT pin
pin2 An index of an INPUT pin.
Returns: a MSFilter if successfull, NULL otherwise.

int ms_filter_call_method ( MSFilter f,
unsigned int  id,
void *  arg 
)

Call a filter's method to set or get options.

Parameters:
f A MSFilter object.
id A private filter ID for the option.
arg A private user data for the filter.
Returns: 0 if successfull, -1 otherwise.

int ms_filter_call_method_noarg ( MSFilter f,
unsigned int  id 
)

Call a filter's method to set options.

Parameters:
f A MSFilter object.
id A private filter ID for the option.
Returns: 0 if successfull, -1 otherwise.

void ms_filter_set_notify_callback ( MSFilter f,
MSFilterNotifyFunc  fn,
void *  userdata 
)

Set a callback on filter's to be informed of private filter's event.

Parameters:
f A MSFilter object.
fn A MSFilterNotifyFunc that will be called.
userdata A pointer to private data.
Returns: 0 if successfull, -1 otherwise.

MSFilterId ms_filter_get_id ( MSFilter f  ) 

Get MSFilterId's filter.

Parameters:
f A MSFilter object.
Returns: MSFilterId if successfull, -1 otherwise.

void ms_filter_destroy ( MSFilter f  ) 

Destroy a filter object.

Parameters:
f A MSFilter object.


Generated on Thu Feb 14 17:06:43 2008 for mediastreamer2 by  doxygen 1.5.4