# msfilter.h File Reference

mediastreamer2 msfilter.h include file More...

`#include "mscommon.h"`
`#include "msqueue.h"`
`#include "allfilters.h"`
`#include "msinterfaces.h"`

## Defines
#define | MS_FILTER_GET_LATENCY MS_FILTER_BASE_METHOD(11,int)
## Typedefs
typedef void(* | MSFilterFunc )(struct _MSFilter *f)
typedef int(* | MSFilterMethodFunc )(struct _MSFilter *f, void *arg)
typedef void(* | MSFilterNotifyFunc )(void *userdata, struct _MSFilter *f, unsigned int id, void *arg)
typedef struct _MSFilterMethod | MSFilterMethod
typedef enum _MSFilterCategory | MSFilterCategory
typedef struct _MSFilterDesc | MSFilterDesc
typedef struct _MSFilter | MSFilter
typedef struct _MSConnectionPoint | MSConnectionPoint
typedef struct _MSConnectionHelper | MSConnectionHelper
## Functions
MS2_PUBLIC void | ms_filter_register (MSFilterDesc *desc)
MS2_PUBLIC MSFilterDesc * | ms_filter_get_encoder (const char *mime)
MS2_PUBLIC MSFilterDesc * | ms_filter_get_decoder (const char *mime)
MS2_PUBLIC MSFilter * | ms_filter_create_encoder (const char *mime)
MS2_PUBLIC MSFilter * | ms_filter_create_decoder (const char *mime)
MS2_PUBLIC bool_t | ms_filter_codec_supported (const char *mime)
MS2_PUBLIC MSFilter * | ms_filter_new (MSFilterId id)
MS2_PUBLIC MSFilter * | ms_filter_new_from_name (const char *name)
MS2_PUBLIC MSFilter * | ms_filter_new_from_desc (MSFilterDesc *desc)
MS2_PUBLIC int | ms_filter_link (MSFilter *f1, int pin1, MSFilter *f2, int pin2)
MS2_PUBLIC int | ms_filter_unlink (MSFilter *f1, int pin1, MSFilter *f2, int pin2)
MS2_PUBLIC int | ms_filter_call_method (MSFilter *f, unsigned int id, void *arg)
MS2_PUBLIC int | ms_filter_call_method_noarg (MSFilter *f, unsigned int id)
MS2_PUBLIC void | ms_filter_set_notify_callback (MSFilter *f, MSFilterNotifyFunc fn, void *userdata)
MS2_PUBLIC void | ms_filter_enable_synchronous_notifcations (MSFilter *f, bool_t yesno)
MS2_PUBLIC MSFilterId | ms_filter_get_id (MSFilter *f)
MS2_PUBLIC MSList * | ms_filter_find_neighbours (MSFilter *me)
MS2_PUBLIC void | ms_filter_destroy (MSFilter *f)
MS2_PUBLIC void | ms_connection_helper_start (MSConnectionHelper *h)
MS2_PUBLIC int | ms_connection_helper_link (MSConnectionHelper *h, MSFilter *f, int inpin, int outpin)
| Enter a MSFilter to be connected into the MSConnectionHelper object.
MS2_PUBLIC int | ms_connection_helper_unlink (MSConnectionHelper *h, MSFilter *f, int inpin, int outpin)
| Enter a MSFilter to be disconnected into the MSConnectionHelper object. Process exactly the same way as ms_connection_helper_link() but calls ms_filter_unlink() on the entered filters.
MS2_PUBLIC void | ms_filter_enable_statistics (bool_t enabled)
| Enable processing time measurements statistics for filters.
MS2_PUBLIC void | ms_filter_reset_statistics (void)
| Reset processing time statistics for filters.
MS2_PUBLIC const MSList * | ms_filter_get_statistics (void)
| Retrieves statistics for running filters. Returns a list of MSFilterStats.
MS2_PUBLIC void | ms_filter_log_statistics (void)
| Logs runtime statistics for running filters.

## Detailed Description

mediastreamer2 msfilter.h include file

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.