| Mediastreamer Reference Guide |
|---|
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.
typedef struct {
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;
} MSFilter;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; |
| <<< MSSync | MSFilter implementations >>> |