Mediastreamer Reference Guide | |||
---|---|---|---|
<<< Previous Page | Home | Up | Next Page >>> |
#include <msfilter.h> struct MSFilter; int ms_filter_add_link (MSFilter *m1, MSFilter *m2); |
MSFilter is the base class for all mediastreamer processing filters: codec compression, soundcard read, souncard write, etc... MSFilter objects have to be linked between them to form a processing chain, that is then attached to a MSSync object (synchronisation source) in order to be scheduled for processing.
struct MSFilter { struct _MSFilterClass *klass; GMutex *lock; guchar finputs; /* number of connected fifo inputs*/ guchar foutputs; /* number of connected fifo outputs*/ guchar qinputs; /* number of connected queue inputs*/ guchar qoutputs; /* number of connected queue outputs*/ gint min_fifo_size; /* set when linking*/ gint r_mingran; /* read minimum granularity (for fifos). It can be zero so that the filter can accept any size of reading data*/ MSFifo **infifos; /*pointer to a table of pointer to input fifos*/ MSFifo **outfifos; /*pointer to a table of pointer to output fifos*/ MSQueue **inqueues; /*pointer to a table of pointer to input queues*/ MSQueue **outqueues; /*pointer to a table of pointer to output queues*/ MSFilterNotifyFunc notify_event; gpointer userdata; }; |
Only programmers implementing derivated objects of MSFilter are interested by the content of the structure.
struct _MSFilterClass *klass | Pointer to the class structure. |
GMutex *lock | |
guchar finputs | Number of fifo inputs currently in use. |
guchar foutputs | Number of fifo outputs currently in use. |
guchar qinputs | Number of queue inputs currently in use. |
guchar qoutputs | Number of queue outputs currently in use. |
gint min_fifo_size | |
gint r_mingran | |
MSFifo **infifos | Pointer to a table of fifo inputs |
MSFifo **outfifos | Pointer to a table of ffo ouputs |
MSQueue **inqueues | Pointer to a table of queue inputs |
MSQueue **outqueues | Pointer to a table of queue qoutputs |
MSFilterNotifyFunc notify_event | |
gpointer userdata |