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


ms_filter_add_link ()

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

m1 :

m2 :

Returns :