MSFilters

Name

MSFilters -- The basic mediastreamer element.

Synopsis


#include <msfilter.h>


struct      MSFilter;
int         ms_filter_add_link              (MSFilter *m1,
                                             MSFilter *m2);

Description

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.

Details

struct MSFilter

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*/
};

Only programmers implementing derivated objects of MSFilter are interested by the content of the structure.

struct _MSFilterClass *klassPointer 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 **outqueuesPointer to a table of queue qoutputs


ms_filter_add_link ()

int         ms_filter_add_link              (MSFilter *m1,
                                             MSFilter *m2);

m1 : 
m2 : 
Returns :