?? filters.sgml
字號:
<refentry id="mediastreamer-Filters"><refmeta><refentrytitle>MSFilters</refentrytitle><manvolnum>3</manvolnum><refmiscinfo>MEDIASTREAMER Library</refmiscinfo></refmeta><refnamediv><refname>MSFilters</refname><refpurpose>The basic mediastreamer element.</refpurpose></refnamediv><refsynopsisdiv><title>Synopsis</title><synopsis>#include <msfilter.h> <link linkend="MSFilter">MSFilter</link>;<link linkend="int">int</link> <link linkend="ms-filter-add-link">ms_filter_add_link</link> (<link linkend="MSFilter">MSFilter</link> *m1, <link linkend="MSFilter">MSFilter</link> *m2);</synopsis></refsynopsisdiv><refsect1><title>Description</title><para>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.</para></refsect1><refsect1><title>Details</title><refsect2><title><anchor id="MSFilter">MSFilter</title><indexterm><primary>MSFilter</primary></indexterm><programlisting>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;</programlisting><para>Only programmers implementing derivated objects of MSFilter are interested by the content of the structure.</para><variablelist role="struct"><varlistentry><term>struct <link linkend="MSFilterClass">_MSFilterClass</link> *<structfield>klass</structfield>;</term><listitem><simpara>Pointer to the class structure.</simpara></listitem></varlistentry><varlistentry><term><link linkend="GMutex">GMutex</link> *<structfield>lock</structfield>;</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><link linkend="guchar">guchar</link> <structfield>finputs</structfield>;</term><listitem><simpara> Number of fifo inputs currently in use.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guchar">guchar</link> <structfield>foutputs</structfield>;</term><listitem><simpara> Number of fifo outputs currently in use.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guchar">guchar</link> <structfield>qinputs</structfield>;</term><listitem><simpara> Number of queue inputs currently in use.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guchar">guchar</link> <structfield>qoutputs</structfield>;</term><listitem><simpara> Number of queue outputs currently in use.</simpara></listitem></varlistentry><varlistentry><term><link linkend="gint">gint</link> <structfield>min_fifo_size</structfield>;</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><link linkend="gint">gint</link> <structfield>r_mingran</structfield>;</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><link linkend="MSFifo">MSFifo</link> **<structfield>infifos</structfield>;</term><listitem><simpara> Pointer to a table of fifo inputs</simpara></listitem></varlistentry><varlistentry><term><link linkend="MSFifo">MSFifo</link> **<structfield>outfifos</structfield>;</term><listitem><simpara> Pointer to a table of ffo ouputs</simpara></listitem></varlistentry><varlistentry><term><link linkend="MSQueue">MSQueue</link> **<structfield>inqueues</structfield>;</term><listitem><simpara> Pointer to a table of queue inputs</simpara></listitem></varlistentry><varlistentry><term><link linkend="MSQueue">MSQueue</link> **<structfield>outqueues</structfield>;</term><listitem><simpara>Pointer to a table of queue qoutputs</simpara></listitem></varlistentry><varlistentry><term><link linkend="MSFilterNotifyFunc">MSFilterNotifyFunc</link> <structfield>notify_event</structfield>;</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><link linkend="gpointer">gpointer</link> <structfield>userdata</structfield>;</term><listitem><simpara></simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="ms-filter-add-link">ms_filter_add_link ()</title><indexterm><primary>ms_filter_add_link</primary></indexterm><programlisting><link linkend="int">int</link> ms_filter_add_link (<link linkend="MSFilter">MSFilter</link> *m1, <link linkend="MSFilter">MSFilter</link> *m2);</programlisting><para></para><variablelist role="params"><varlistentry><term><parameter>m1</parameter> :</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><parameter>m2</parameter> :</term><listitem><simpara></simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara></simpara></listitem></varlistentry></variablelist></refsect2></refsect1></refentry>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -