Re- set up the gtk-doc system. I'd managed to mutilate it a while back, but now...
authorErik Walthinsen <omega@temple-baptist.org>
Tue, 1 Feb 2000 09:16:43 +0000 (09:16 +0000)
committerErik Walthinsen <omega@temple-baptist.org>
Tue, 1 Feb 2000 09:16:43 +0000 (09:16 +0000)
Original commit message from CVS:
Re- set up the gtk-doc system.  I'd managed to mutilate it a while back,
but now it's fixed.  I'll put a copy of the HTML output somewhere on the
website tonight.

In order to actually generate the docs, you'll have to install all the
DocBook tools, as well as gtk-doc from GNOME cvs.  (see
http://developer.gnome.org/arch/doc/tools.html)

Notes (I'll codify these some day):

- Don't believe the Gnome page, always edit the SOURCES when documenting a
given function, never the tmpl file.
- I'll be re-arranging things a lot, but gtk-doc is smart enough to merge
any changes to the tmpl file.  However, gtk-doc's merge and CVS's diff are
two entirely separate animals.  We should probably have a virtual mutex on
the entire docs/gst/ directory, over and above what CVS does.
- I'm going to try to end up with a book set (docbook terms), where
docs/gst/ is only one book.  There'd be another called docs/manual/, and
another docs/plugins/, etc.  If you have any comments as to how these
should be done, gstreamer-devel is the place.

32 files changed:
configure.in
docs/Makefile.am
docs/gst/.gitignore [new file with mode: 0644]
docs/gst/Makefile.am [new file with mode: 0644]
docs/gst/gstreamer-decl.txt [new file with mode: 0644]
docs/gst/gstreamer-docs.sgml [new file with mode: 0644]
docs/gst/gstreamer-sections.txt [new file with mode: 0644]
docs/gst/gstreamer.hierarchy [new file with mode: 0644]
docs/gst/gstreamer.types [new file with mode: 0644]
docs/gst/tmpl/.gitignore [new file with mode: 0644]
docs/gst/tmpl/gst.sgml [new file with mode: 0644]
docs/gst/tmpl/gstbin.sgml [new file with mode: 0644]
docs/gst/tmpl/gstbuffer.sgml [new file with mode: 0644]
docs/gst/tmpl/gstconnection.sgml [new file with mode: 0644]
docs/gst/tmpl/gstdisksrc.sgml [new file with mode: 0644]
docs/gst/tmpl/gstelement.sgml [new file with mode: 0644]
docs/gst/tmpl/gstfilter.sgml [new file with mode: 0644]
docs/gst/tmpl/gstmeta.sgml [new file with mode: 0644]
docs/gst/tmpl/gstobject.sgml [new file with mode: 0644]
docs/gst/tmpl/gstpad.sgml [new file with mode: 0644]
docs/gst/tmpl/gstpipeline.sgml [new file with mode: 0644]
docs/gst/tmpl/gstplugin.sgml [new file with mode: 0644]
docs/gst/tmpl/gstqueue.sgml [new file with mode: 0644]
docs/gst/tmpl/gstsink.sgml [new file with mode: 0644]
docs/gst/tmpl/gstsrc.sgml [new file with mode: 0644]
docs/gst/tmpl/gsttee.sgml [new file with mode: 0644]
docs/gst/tmpl/gstthread.sgml [new file with mode: 0644]
docs/gst/tmpl/gsttrace.sgml [new file with mode: 0644]
docs/gst/tmpl/gsttype.sgml [new file with mode: 0644]
docs/gst/tmpl/gstutils.sgml [new file with mode: 0644]
docs/gst/tmpl/gstxml.sgml [new file with mode: 0644]
docs/gst/tmpl/plugin.sgml [new file with mode: 0644]

index d88eb57..9d0b735 100644 (file)
@@ -291,6 +291,7 @@ test/cothreads/Makefile
 editor/Makefile
 tools/Makefile
 docs/Makefile
+docs/gst/Makefile
 stamp.h
 gstreamer-config
 gstreamer.spec])
index e9a72e9..278dc65 100644 (file)
@@ -1 +1,3 @@
+SUBDIRS = gst
+
 #EXTRA_DIST = random slides
diff --git a/docs/gst/.gitignore b/docs/gst/.gitignore
new file mode 100644 (file)
index 0000000..b6a6a3c
--- /dev/null
@@ -0,0 +1,6 @@
+Makefile
+Makefile.in
+html
+sgml
+gstreamer.signals
+gstreamer.html
diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
new file mode 100644 (file)
index 0000000..11178ef
--- /dev/null
@@ -0,0 +1,77 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE=gstreamer
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=gstreamer-docs.sgml
+
+# The directory containing the source code (if it contains documentation).
+DOC_SOURCE_DIR=$(top_srcdir)/gst
+
+CFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) -I$(top_srcdir)
+LDFLAGS = $(GLIB_LIBS) $(GTK_LIBS) $(top_srcdir)/gst/libgst.la
+
+HTML_DIR=$(datadir)/gstreamer/gst/html
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+tmpl_sources =                         \
+       tmpl/gst.sgml                   \
+       tmpl/gstbin.sgml                \
+       tmpl/gstbuffer.sgml             \
+       tmpl/gstconnection.sgml         \
+       tmpl/gstelement.sgml            \
+       tmpl/gstfilter.sgml             \
+       tmpl/gstmeta.sgml               \
+       tmpl/gstobject.sgml             \
+       tmpl/gstpad.sgml                \
+       tmpl/gstpipeline.sgml           \
+       tmpl/gstplugin.sgml             \
+       tmpl/gstqueue.sgml              \
+       tmpl/gstsink.sgml               \
+       tmpl/gstsrc.sgml                \
+       tmpl/gsttee.sgml                \
+       tmpl/gstthread.sgml             \
+       tmpl/gsttrace.sgml              \
+       tmpl/gsttype.sgml               \
+       tmpl/gstutils.sgml              \
+       tmpl/gstxml.sgml                \
+       tmpl/plugin.sgml                \
+
+SCANOBJS_FILES =               \
+       $(DOC_MODULE).signals   \
+       $(DOC_MODULE).hierarchy \
+       $(DOC_MODULE).args
+
+scanobj:
+       env CC="$(LIBTOOL) --mode=link $(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               gtkdoc-scanobj --module=$(DOC_MODULE) \
+               --types=$(srcdir)/$(DOC_MODULE).types
+
+scan:
+       gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="gsttypefind.h"
+
+tmpl: scan
+       gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+sgml:
+       gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+
+html:
+       if ! test -d html ; then mkdir html ; fi
+       -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+
+clean-local:
+       rm -f *~ *.bak *.hierarchy *.signals *.args *-unused.txt
+
+maintainer-clean-local: clean
+       rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt 
+
+install-data-local:
+       install -d -m 0755 $(TARGET_DIR)
+       install -m 0644 html/*.html $(TARGET_DIR)
+       install -m 0644 html/index.sgml $(TARGET_DIR)
+       gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)
+
+.PHONY : html sgml templates scan
diff --git a/docs/gst/gstreamer-decl.txt b/docs/gst/gstreamer-decl.txt
new file mode 100644 (file)
index 0000000..7693f04
--- /dev/null
@@ -0,0 +1,2530 @@
+<MACRO>
+<NAME>COTHREAD_STACKSIZE</NAME>
+#define COTHREAD_STACKSIZE 8192
+</MACRO>
+<MACRO>
+<NAME>COTHREAD_MAXTHREADS</NAME>
+#define COTHREAD_MAXTHREADS 16
+</MACRO>
+<MACRO>
+<NAME>STACK_SIZE</NAME>
+#define STACK_SIZE 0x200000
+</MACRO>
+<MACRO>
+<NAME>CURRENT_STACK_FRAME</NAME>
+#define CURRENT_STACK_FRAME  ({ char __csf; &__csf; })
+</MACRO>
+<STRUCT>
+<NAME>cothread_state</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>cothread_context</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>cothread_func</NAME>
+<RETURNS>int </RETURNS>
+int argc,char **argv
+</USER_FUNCTION>
+<MACRO>
+<NAME>COTHREAD_STARTED</NAME>
+#define COTHREAD_STARTED       0x01
+</MACRO>
+<STRUCT>
+<NAME>cothread_state</NAME>
+struct cothread_state {
+  cothread_context *ctx;
+  int threadnum;
+
+  cothread_func func;
+  int argc;
+  char **argv;
+
+  int flags;
+  int *sp;
+  int *pc;
+  jmp_buf jmp;
+};
+</STRUCT>
+<STRUCT>
+<NAME>cothread_context</NAME>
+struct cothread_context {
+  cothread_state *threads[COTHREAD_MAXTHREADS];
+  int nthreads;
+  int current;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>cothread_init</NAME>
+<RETURNS>cothread_context  *</RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>cothread_create</NAME>
+<RETURNS>cothread_state  *</RETURNS>
+cothread_context *ctx
+</FUNCTION>
+<FUNCTION>
+<NAME>cothread_setfunc</NAME>
+<RETURNS>void  </RETURNS>
+cothread_state *thread,cothread_func func,int argc,char **argv
+</FUNCTION>
+<FUNCTION>
+<NAME>cothread_switch</NAME>
+<RETURNS>void  </RETURNS>
+cothread_state *thread
+</FUNCTION>
+<FUNCTION>
+<NAME>cothread_main</NAME>
+<RETURNS>cothread_state  *</RETURNS>
+cothread_context *ctx
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_init</NAME>
+<RETURNS>void  </RETURNS>
+int *argc,char **argv[]
+</FUNCTION>
+<MACRO>
+<NAME>DEBUG</NAME>
+#define DEBUG(format,args...) g_print("DEBUG: " format, ##args)
+</MACRO>
+<MACRO>
+<NAME>DEBUG</NAME>
+#define DEBUG(format,args...)
+</MACRO>
+<MACRO>
+<NAME>GST_TYPE_BIN</NAME>
+#define GST_TYPE_BIN \
+  (gst_bin_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_BIN</NAME>
+#define GST_BIN(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_BIN,GstBin))
+</MACRO>
+<MACRO>
+<NAME>GST_BIN_CLASS</NAME>
+#define GST_BIN_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_BIN,GstBinClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_BIN</NAME>
+#define GST_IS_BIN(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_BIN))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_BIN_CLASS</NAME>
+#define GST_IS_BIN_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN)))
+</MACRO>
+<STRUCT>
+<NAME>GstBin</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstBinClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstBin</NAME>
+struct GstBin {
+  GstElement element;
+
+  gint numchildren;
+  GList *children;
+
+  GList *entries;
+  gint numentries;
+
+  cothread_context *threadcontext;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_bin_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_add</NAME>
+<RETURNS>void  </RETURNS>
+GstBin *bin,GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_remove</NAME>
+<RETURNS>void  </RETURNS>
+GstBin *bin,GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_get_by_name</NAME>
+<RETURNS>GstElement  *</RETURNS>
+GstBin *bin,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_get_list</NAME>
+<RETURNS>GList  *</RETURNS>
+GstBin *bin
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_set_state_type</NAME>
+<RETURNS>gboolean  </RETURNS>
+GstBin *bin,GstElementState state,GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_iterate</NAME>
+<RETURNS>void  </RETURNS>
+GstBin *bin
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_create_plan</NAME>
+<RETURNS>void  </RETURNS>
+GstBin *bin
+</FUNCTION>
+<MACRO>
+<NAME>GST_BUFFER</NAME>
+#define GST_BUFFER(buf) ((GstBuffer *)(buf))
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_FLAGS</NAME>
+#define GST_BUFFER_FLAGS(buf) \
+  (GST_BUFFER(buf)->flags)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_FLAG_IS_SET</NAME>
+#define GST_BUFFER_FLAG_IS_SET(buf,flag) \
+  (GST_BUFFER_FLAGS(buf) & (flag))
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_FLAG_SET</NAME>
+#define GST_BUFFER_FLAG_SET(buf,flag) \
+  G_STMT_START{ (GST_BUFFER_FLAGS(buf) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_FLAG_UNSET</NAME>
+#define GST_BUFFER_FLAG_UNSET(buf,flag) \
+  G_STMT_START{ (GST_BUFFER_FLAGS(buf) &= ~(flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_TYPE</NAME>
+#define GST_BUFFER_TYPE(buf)           (GST_BUFFER(buf)->type)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_DATA</NAME>
+#define GST_BUFFER_DATA(buf)           (GST_BUFFER(buf)->data)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_SIZE</NAME>
+#define GST_BUFFER_SIZE(buf)           (GST_BUFFER(buf)->size)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_OFFSET</NAME>
+#define GST_BUFFER_OFFSET(buf)         (GST_BUFFER(buf)->offset)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_MAXSIZE</NAME>
+#define GST_BUFFER_MAXSIZE(buf)                (GST_BUFFER(buf)->maxsize)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_TIMESTAMP</NAME>
+#define GST_BUFFER_TIMESTAMP(buf)      (GST_BUFFER(buf)->timestamp)
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_LOCK</NAME>
+#define GST_BUFFER_LOCK(buf)   (g_mutex_lock(GST_BUFFER(buf)->lock))
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_TRYLOCK</NAME>
+#define GST_BUFFER_TRYLOCK(buf)        (g_mutex_trylock(GST_BUFFER(buf)->lock))
+</MACRO>
+<MACRO>
+<NAME>GST_BUFFER_UNLOCK</NAME>
+#define GST_BUFFER_UNLOCK(buf) (g_mutex_unlock(GST_BUFFER(buf)->lock))
+</MACRO>
+<ENUM>
+<NAME>GstBufferFlags</NAME>
+typedef enum {
+  GST_BUFFER_READONLY          = (1 << 0),
+  GST_BUFFER_EOS               = (1 << 1),
+  GST_BUFFER_ORIGINAL          = (1 << 2),
+  GST_BUFFER_DONTFREE          = (1 << 3),
+} GstBufferFlags;
+</ENUM>
+<STRUCT>
+<NAME>GstBuffer</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstBuffer</NAME>
+struct GstBuffer {
+  /* locking */
+  GMutex *lock;
+
+  /* refcounting */
+#ifdef HAVE_ATOMIC_H
+  atomic_t refcount;
+#else
+  int refcount;
+#endif
+
+  /* data type of this buffer */
+  guint16 type;
+  /* flags */
+  guint16 flags;
+
+  /* pointer to data, its size, and offset in original source if known */
+  guchar *data;
+  guint32 size;
+  guint32 maxsize;
+  guint32 offset;
+
+  /* timestamp */
+  guint64 timestamp;
+  /* max age */
+  guint64 maxage;
+
+  /* pointer to metadata, is really lame right now */
+  GSList *metas;
+
+  /* subbuffer support, who's my parent? */
+  GstBuffer *parent;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_buffer_new</NAME>
+<RETURNS>GstBuffer  *</RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_create_sub</NAME>
+<RETURNS>GstBuffer  *</RETURNS>
+GstBuffer *parent,guint32 offset,guint32 size
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_ref</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_ref_by_count</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer,int count
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_unref</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_destroy</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_add_meta</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer,GstMeta *meta
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_get_first_meta</NAME>
+<RETURNS>GstMeta  *</RETURNS>
+GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_get_metas</NAME>
+<RETURNS>GSList  *</RETURNS>
+GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_buffer_remove_meta</NAME>
+<RETURNS>void  </RETURNS>
+GstBuffer *buffer,GstMeta *meta
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_CONNECTION</NAME>
+#define GST_TYPE_CONNECTION \
+  (gst_connection_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_CONNECTION</NAME>
+#define GST_CONNECTION(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_CONNECTION,GstConnection))
+</MACRO>
+<MACRO>
+<NAME>GST_CONNECTION_CLASS</NAME>
+#define GST_CONNECTION_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_CONNECTION,GstConnectionClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_CONNECTION</NAME>
+#define GST_IS_CONNECTION(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_CONNECTION))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_CONNECTION_CLASS</NAME>
+#define GST_IS_CONNECTION_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION)))
+</MACRO>
+<STRUCT>
+<NAME>GstConnection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstConnectionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstConnection</NAME>
+struct GstConnection {
+  GstElement element;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_connection_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_connection_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_connection_push</NAME>
+<RETURNS>void  </RETURNS>
+GstConnection *connection
+</FUNCTION>
+<ENUM>
+<NAME>GstElementState</NAME>
+typedef enum {
+  GST_STATE_COMPLETE    = (1 << 0),
+  GST_STATE_RUNNING     = (1 << 1),
+  GST_STATE_DISCOVERY   = (1 << 2),
+  GST_STATE_PREROLL     = (1 << 3),
+
+  GST_STATE_PLAYING    = (1 << 4),
+  GST_STATE_PAUSED     = (1 << 5),
+
+  GST_STATE_MAX                = (1 << 15),
+} GstElementState;
+</ENUM>
+<MACRO>
+<NAME>GST_STATE</NAME>
+#define GST_STATE(obj)                 (GST_ELEMENT(obj)->state)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_IS_SET</NAME>
+#define GST_STATE_IS_SET(obj,flag)     (GST_STATE (obj) & (flag))
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_SET</NAME>
+#define GST_STATE_SET(obj,flag) \
+G_STMT_START{ (GST_STATE (obj) |= (flag)); \
+gst_info("set '%s' state %d\n",gst_element_get_name(obj),flag); \
+}G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_UNSET</NAME>
+#define GST_STATE_UNSET(obj,flag) \
+G_STMT_START{ (GST_STATE (obj) &= ~(flag)); \
+gst_info("unset '%s' state %d\n",gst_element_get_name(obj),flag); \
+}G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_TYPE_ELEMENT</NAME>
+#define GST_TYPE_ELEMENT \
+  (gst_element_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_ELEMENT</NAME>
+#define GST_ELEMENT(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_ELEMENT,GstElement))
+</MACRO>
+<MACRO>
+<NAME>GST_ELEMENT_CLASS</NAME>
+#define GST_ELEMENT_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ELEMENT,GstElementClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ELEMENT</NAME>
+#define GST_IS_ELEMENT(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_ELEMENT))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ELEMENT_CLASS</NAME>
+#define GST_IS_ELEMENT_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT)))
+</MACRO>
+<STRUCT>
+<NAME>GstElement</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstElementClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstElementDetails</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstElementFactory</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GstElementLoopFunction</NAME>
+<RETURNS>void </RETURNS>
+GstElement *element
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GstElement</NAME>
+struct GstElement {
+  GstObject object;
+
+  gchar *name;
+
+  guint16 state;
+
+  GstElementLoopFunction loopfunc;
+  cothread_state *threadstate;
+
+  guint16 numpads;
+  GList *pads;
+
+  GstElement *manager;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GstElementDetails</NAME>
+struct GstElementDetails {
+  gchar *longname;              /* long, english name */
+  gchar *class;                 /* type of element, kinda */
+  gchar *description;           /* insights of one form or another */
+  gchar *version;               /* version of the element */
+  gchar *author;                /* who wrote this thing? */
+  gchar *copyright;             /* copyright details (year, etc.) */
+};
+</STRUCT>
+<STRUCT>
+<NAME>GstElementFactory</NAME>
+struct GstElementFactory {
+  gchar *name;
+  GtkType type;
+
+  GstElementDetails *details;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_element_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_set_loop_function</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,GstElementLoopFunction loop
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_set_name</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_get_name</NAME>
+<RETURNS>gchar  *</RETURNS>
+GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_set_manager</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,GstElement *manager
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_get_manager</NAME>
+<RETURNS>GstElement  *</RETURNS>
+GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_add_pad</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_add_ghost_pad</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_get_pad</NAME>
+<RETURNS>GstPad  *</RETURNS>
+GstElement *element,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_get_pad_list</NAME>
+<RETURNS>GList  *</RETURNS>
+GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_connect</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *src,gchar *srcpadname,GstElement *dest,gchar *destpadname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_set_state</NAME>
+<RETURNS>gboolean  </RETURNS>
+GstElement *element,GstElementState state
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_error</NAME>
+<RETURNS>void  </RETURNS>
+GstElement *element,gchar *error
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_change_state</NAME>
+<RETURNS>gboolean  </RETURNS>
+GstElement *element,GstElementState state
+</FUNCTION>
+<MACRO>
+<NAME>gst_element_destroy</NAME>
+#define gst_element_destroy(element) gst_object_destroy(GST_OBJECT(element))
+</MACRO>
+<FUNCTION>
+<NAME>gst_element_save_thyself</NAME>
+<RETURNS>xmlNodePtr  </RETURNS>
+GstElement *element,xmlNodePtr parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_new</NAME>
+<RETURNS>GstElementFactory  *</RETURNS>
+gchar *name,GtkType type,GstElementDetails *details
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_register</NAME>
+<RETURNS>void  </RETURNS>
+GstElementFactory *elementfactory
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_find</NAME>
+<RETURNS>GstElementFactory  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_get_list</NAME>
+<RETURNS>GList  *</RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_create</NAME>
+<RETURNS>GstElement  *</RETURNS>
+GstElementFactory *factory,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_make</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *factoryname,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_element_loopfunc_wrapper</NAME>
+<RETURNS>int  </RETURNS>
+int argc,char **argv
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_FILTER</NAME>
+#define GST_TYPE_FILTER \
+  (gst_filter_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_FILTER</NAME>
+#define GST_FILTER(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_FILTER,GstFilter))
+</MACRO>
+<MACRO>
+<NAME>GST_FILTER_CLASS</NAME>
+#define GST_FILTER_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FILTER,GstFilterClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FILTER</NAME>
+#define GST_IS_FILTER(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_FILTER))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FILTER_CLASS</NAME>
+#define GST_IS_FILTER_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FILTER)))
+</MACRO>
+<STRUCT>
+<NAME>GstFilter</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFilterClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFilter</NAME>
+struct GstFilter {
+  GstElement element;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_filter_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_filter_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<MACRO>
+<NAME>GST_SHOW_INFO</NAME>
+#define GST_SHOW_INFO
+</MACRO>
+<MACRO>
+<NAME>gst_info</NAME>
+#define gst_info(format,args...) fprintf(stderr,format,##args)
+</MACRO>
+<MACRO>
+<NAME>gst_info</NAME>
+#define gst_info(format,args...)
+</MACRO>
+<MACRO>
+<NAME>GST_META</NAME>
+#define GST_META(meta) ((GstMeta *)(meta))
+</MACRO>
+<MACRO>
+<NAME>GST_META_FLAGS</NAME>
+#define GST_META_FLAGS(buf) \
+  (GST_META(buf)->flags)
+</MACRO>
+<MACRO>
+<NAME>GST_META_FLAG_IS_SET</NAME>
+#define GST_META_FLAG_IS_SET(meta,flag) \
+  (GST_META_FLAGS(meta) & (flag))
+</MACRO>
+<MACRO>
+<NAME>GST_META_FLAG_SET</NAME>
+#define GST_META_FLAG_SET(meta,flag) \
+  G_STMT_START{ (GST_META_FLAGS(meta) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_META_FLAG_UNSET</NAME>
+#define GST_META_FLAG_UNSET(meta,flag) \
+  G_STMT_START{ (GST_META_FLAGS(meta) &= ~(flag)); }G_STMT_END
+</MACRO>
+<ENUM>
+<NAME>GstMetaFlags</NAME>
+typedef enum {
+  GST_META_FREEABLE             = 1 << 0,
+} GstMetaFlags;
+</ENUM>
+<STRUCT>
+<NAME>GstMeta</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstMeta</NAME>
+struct GstMeta {
+  /* locking */
+  GMutex *lock;
+
+  /* refcounting */
+#ifdef HAVE_ATOMIC_H
+  atomic_t refcount;
+#else
+  int refcount;
+#endif
+
+  guint16 type;
+  guint16 flags;
+
+  void *data;
+  guint16 size;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_meta_new_size</NAME>
+<RETURNS>GstMeta  *</RETURNS>
+gint size
+</FUNCTION>
+<MACRO>
+<NAME>gst_meta_new</NAME>
+#define gst_meta_new(type) (type *)gst_meta_new_size(sizeof(type))
+</MACRO>
+<FUNCTION>
+<NAME>gst_meta_ref</NAME>
+<RETURNS>void  </RETURNS>
+GstMeta *meta
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_meta_unref</NAME>
+<RETURNS>void  </RETURNS>
+GstMeta *meta
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_OBJECT</NAME>
+#define GST_TYPE_OBJECT \
+  (gst_object_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_OBJECT</NAME>
+#define GST_OBJECT(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_OBJECT,GstObject))
+</MACRO>
+<MACRO>
+<NAME>GST_OBJECT_CLASS</NAME>
+#define GST_OBJECT_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_OBJECT,GstObjectClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_OBJECT</NAME>
+#define GST_IS_OBJECT(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_OBJECT))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_OBJECT_CLASS</NAME>
+#define GST_IS_OBJECT_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_OBJECT)))
+</MACRO>
+<STRUCT>
+<NAME>GstObject</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstObjectClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstObject</NAME>
+struct GstObject {
+  GtkObject object;
+
+  /* have to have a refcount for the object */
+#ifdef HAVE_ATOMIC_H
+  atomic_t refcount;
+#else
+  int refcount;
+#endif
+
+  /* locking for all sorts of things (like the refcount) */
+  GMutex *lock;
+
+  /* this objects parent */
+  GstObject *parent;
+};
+</STRUCT>
+<MACRO>
+<NAME>GST_FLAGS</NAME>
+#define GST_FLAGS(obj)                 GTK_OBJECT_FLAGS(obj)
+</MACRO>
+<MACRO>
+<NAME>GST_FLAG_IS_SET</NAME>
+#define GST_FLAG_IS_SET(obj,flag)      (GST_FLAGS (obj) & (flag))
+</MACRO>
+<MACRO>
+<NAME>GST_FLAG_SET</NAME>
+#define GST_FLAG_SET(obj,flag)         G_STMT_START{ (GST_FLAGS (obj) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_FLAG_UNSET</NAME>
+#define GST_FLAG_UNSET(obj,flag)       G_STMT_START{ (GST_FLAGS (obj) &= ~(flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_LOCK</NAME>
+#define GST_LOCK(obj)          (g_mutex_lock(GST_OBJECT(obj)->lock))
+</MACRO>
+<MACRO>
+<NAME>GST_TRYLOCK</NAME>
+#define GST_TRYLOCK(obj)       (g_mutex_trylock(GST_OBJECT(obj)->lock))
+</MACRO>
+<MACRO>
+<NAME>GST_UNLOCK</NAME>
+#define GST_UNLOCK(obj)                (g_mutex_unlock(GST_OBJECT(obj)->lock))
+</MACRO>
+<FUNCTION>
+<NAME>gst_object_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_object_new</NAME>
+<RETURNS>GstObject *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_object_set_parent</NAME>
+<RETURNS>void  </RETURNS>
+GstObject *object,GstObject *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_object_get_parent</NAME>
+<RETURNS>GstObject  *</RETURNS>
+GstObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_object_unparent</NAME>
+<RETURNS>void  </RETURNS>
+GstObject *object
+</FUNCTION>
+<MACRO>
+<NAME>gst_object_ref</NAME>
+#define gst_object_ref(obj) gtk_object_ref(GTK_OBJECT(obj));
+</MACRO>
+<MACRO>
+<NAME>gst_object_unref</NAME>
+#define gst_object_unref(obj) gtk_object_unref(GTK_OBJECT(obj));
+</MACRO>
+<MACRO>
+<NAME>gst_object_sink</NAME>
+#define gst_object_sink(obj) gtk_object_sink(GTK_OBJECT(obj));
+</MACRO>
+<MACRO>
+<NAME>gst_object_destroy</NAME>
+#define gst_object_destroy(obj) gtk_object_destroy(GTK_OBJECT(obj))
+</MACRO>
+<MACRO>
+<NAME>GST_TYPE_PAD</NAME>
+#define GST_TYPE_PAD \
+  (gst_pad_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_PAD</NAME>
+#define GST_PAD(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_PAD,GstPad))
+</MACRO>
+<MACRO>
+<NAME>GST_PAD_CLASS</NAME>
+#define GST_PAD_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PAD,GstPadClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PAD</NAME>
+#define GST_IS_PAD(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_PAD))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PAD_CLASS</NAME>
+#define GST_IS_PAD_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PAD)))
+</MACRO>
+<MACRO>
+<NAME>GST_PAD_CONNECTED</NAME>
+#define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL)
+</MACRO>
+<STRUCT>
+<NAME>GstPad</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPadClass</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GstPadChainFunction</NAME>
+<RETURNS>void </RETURNS>
+GstPad *pad,GstBuffer *buf
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GstPadPushFunction</NAME>
+<RETURNS>void </RETURNS>
+GstPad *pad
+</USER_FUNCTION>
+<ENUM>
+<NAME>GstPadDirection</NAME>
+typedef enum {
+  GST_PAD_UNKNOWN,
+  GST_PAD_SRC,
+  GST_PAD_SINK,
+} GstPadDirection;
+</ENUM>
+<STRUCT>
+<NAME>GstPad</NAME>
+struct GstPad {
+  GstObject object;
+
+  gchar *name;
+  guint16 type;
+
+  GstPadDirection direction;
+
+  GstPad *peer;
+
+  GstBuffer *bufpen;
+
+  GstPadChainFunction chain;
+
+  GstObject *parent;
+  GList *ghostparents;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_pad_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_new</NAME>
+<RETURNS>GstPad  *</RETURNS>
+gchar *name,GstPadDirection direction
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_destroy</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_direction</NAME>
+<RETURNS>GstPadDirection  </RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_set_chain_function</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstPadChainFunction chain
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_type_id</NAME>
+<RETURNS>guint32  </RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_set_type_id</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,guint16 id
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_set_name</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_name</NAME>
+<RETURNS>gchar  *</RETURNS>
+GstPad *pad
+</FUNCTION>
+<MACRO>
+<NAME>gst_pad_destroy</NAME>
+#define gst_pad_destroy(pad) gst_object_destroy(GST_OBJECT(pad))
+</MACRO>
+<FUNCTION>
+<NAME>gst_pad_get_directory</NAME>
+<RETURNS>GstPadDirection  </RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_set_parent</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstObject *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_add_ghost_parent</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstObject *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_remove_ghost_parent</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstObject *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_parent</NAME>
+<RETURNS>GstObject  *</RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_ghost_parents</NAME>
+<RETURNS>GList  *</RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_get_peer</NAME>
+<RETURNS>GstPad  *</RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_connect</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *srcpad,GstPad *sinkpad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_push</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buffer
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_pull</NAME>
+<RETURNS>GstBuffer  *</RETURNS>
+GstPad *pad
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pad_save_thyself</NAME>
+<RETURNS>xmlNodePtr  </RETURNS>
+GstPad *pad,xmlNodePtr parent
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_PIPELINE</NAME>
+#define GST_TYPE_PIPELINE \
+  (gst_pipeline_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_PIPELINE</NAME>
+#define GST_PIPELINE(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_PIPELINE,GstPipeline))
+</MACRO>
+<MACRO>
+<NAME>GST_PIPELINE_CLASS</NAME>
+#define GST_PIPELINE_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPELINE,GstPipelineClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PIPELINE</NAME>
+#define GST_IS_PIPELINE(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_PIPELINE))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PIPELINE_CLASS</NAME>
+#define GST_IS_PIPELINE_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE)))
+</MACRO>
+<STRUCT>
+<NAME>GstPipeline</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPipelineClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPipeline</NAME>
+struct GstPipeline {
+  GstBin bin;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_pipeline_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_pipeline_new</NAME>
+<RETURNS>GstPipeline  *</RETURNS>
+guchar *name
+</FUNCTION>
+<MACRO>
+<NAME>gst_pipeline_destroy</NAME>
+#define gst_pipeline_destroy(pipeline) gst_object_destroy(GST_OBJECT(pipeline))
+</MACRO>
+<FUNCTION>
+<NAME>gst_pipeline_iterate</NAME>
+<RETURNS>void  </RETURNS>
+GstPipeline *pipeline
+</FUNCTION>
+<STRUCT>
+<NAME>GstPlugin</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPluginElement</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPlugin</NAME>
+struct GstPlugin {
+  gchar *name;                 /* name of the plugin */
+  gchar *longname;             /* long name of plugin */
+  gchar *filename;             /* filename it came from */
+
+  GList *types;                        /* list of types provided */
+  GList *elements;             /* list of elements provided */
+  GList *identifiers;          /* list of identifiers */
+};
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GstPluginInitFunc</NAME>
+<RETURNS>GstPlugin *</RETURNS>
+GModule *module
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_new</NAME>
+<RETURNS>GstPlugin  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_set_longname</NAME>
+<RETURNS>void  </RETURNS>
+GstPlugin *plugin,gchar *longname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_init</NAME>
+<RETURNS>void  </RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_load_all</NAME>
+<RETURNS>void  </RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_load</NAME>
+<RETURNS>gboolean  </RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_load_absolute</NAME>
+<RETURNS>gboolean  </RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_add_factory</NAME>
+<RETURNS>void  </RETURNS>
+GstPlugin *plugin,GstElementFactory *factory
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_find</NAME>
+<RETURNS>GstPlugin  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_get_list</NAME>
+<RETURNS>GList  *</RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_plugin_find_elementfactory</NAME>
+<RETURNS>GstElementFactory  *</RETURNS>
+gchar *name
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_SINK</NAME>
+#define GST_TYPE_SINK \
+  (gst_sink_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_SINK</NAME>
+#define GST_SINK(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_SINK,GstSink))
+</MACRO>
+<MACRO>
+<NAME>GST_SINK_CLASS</NAME>
+#define GST_SINK_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINK,GstSinkClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SINK</NAME>
+#define GST_IS_SINK(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_SINK))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SINK_CLASS</NAME>
+#define GST_IS_SINK_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINK)))
+</MACRO>
+<STRUCT>
+<NAME>GstSink</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSinkClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSink</NAME>
+struct GstSink {
+  GstElement element;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_sink_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_sink_new</NAME>
+<RETURNS>GstObject  *</RETURNS>
+gchar *name
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_SRC</NAME>
+#define GST_TYPE_SRC \
+  (gst_src_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_SRC</NAME>
+#define GST_SRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_SRC,GstSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_SRC_CLASS</NAME>
+#define GST_SRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SRC,GstSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SRC</NAME>
+#define GST_IS_SRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_SRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SRC_CLASS</NAME>
+#define GST_IS_SRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SRC)))
+</MACRO>
+<ENUM>
+<NAME>GstSrcFlags</NAME>
+typedef enum {
+  GST_SRC_ASYNC                = 1 << 0,
+} GstSrcFlags;
+</ENUM>
+<MACRO>
+<NAME>GST_SRC_FLAGS</NAME>
+#define GST_SRC_FLAGS(obj)     (GST_SRC(obj)->flags)
+</MACRO>
+<MACRO>
+<NAME>GST_SRC_ASYNC</NAME>
+#define GST_SRC_ASYNC(obj)     ((GST_SRC_FLAGS(obj) & GST_SRC_ASYNC)
+</MACRO>
+<STRUCT>
+<NAME>GstSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSrc</NAME>
+struct GstSrc {
+  GstElement element;
+  gint32 flags;
+};
+</STRUCT>
+<MACRO>
+<NAME>GST_SRC_SET_FLAGS</NAME>
+#define GST_SRC_SET_FLAGS(src,flag)   G_STMT_START{ (GST_SRC_FLAGS (src) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GST_SRC_UNSET_FLAGS</NAME>
+#define GST_SRC_UNSET_FLAGS(src,flag)  G_STMT_START{ (GST_SRC_FLAGS (src) &= ~(flag)); }G_STMT_END
+</MACRO>
+<FUNCTION>
+<NAME>gst_src_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_src_signal_eos</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_src_push</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_src_push_region</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src,gulong offset,gulong size
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_TEE</NAME>
+#define GST_TYPE_TEE \
+  (gst_tee_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_TEE</NAME>
+#define GST_TEE(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_TEE,GstTee))
+</MACRO>
+<MACRO>
+<NAME>GST_TEE_CLASS</NAME>
+#define GST_TEE_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_TEE</NAME>
+#define GST_IS_TEE(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_TEE))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_TEE_CLASS</NAME>
+#define GST_IS_TEE_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE)))
+</MACRO>
+<STRUCT>
+<NAME>GstTee</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstTeeClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstTee</NAME>
+struct GstTee {
+  GstFilter filter;
+
+  GstPad *sinkpad;
+
+  gint numsrcpads;
+  GSList *srcpads;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_tee_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_tee_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_tee_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_tee_new_pad</NAME>
+<RETURNS>gchar  *</RETURNS>
+GstTee *tee
+</FUNCTION>
+<ENUM>
+<NAME>GstThreadState</NAME>
+typedef enum {
+  GST_THREAD_CREATE            = (1 << 16),
+  GST_THREAD_STATE_SPINNING    = (1 << 17),
+  GST_THREAD_STATE_REAPING     = (1 << 18),
+} GstThreadState;
+</ENUM>
+<MACRO>
+<NAME>GST_TYPE_THREAD</NAME>
+#define GST_TYPE_THREAD \
+  (gst_thread_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_THREAD</NAME>
+#define GST_THREAD(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_THREAD,GstThread))
+</MACRO>
+<MACRO>
+<NAME>GST_THREAD_CLASS</NAME>
+#define GST_THREAD_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_THREAD,GstThreadClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_THREAD</NAME>
+#define GST_IS_THREAD(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_THREAD))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_THREAD_CLASS</NAME>
+#define GST_IS_THREAD_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD)))
+</MACRO>
+<STRUCT>
+<NAME>GstThread</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstThreadClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstThread</NAME>
+struct GstThread {
+  GstBin bin;
+
+  GList *entries;              /* used to determine iterate behavior */
+  gint numentries;             /* number of above entry points */
+
+  pthread_t thread_id;         /* id of the thread, if any */
+  GMutex *lock;                        /* thread lock/condititon pair... */
+  GCond *cond;                 /* used to control the thread */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_thread_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_thread_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+guchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_thread_main_loop</NAME>
+<RETURNS>void  *</RETURNS>
+void *arg
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_thread_iterate</NAME>
+<RETURNS>void  </RETURNS>
+GstThread *thread
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_trace_read_tsc</NAME>
+<RETURNS>void  </RETURNS>
+guint64 *dst
+</FUNCTION>
+<STRUCT>
+<NAME>GstTrace</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstTraceEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstTrace</NAME>
+struct GstTrace {
+  /* where this trace is going */
+  gchar *filename;
+  int fd;
+
+  /* current buffer, size, head offset */
+  GstTraceEntry *buf;
+  gint bufsize;
+  gint bufoffset;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GstTraceEntry</NAME>
+struct GstTraceEntry {
+  guint64 timestamp;
+  guint32 sequence;
+  guint32 data;
+  gchar message[112];
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_trace_new</NAME>
+<RETURNS>GstTrace  *</RETURNS>
+guchar *filename,gint size
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_trace_destroy</NAME>
+<RETURNS>void  </RETURNS>
+GstTrace *trace
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_trace_flush</NAME>
+<RETURNS>void  </RETURNS>
+GstTrace *trace
+</FUNCTION>
+<MACRO>
+<NAME>gst_trace_get_size</NAME>
+#define gst_trace_get_size(trace) ((trace)->bufsize)
+</MACRO>
+<MACRO>
+<NAME>gst_trace_get_offset</NAME>
+#define gst_trace_get_offset(trace) ((trace)->bufoffset)
+</MACRO>
+<MACRO>
+<NAME>gst_trace_get_remaining</NAME>
+#define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
+</MACRO>
+<FUNCTION>
+<NAME>gst_trace_set_default</NAME>
+<RETURNS>void  </RETURNS>
+GstTrace *trace
+</FUNCTION>
+<MACRO>
+<NAME>TRACE_ENABLE</NAME>
+#define TRACE_ENABLE
+</MACRO>
+<MACRO>
+<NAME>gst_trace_add_entry</NAME>
+#define gst_trace_add_entry(trace,seq,data,msg) \
+  if (_gst_trace_on) { \
+    _gst_trace_add_entry(trace,(guint32)seq,(guint32)data,msg); \
+  }
+</MACRO>
+<MACRO>
+<NAME>gst_trace_add_entry</NAME>
+#define gst_trace_add_entry(trace,seq,data,msg)
+</MACRO>
+<USER_FUNCTION>
+<NAME>GstTypeFindFunc</NAME>
+<RETURNS>gboolean </RETURNS>
+GstBuffer *buf,gpointer *private
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GstType</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstTypeFactory</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstType</NAME>
+struct GstType {
+  guint16 id;                  /* type id (assigned) */
+
+  gchar *mime;                 /* MIME type */
+  gchar *exts;                 /* space-delimited list of extensions */
+
+  GstTypeFindFunc typefindfunc;        /* typefind function */
+
+  GList *srcs;                 /* list of src objects for this type */
+  GList *sinks;                        /* list of sink objects for type */
+};
+</STRUCT>
+<STRUCT>
+<NAME>GstTypeFactory</NAME>
+struct GstTypeFactory {
+  gchar *mime;
+  gchar *exts;
+  GstTypeFindFunc typefindfunc;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_type_initialize</NAME>
+<RETURNS>void  </RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_register</NAME>
+<RETURNS>guint16  </RETURNS>
+GstTypeFactory *factory
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_find_by_mime</NAME>
+<RETURNS>guint16  </RETURNS>
+gchar *mime
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_find_by_ext</NAME>
+<RETURNS>guint16  </RETURNS>
+gchar *ext
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_add_src</NAME>
+<RETURNS>void  </RETURNS>
+guint16 id,GstElementFactory *src
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_add_sink</NAME>
+<RETURNS>void  </RETURNS>
+guint16 id,GstElementFactory *sink
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_get_srcs</NAME>
+<RETURNS>GList  *</RETURNS>
+guint16 id
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_get_sinks</NAME>
+<RETURNS>GList  *</RETURNS>
+guint16 id
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_find_by_id</NAME>
+<RETURNS>GstType  *</RETURNS>
+guint16 id
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_type_get_list</NAME>
+<RETURNS>GList  *</RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_int_arg</NAME>
+<RETURNS>gint  </RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_long_arg</NAME>
+<RETURNS>glong  </RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_float_arg</NAME>
+<RETURNS>gfloat  </RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_double_arg</NAME>
+<RETURNS>gdouble  </RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_string_arg</NAME>
+<RETURNS>guchar  *</RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_pointer_arg</NAME>
+<RETURNS>gpointer  </RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_util_get_widget_arg</NAME>
+<RETURNS>GtkWidget  *</RETURNS>
+GtkObject *object,guchar *argname
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_xml_write</NAME>
+<RETURNS>xmlDocPtr  </RETURNS>
+GstElement *element
+</FUNCTION>
+<FUNCTION>
+<NAME>plugin_initialize</NAME>
+<RETURNS>void  </RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>plugin_load_all</NAME>
+<RETURNS>void  </RETURNS>
+
+</FUNCTION>
+<FUNCTION>
+<NAME>plugin_load</NAME>
+<RETURNS>GModule  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>plugin_load_absolute</NAME>
+<RETURNS>GModule  *</RETURNS>
+gchar *name
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_ASYNCDISKSRC</NAME>
+#define GST_TYPE_ASYNCDISKSRC \
+  (gst_asyncdisksrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_ASYNCDISKSRC</NAME>
+#define GST_ASYNCDISKSRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_ASYNCDISKSRC_CLASS</NAME>
+#define GST_ASYNCDISKSRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ASYNCDISKSRC</NAME>
+#define GST_IS_ASYNCDISKSRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_ASYNCDISKSRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ASYNCDISKSRC_CLASS</NAME>
+#define GST_IS_ASYNCDISKSRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ASYNCDISKSRC)))
+</MACRO>
+<ENUM>
+<NAME>GstAsyncDiskSrcFlags</NAME>
+typedef enum {
+  GST_ASYNCDISKSRC_OPEN        = (1 << 16),
+} GstAsyncDiskSrcFlags;
+</ENUM>
+<STRUCT>
+<NAME>GstAsyncDiskSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAsyncDiskSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAsyncDiskSrc</NAME>
+struct GstAsyncDiskSrc {
+  GstSrc src;
+  /* pads */
+  GstPad *srcpad;
+
+  /* filename */
+  gchar *filename;
+  /* fd */
+  gint fd;
+
+  /* mapping parameters */
+  gulong size;                         /* how long is the file? */
+  guchar *map;                         /* where the file is mapped to */
+
+  /* details for fallback synchronous read */
+  gulong curoffset;                    /* current offset in file */
+  gulong bytes_per_read;               /* bytes per read */
+
+  gulong seq;                          /* buffer sequence number */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_asyncdisksrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_AUDIOSINK</NAME>
+#define GST_TYPE_AUDIOSINK \
+  (gst_audiosink_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_AUDIOSINK</NAME>
+#define GST_AUDIOSINK(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSINK,GstAudioSink))
+</MACRO>
+<MACRO>
+<NAME>GST_AUDIOSINK_CLASS</NAME>
+#define GST_AUDIOSINK_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSINK,GstAudioSinkClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUDIOSINK</NAME>
+#define GST_IS_AUDIOSINK(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSINK))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUDIOSINK_CLASS</NAME>
+#define GST_IS_AUDIOSINK_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK)))
+</MACRO>
+<STRUCT>
+<NAME>GstAudioSink</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAudioSinkClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAudioSink</NAME>
+struct GstAudioSink {
+  GstFilter filter;
+
+  GstPad *sinkpad;
+
+  /* soundcard state */
+  int fd;
+  gint format;
+  gint channels;
+  gint frequency;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_audiosink_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_sync_parms</NAME>
+<RETURNS>void  </RETURNS>
+GstAudioSink *audiosink
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_set_format</NAME>
+<RETURNS>void  </RETURNS>
+GstAudioSink *audiosink,gint format
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_set_channels</NAME>
+<RETURNS>void  </RETURNS>
+GstAudioSink *audiosink,gint channels
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosink_set_frequency</NAME>
+<RETURNS>void  </RETURNS>
+GstAudioSink *audiosink,gint frequency
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_AUDIOSRC</NAME>
+#define GST_TYPE_AUDIOSRC \
+  (gst_audiosrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_AUDIOSRC</NAME>
+#define GST_AUDIOSRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSRC,GstAudioSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_AUDIOSRC_CLASS</NAME>
+#define GST_AUDIOSRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSRC,GstAudioSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUDIOSRC</NAME>
+#define GST_IS_AUDIOSRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUDIOSRC_CLASS</NAME>
+#define GST_IS_AUDIOSRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSRC)))
+</MACRO>
+<STRUCT>
+<NAME>GstAudioSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAudioSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAudioSrc</NAME>
+struct GstAudioSrc {
+  GstSrc src;
+
+  /* pads */
+  GstPad *srcpad;
+
+  /* sound card */
+  gchar *filename;
+  gint fd;
+
+  /* audio parameters */
+  gint format;
+  gint channels;
+  gint frequency;
+
+  /* blocking */
+  gulong curoffset;
+  gulong bytes_per_read;
+
+  gulong seq;
+
+  MetaAudioRaw *meta;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_audiosrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosrc_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_audiosrc_push</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_DISKSRC</NAME>
+#define GST_TYPE_DISKSRC \
+  (gst_disksrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_DISKSRC</NAME>
+#define GST_DISKSRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_DISKSRC_CLASS</NAME>
+#define GST_DISKSRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_DISKSRC</NAME>
+#define GST_IS_DISKSRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_DISKSRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_DISKSRC_CLASS</NAME>
+#define GST_IS_DISKSRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC)))
+</MACRO>
+<ENUM>
+<NAME>GstDiskSrcFlags</NAME>
+typedef enum {
+  GST_DISKSRC_OPEN             = (1 << 16),
+} GstDiskSrcFlags;
+</ENUM>
+<STRUCT>
+<NAME>GstDiskSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstDiskSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstDiskSrc</NAME>
+struct GstDiskSrc {
+  GstSrc src;
+  /* pads */
+  GstPad *srcpad;
+
+  /* filename */
+  gchar *filename;
+  /* fd */
+  gint fd;
+
+  gulong curoffset;                    /* current offset in file */
+  gulong bytes_per_read;               /* bytes per read */
+
+  gulong seq;                          /* buffer sequence number */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_disksrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_ESDSINK</NAME>
+#define GST_TYPE_ESDSINK \
+  (gst_esdsink_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_ESDSINK</NAME>
+#define GST_ESDSINK(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink))
+</MACRO>
+<MACRO>
+<NAME>GST_ESDSINK_CLASS</NAME>
+#define GST_ESDSINK_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ESDSINK</NAME>
+#define GST_IS_ESDSINK(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_ESDSINK_CLASS</NAME>
+#define GST_IS_ESDSINK_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)))
+</MACRO>
+<STRUCT>
+<NAME>GstEsdSink</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstEsdSinkClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstEsdSink</NAME>
+struct GstEsdSink {
+  GstFilter filter;
+
+  GstPad *sinkpad;
+
+  /* soundcard state */
+  
+  int fd;
+  gint format;
+  gint channels;
+  gint frequency;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_esdsink_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_sync_parms</NAME>
+<RETURNS>void  </RETURNS>
+GstEsdSink *esdsink
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_set_format</NAME>
+<RETURNS>void  </RETURNS>
+GstEsdSink *esdsink,gint format
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_set_channels</NAME>
+<RETURNS>void  </RETURNS>
+GstEsdSink *esdsink,gint channels
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_esdsink_set_frequency</NAME>
+<RETURNS>void  </RETURNS>
+GstEsdSink *esdsink,gint frequency
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_FAKESINK</NAME>
+#define GST_TYPE_FAKESINK \
+  (gst_fakesink_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_FAKESINK</NAME>
+#define GST_FAKESINK(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
+</MACRO>
+<MACRO>
+<NAME>GST_FAKESINK_CLASS</NAME>
+#define GST_FAKESINK_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FAKESINK</NAME>
+#define GST_IS_FAKESINK(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESINK))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FAKESINK_CLASS</NAME>
+#define GST_IS_FAKESINK_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK)))
+</MACRO>
+<STRUCT>
+<NAME>GstFakeSink</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFakeSinkClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFakeSink</NAME>
+struct GstFakeSink {
+  GstSink sink;
+
+  GstPad *sinkpad;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_fakesink_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fakesink_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fakesink_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_FAKESRC</NAME>
+#define GST_TYPE_FAKESRC \
+  (gst_fakesrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_FAKESRC</NAME>
+#define GST_FAKESRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_FAKESRC_CLASS</NAME>
+#define GST_FAKESRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FAKESRC</NAME>
+#define GST_IS_FAKESRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FAKESRC_CLASS</NAME>
+#define GST_IS_FAKESRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC)))
+</MACRO>
+<STRUCT>
+<NAME>GstFakeSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFakeSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFakeSrc</NAME>
+struct GstFakeSrc {
+  GstSrc src;
+
+  GstPad *srcpad;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_fakesrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fakesrc_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fakesrc_push</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_FDSINK</NAME>
+#define GST_TYPE_FDSINK \
+  (gst_fdsink_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_FDSINK</NAME>
+#define GST_FDSINK(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
+</MACRO>
+<MACRO>
+<NAME>GST_FDSINK_CLASS</NAME>
+#define GST_FDSINK_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FDSINK</NAME>
+#define GST_IS_FDSINK(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_FDSINK))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FDSINK_CLASS</NAME>
+#define GST_IS_FDSINK_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK)))
+</MACRO>
+<STRUCT>
+<NAME>GstFdSink</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFdSinkClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFdSink</NAME>
+struct GstFdSink {
+  GstSink sink;
+
+  GstPad *sinkpad;
+
+  int fd;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_fdsink_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fdsink_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fdsink_new_with_fd</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name,gint fd
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_fdsink_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_FDSRC</NAME>
+#define GST_TYPE_FDSRC \
+  (gst_fdsrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_FDSRC</NAME>
+#define GST_FDSRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_FDSRC_CLASS</NAME>
+#define GST_FDSRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FDSRC</NAME>
+#define GST_IS_FDSRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_FDSRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_FDSRC_CLASS</NAME>
+#define GST_IS_FDSRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC)))
+</MACRO>
+<STRUCT>
+<NAME>GstFdSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFdSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstFdSrc</NAME>
+struct GstFdSrc {
+  GstSrc src;
+  /* pads */
+  GstPad *srcpad;
+
+  /* fd */
+  gint fd;
+
+  gulong curoffset;                    /* current offset in file */
+  gulong bytes_per_read;               /* bytes per read */
+
+  gulong seq;                          /* buffer sequence number */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_fdsrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_HTTPSRC</NAME>
+#define GST_TYPE_HTTPSRC \
+  (gst_httpsrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_HTTPSRC</NAME>
+#define GST_HTTPSRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_HTTPSRC_CLASS</NAME>
+#define GST_HTTPSRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_HTTPSRC</NAME>
+#define GST_IS_HTTPSRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_HTTPSRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_HTTPSRC_CLASS</NAME>
+#define GST_IS_HTTPSRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC)))
+</MACRO>
+<STRUCT>
+<NAME>GstHttpSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstHttpSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstHttpSrc</NAME>
+struct GstHttpSrc {
+  GstSrc src;
+  /* pads */
+  GstPad *srcpad;
+
+  gchar *url;
+  ghttp_request *request;
+  int fd;
+
+  gulong curoffset;                    /* current offset in file */
+  gulong bytes_per_read;               /* bytes per read */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_httpsrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_IDENTITY</NAME>
+#define GST_TYPE_IDENTITY \
+  (gst_identity_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_IDENTITY</NAME>
+#define GST_IDENTITY(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
+</MACRO>
+<MACRO>
+<NAME>GST_IDENTITY_CLASS</NAME>
+#define GST_IDENTITY_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_IDENTITY</NAME>
+#define GST_IS_IDENTITY(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_IDENTITY))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_IDENTITY_CLASS</NAME>
+#define GST_IS_IDENTITY_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY)))
+</MACRO>
+<STRUCT>
+<NAME>GstIdentity</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstIdentityClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstIdentity</NAME>
+struct GstIdentity {
+  GstFilter filter;
+
+  GstPad *sinkpad;
+  GstPad *srcpad;
+
+  gint control;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_identity_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_identity_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_identity_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_QUEUE</NAME>
+#define GST_TYPE_QUEUE \
+  (gst_queue_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_QUEUE</NAME>
+#define GST_QUEUE(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_QUEUE,GstQueue))
+</MACRO>
+<MACRO>
+<NAME>GST_QUEUE_CLASS</NAME>
+#define GST_QUEUE_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_QUEUE</NAME>
+#define GST_IS_QUEUE(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_QUEUE))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_QUEUE_CLASS</NAME>
+#define GST_IS_QUEUE_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE)))
+</MACRO>
+<STRUCT>
+<NAME>GstQueue</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstQueueClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstQueue</NAME>
+struct GstQueue {
+  GstConnection Connection;
+
+  GstPad *sinkpad;
+  GstPad *srcpad;
+
+  /* the queue of buffers we're keeping our grubby hands on */
+  GList *queue;
+  GList *tail;         /* have to keep track of this myself */
+
+  gint level_buffers;  /* number of buffers queued here */
+  gint level_bytes;    /* number of bytes queued here */
+  gint size_buffers;   /* size of queue in buffers */
+  gint size_bytes;     /* size of queue in bytes */
+
+  GMutex *waiterlock;  /* used when the queue is empty */
+  GCond *waitercond;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_queue_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_queue_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_queue_chain</NAME>
+<RETURNS>void  </RETURNS>
+GstPad *pad,GstBuffer *buf
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_queue_push</NAME>
+<RETURNS>void  </RETURNS>
+GstConnection *connection
+</FUNCTION>
+<MACRO>
+<NAME>GST_TYPE_SINESRC</NAME>
+#define GST_TYPE_SINESRC \
+  (gst_sinesrc_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_SINESRC</NAME>
+#define GST_SINESRC(obj) \
+  (GTK_CHECK_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
+</MACRO>
+<MACRO>
+<NAME>GST_SINESRC_CLASS</NAME>
+#define GST_SINESRC_CLASS(klass) \
+  (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SINESRC</NAME>
+#define GST_IS_SINESRC(obj) \
+  (GTK_CHECK_TYPE((obj),GST_TYPE_SINESRC))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_SINESRC_CLASS</NAME>
+#define GST_IS_SINESRC_CLASS(obj) \
+  (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC)))
+</MACRO>
+<STRUCT>
+<NAME>GstSineSrc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSineSrcClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstSineSrc</NAME>
+struct GstSineSrc {
+  GstSrc src;
+
+  /* pads */
+  GstPad *srcpad;
+
+  /* parameters */
+  gdouble volume;
+  gint freq;
+
+  /* audio parameters */
+  gint format;
+  gint channels;
+  gint frequency;
+
+  gulong seq;
+
+  MetaAudioRaw meta;
+  gboolean sentmeta;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_sinesrc_get_type</NAME>
+<RETURNS>GtkType  </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_sinesrc_new</NAME>
+<RETURNS>GstElement  *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_sinesrc_push</NAME>
+<RETURNS>void  </RETURNS>
+GstSrc *src
+</FUNCTION>
+<STRUCT>
+<NAME>MetaAudioRaw</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>MetaAudioRaw</NAME>
+struct MetaAudioRaw {
+  GstMeta meta;
+
+  /* formatting information */
+  gint format;
+  gint channels;
+  gint frequency;
+  gint bps;
+};
+</STRUCT>
+<STRUCT>
+<NAME>MetaAudioSpectrum</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>MetaAudioSpectrum</NAME>
+struct MetaAudioSpectrum {
+  GstMeta meta;
+
+  /* data representation */
+  gint16 bands;                        /* how many bands are represented */
+  gint8 channels;              /* how many audio channels are there? */
+  gboolean interleaved;                /* are the channels interleaved? */
+
+  /* spectrum details */
+  gint16 lowfreq;
+  gint16 highfreq;
+  gint16 steps;
+};
+</STRUCT>
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
new file mode 100644 (file)
index 0000000..104241b
--- /dev/null
@@ -0,0 +1,105 @@
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity Gst SYSTEM "sgml/gst.sgml">
+
+<!entity GstObject SYSTEM "sgml/gstobject.sgml">
+<!entity GstPad SYSTEM "sgml/gstpad.sgml">
+<!entity GstElement SYSTEM "sgml/gstelement.sgml">
+<!entity GstFilter SYSTEM "sgml/gstfilter.sgml">
+<!entity GstBin SYSTEM "sgml/gstbin.sgml">
+<!entity GstPipeline SYSTEM "sgml/gstpipeline.sgml">
+<!entity GstBuffer SYSTEM "sgml/gstbuffer.sgml">
+<!entity GstSrc SYSTEM "sgml/gstsrc.sgml">
+<!entity GstSink SYSTEM "sgml/gstsink.sgml">
+
+<!entity GstPlugin SYSTEM "sgml/gstplugin.sgml">
+
+<!entity gstreamer-gsttype SYSTEM "sgml/gsttype.sgml">
+<!entity gstreamer-gstmeta SYSTEM "sgml/gstmeta.sgml">
+<!entity gstreamer-gstutils SYSTEM "sgml/gstutils.sgml">
+<!entity gstreamer-gsttrace SYSTEM "sgml/gsttrace.sgml">
+
+<!--
+<!entity gstreamer-gstasyncdisksrc SYSTEM "sgml/gstasyncdisksrc.sgml">
+<!entity gstreamer-gstaudiosink SYSTEM "sgml/gstaudiosink.sgml">
+<!entity gstreamer-gstdisksrc SYSTEM "sgml/gstdisksrc.sgml">
+<!entity gstreamer-gstesdsink SYSTEM "sgml/gstesdsink.sgml">
+<!entity gstreamer-gstfakefilter SYSTEM "sgml/gstfakefilter.sgml">
+<!entity gstreamer-gstfakesink SYSTEM "sgml/gstfakesink.sgml">
+<!entity gstreamer-gstfakesrc SYSTEM "sgml/gstfakesrc.sgml">
+<!entity gstreamer-gstfdsink SYSTEM "sgml/gstfdsink.sgml">
+<!entity gstreamer-gstfdsrc SYSTEM "sgml/gstfdsrc.sgml">
+<!entity gstreamer-gsthttpsrc SYSTEM "sgml/gsthttpsrc.sgml">
+<!entity gstreamer-gsttee SYSTEM "sgml/gsttee.sgml">
+
+<!entity gstreamer-spectrum SYSTEM "sgml/spectrum.sgml">
+<!entity gstreamer-audioraw SYSTEM "sgml/audioraw.sgml">
+-->
+
+<!entity gstreamer-tree-index SYSTEM "sgml/tree_index.sgml">
+]>
+
+
+<book>
+  <bookinfo>
+    <title>GStreamer Library Reference Manual</title>
+  </bookinfo>
+  <chapter id="gstreamer">
+    <title>GStreamer Core Library</title>
+
+    <para>libgst.la provides all the core GStreamer services,
+including initialization, plugin management, types and metadata, as 
+well as the object hiarchy that defines elements and bins, along
+with some more specialized elements.</para>
+
+    &Gst;
+    &GstObject;
+    &GstElement;
+    &GstBin;
+    &GstPipeline;
+    &GstFilter;
+    &GstSink;
+    &GstSrc;
+    &GstBuffer;
+    &GstPad;
+    &GstPlugin;
+
+    &gstreamer-gsttype;
+    &gstreamer-gstmeta;
+    &gstreamer-gstutils;
+    &gstreamer-gsttrace;
+  </chapter>
+
+<!--
+  <chapter id="element-types">
+    <title>GStreamer Element</title>
+
+
+    &gstreamer-gstfakesrc;
+    &gstreamer-gstdisksrc;
+    &gstreamer-gstasyncdisksrc;
+    &gstreamer-gsthttpsrc;
+    &gstreamer-gstfdsrc;
+
+    &gstreamer-gstaudiosink;
+    &gstreamer-gstesdsink;
+    &gstreamer-gstfdsink;
+    &gstreamer-gstfakesink;
+
+    &gstreamer-gstfakefilter;
+
+    &gstreamer-spectrum;
+    &gstreamer-audioraw;
+    &gstreamer-gsttee;
+    &gstreamer-gsttypeaudio;
+  </chapter>
+-->
+
+  <chapter id="gst-index">
+    <title>Index</title>
+
+    <sect1>
+      <title>Object Hierarchy</title>
+      &gstreamer-tree-index;
+    </sect1>
+  </chapter>
+</book>
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
new file mode 100644 (file)
index 0000000..70ee6ec
--- /dev/null
@@ -0,0 +1,577 @@
+<SECTION>
+<FILE>gstobject</FILE>
+GstObject
+<TITLE>GstObject</TITLE>
+GST_FLAGS
+GST_FLAG_IS_SET
+GST_FLAG_SET
+GST_FLAG_UNSET
+GST_LOCK
+GST_TRYLOCK
+GST_UNLOCK
+gst_object_new
+gst_object_set_parent
+gst_object_get_parent
+gst_object_unparent
+gst_object_ref
+gst_object_unref
+gst_object_sink
+gst_object_destroy
+<SUBSECTION Standard>
+gst_object_get_type
+GST_TYPE_OBJECT
+GST_IS_OBJECT
+GST_OBJECT_CLASS
+GST_IS_OBJECT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstbin</FILE>
+GST_BIN
+<TITLE>GstBin</TITLE>
+gst_bin_new
+gst_bin_add
+gst_bin_remove
+gst_bin_get_by_name
+gst_bin_get_list
+gst_bin_set_state_type
+gst_bin_iterate
+gst_bin_create_plan
+<SUBSECTION Standard>
+GST_TYPE_BIN
+GST_IS_BIN
+gst_bin_get_type
+GST_BIN_CLASS
+GST_IS_BIN_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstbuffer</FILE>
+GST_BUFFER
+GST_BUFFER_FLAGS
+GST_BUFFER_FLAG_SET
+GST_BUFFER_FLAG_UNSET
+GST_BUFFER_TYPE
+GST_BUFFER_DATA
+GST_BUFFER_SIZE
+GST_BUFFER_OFFSET
+GST_BUFFER_MAXSIZE
+GST_BUFFER_TIMESTAMP
+GST_BUFFER_LOCK
+GST_BUFFER_TRYLOCK
+GST_BUFFER_UNLOCK
+GstBufferFlags
+GstBuffer
+gst_buffer_new
+gst_buffer_create_sub
+gst_buffer_ref
+gst_buffer_ref_by_count
+gst_buffer_unref
+gst_buffer_destroy
+gst_buffer_add_meta
+gst_buffer_get_first_meta
+gst_buffer_get_metas
+gst_buffer_remove_meta
+<SUBSECTION Standard>
+GST_BUFFER_FLAG_IS_SET
+</SECTION>
+
+<SECTION>
+<FILE>gstconnection</FILE>
+GST_CONNECTION
+<TITLE>GstConnection</TITLE>
+gst_connection_new
+gst_connection_push
+<SUBSECTION Standard>
+GST_TYPE_CONNECTION
+GST_IS_CONNECTION
+gst_connection_get_type
+GST_CONNECTION_CLASS
+GST_IS_CONNECTION_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstelement</FILE>
+GstElementState
+GST_STATE
+GST_STATE_IS_SET
+GST_STATE_SET
+GST_STATE_UNSET
+GST_ELEMENT
+GstElementDetails
+GstElementFactory
+GstElementLoopFunction
+<TITLE>GstElement</TITLE>
+gst_element_new
+gst_element_set_loop_function
+gst_element_set_name
+gst_element_get_name
+gst_element_set_manager
+gst_element_get_manager
+gst_element_add_pad
+gst_element_add_ghost_pad
+gst_element_get_pad
+gst_element_get_pad_list
+gst_element_connect
+gst_element_set_state
+gst_element_error
+gst_element_change_state
+gst_element_destroy
+gst_element_save_thyself
+gst_elementfactory_new
+gst_elementfactory_register
+gst_elementfactory_find
+gst_elementfactory_get_list
+gst_elementfactory_create
+gst_elementfactory_make
+gst_element_loopfunc_wrapper
+<SUBSECTION Standard>
+GST_TYPE_ELEMENT
+GST_IS_ELEMENT
+gst_element_get_type
+GST_ELEMENT_CLASS
+GST_IS_ELEMENT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstfilter</FILE>
+GST_FILTER
+<TITLE>GstFilter</TITLE>
+gst_filter_new
+<SUBSECTION Standard>
+GST_TYPE_FILTER
+GST_IS_FILTER
+gst_filter_get_type
+GST_FILTER_CLASS
+GST_IS_FILTER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstmeta</FILE>
+GST_META
+GST_META_FLAGS
+GST_META_FLAG_SET
+GST_META_FLAG_UNSET
+GstMetaFlags
+GstMeta
+gst_meta_new_size
+gst_meta_new
+gst_meta_ref
+gst_meta_unref
+<SUBSECTION Standard>
+GST_META_FLAG_IS_SET
+</SECTION>
+
+<SECTION>
+<FILE>gstpad</FILE>
+GST_PAD
+GST_PAD_CONNECTED
+GstPadChainFunction
+GstPadPushFunction
+GstPadDirection
+<TITLE>GstPad</TITLE>
+gst_pad_new
+gst_pad_destroy
+gst_pad_get_direction
+gst_pad_set_chain_function
+gst_pad_get_type_id
+gst_pad_set_type_id
+gst_pad_set_name
+gst_pad_get_name
+gst_pad_get_directory
+gst_pad_set_parent
+gst_pad_add_ghost_parent
+gst_pad_remove_ghost_parent
+gst_pad_get_parent
+gst_pad_get_ghost_parents
+gst_pad_get_peer
+gst_pad_connect
+gst_pad_push
+gst_pad_pull
+gst_pad_save_thyself
+<SUBSECTION Standard>
+GST_TYPE_PAD
+GST_IS_PAD
+gst_pad_get_type
+GST_PAD_CLASS
+GST_IS_PAD_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstpipeline</FILE>
+GST_PIPELINE
+<TITLE>GstPipeline</TITLE>
+gst_pipeline_new
+gst_pipeline_destroy
+gst_pipeline_iterate
+<SUBSECTION Standard>
+GST_TYPE_PIPELINE
+GST_IS_PIPELINE
+gst_pipeline_get_type
+GST_PIPELINE_CLASS
+GST_IS_PIPELINE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstsink</FILE>
+GST_SINK
+<TITLE>GstSink</TITLE>
+gst_sink_new
+<SUBSECTION Standard>
+GST_TYPE_SINK
+GST_IS_SINK
+gst_sink_get_type
+GST_SINK_CLASS
+GST_IS_SINK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstsrc</FILE>
+GST_SRC
+GstSrcFlags
+GST_SRC_FLAGS
+GST_SRC_ASYNC
+<TITLE>GstSrc</TITLE>
+GST_SRC_SET_FLAGS
+GST_SRC_UNSET_FLAGS
+gst_src_signal_eos
+gst_src_push
+gst_src_push_region
+<SUBSECTION Standard>
+GST_TYPE_SRC
+GST_IS_SRC
+gst_src_get_type
+GST_SRC_CLASS
+GST_IS_SRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gsttee</FILE>
+GST_TEE
+<TITLE>GstTee</TITLE>
+gst_tee_new
+gst_tee_chain
+gst_tee_new_pad
+<SUBSECTION Standard>
+GST_TYPE_TEE
+GST_IS_TEE
+gst_tee_get_type
+GST_TEE_CLASS
+GST_IS_TEE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstthread</FILE>
+GstThreadState
+GST_THREAD
+<TITLE>GstThread</TITLE>
+gst_thread_new
+gst_thread_main_loop
+gst_thread_iterate
+<SUBSECTION Standard>
+GST_TYPE_THREAD
+GST_IS_THREAD
+gst_thread_get_type
+GST_THREAD_CLASS
+GST_IS_THREAD_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstasyncdisksrc</FILE>
+GST_ASYNCDISKSRC
+GstAsyncDiskSrcFlags
+<TITLE>GstAsyncDiskSrc</TITLE>
+<SUBSECTION Standard>
+GST_TYPE_ASYNCDISKSRC
+GST_IS_ASYNCDISKSRC
+gst_asyncdisksrc_get_type
+GST_ASYNCDISKSRC_CLASS
+GST_IS_ASYNCDISKSRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstaudiosink</FILE>
+GST_AUDIOSINK
+<TITLE>GstAudioSink</TITLE>
+gst_audiosink_new
+gst_audiosink_chain
+gst_audiosink_sync_parms
+gst_audiosink_set_format
+gst_audiosink_set_channels
+gst_audiosink_set_frequency
+<SUBSECTION Standard>
+GST_TYPE_AUDIOSINK
+GST_IS_AUDIOSINK
+gst_audiosink_get_type
+GST_AUDIOSINK_CLASS
+GST_IS_AUDIOSINK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstaudiosrc</FILE>
+GST_AUDIOSRC
+<TITLE>GstAudioSrc</TITLE>
+gst_audiosrc_new
+gst_audiosrc_push
+<SUBSECTION Standard>
+GST_TYPE_AUDIOSRC
+GST_IS_AUDIOSRC
+gst_audiosrc_get_type
+GST_AUDIOSRC_CLASS
+GST_IS_AUDIOSRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstdisksrc</FILE>
+GST_DISKSRC
+GstDiskSrcFlags
+<TITLE>GstDiskSrc</TITLE>
+<SUBSECTION Standard>
+GST_TYPE_DISKSRC
+GST_IS_DISKSRC
+gst_disksrc_get_type
+GST_DISKSRC_CLASS
+GST_IS_DISKSRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstesdsink</FILE>
+GST_ESDSINK
+<TITLE>GstEsdSink</TITLE>
+gst_esdsink_new
+gst_esdsink_chain
+gst_esdsink_sync_parms
+gst_esdsink_set_format
+gst_esdsink_set_channels
+gst_esdsink_set_frequency
+<SUBSECTION Standard>
+GST_TYPE_ESDSINK
+GST_IS_ESDSINK
+gst_esdsink_get_type
+GST_ESDSINK_CLASS
+GST_IS_ESDSINK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstfakesink</FILE>
+GST_FAKESINK
+<TITLE>GstFakeSink</TITLE>
+gst_fakesink_new
+gst_fakesink_chain
+<SUBSECTION Standard>
+GST_TYPE_FAKESINK
+GST_IS_FAKESINK
+gst_fakesink_get_type
+GST_FAKESINK_CLASS
+GST_IS_FAKESINK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstfakesrc</FILE>
+GST_FAKESRC
+<TITLE>GstFakeSrc</TITLE>
+gst_fakesrc_new
+gst_fakesrc_push
+<SUBSECTION Standard>
+GST_TYPE_FAKESRC
+GST_IS_FAKESRC
+gst_fakesrc_get_type
+GST_FAKESRC_CLASS
+GST_IS_FAKESRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstfdsink</FILE>
+GST_FDSINK
+<TITLE>GstFdSink</TITLE>
+gst_fdsink_new
+gst_fdsink_new_with_fd
+gst_fdsink_chain
+<SUBSECTION Standard>
+GST_TYPE_FDSINK
+GST_IS_FDSINK
+gst_fdsink_get_type
+GST_FDSINK_CLASS
+GST_IS_FDSINK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstfdsrc</FILE>
+GST_FDSRC
+<TITLE>GstFdSrc</TITLE>
+<SUBSECTION Standard>
+GST_TYPE_FDSRC
+GST_IS_FDSRC
+gst_fdsrc_get_type
+GST_FDSRC_CLASS
+GST_IS_FDSRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gsthttpsrc</FILE>
+GST_HTTPSRC
+<TITLE>GstHttpSrc</TITLE>
+<SUBSECTION Standard>
+GST_TYPE_HTTPSRC
+GST_IS_HTTPSRC
+gst_httpsrc_get_type
+GST_HTTPSRC_CLASS
+GST_IS_HTTPSRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstidentity</FILE>
+GST_IDENTITY
+<TITLE>GstIdentity</TITLE>
+gst_identity_new
+gst_identity_chain
+<SUBSECTION Standard>
+GST_TYPE_IDENTITY
+GST_IS_IDENTITY
+gst_identity_get_type
+GST_IDENTITY_CLASS
+GST_IS_IDENTITY_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstqueue</FILE>
+GST_QUEUE
+<TITLE>GstQueue</TITLE>
+gst_queue_new
+gst_queue_chain
+gst_queue_push
+<SUBSECTION Standard>
+GST_TYPE_QUEUE
+GST_IS_QUEUE
+gst_queue_get_type
+GST_QUEUE_CLASS
+GST_IS_QUEUE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gstsinesrc</FILE>
+GST_SINESRC
+<TITLE>GstSineSrc</TITLE>
+gst_sinesrc_new
+gst_sinesrc_push
+<SUBSECTION Standard>
+GST_TYPE_SINESRC
+GST_IS_SINESRC
+gst_sinesrc_get_type
+GST_SINESRC_CLASS
+GST_IS_SINESRC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>cothreads</FILE>
+COTHREAD_STACKSIZE
+COTHREAD_MAXTHREADS
+STACK_SIZE
+CURRENT_STACK_FRAME
+cothread_state
+cothread_context
+cothread_func
+COTHREAD_STARTED
+cothread_init
+cothread_create
+cothread_setfunc
+cothread_switch
+cothread_main
+</SECTION>
+
+<SECTION>
+<FILE>gst</FILE>
+gst_init
+DEBUG
+</SECTION>
+
+<SECTION>
+<FILE>gstlog</FILE>
+GST_SHOW_INFO
+gst_info
+</SECTION>
+
+<SECTION>
+<FILE>gstplugin</FILE>
+GstPlugin
+GstPluginElement
+GstPluginInitFunc
+gst_plugin_new
+gst_plugin_set_longname
+gst_plugin_init
+gst_plugin_load_all
+gst_plugin_load
+gst_plugin_load_absolute
+gst_plugin_add_factory
+gst_plugin_find
+gst_plugin_get_list
+gst_plugin_find_elementfactory
+</SECTION>
+
+<SECTION>
+<FILE>gsttrace</FILE>
+gst_trace_read_tsc
+GstTrace
+GstTraceEntry
+gst_trace_new
+gst_trace_destroy
+gst_trace_flush
+gst_trace_get_size
+gst_trace_get_offset
+gst_trace_get_remaining
+gst_trace_set_default
+TRACE_ENABLE
+gst_trace_add_entry
+</SECTION>
+
+<SECTION>
+<FILE>gsttype</FILE>
+GstTypeFindFunc
+GstType
+GstTypeFactory
+gst_type_initialize
+gst_type_register
+gst_type_find_by_mime
+gst_type_find_by_ext
+gst_type_add_src
+gst_type_add_sink
+gst_type_get_srcs
+gst_type_get_sinks
+gst_type_find_by_id
+gst_type_get_list
+</SECTION>
+
+<SECTION>
+<FILE>gstutils</FILE>
+gst_util_get_int_arg
+gst_util_get_long_arg
+gst_util_get_float_arg
+gst_util_get_double_arg
+gst_util_get_string_arg
+gst_util_get_pointer_arg
+gst_util_get_widget_arg
+</SECTION>
+
+<SECTION>
+<FILE>gstxml</FILE>
+gst_xml_write
+</SECTION>
+
+<SECTION>
+<FILE>plugin</FILE>
+plugin_initialize
+plugin_load_all
+plugin_load
+plugin_load_absolute
+</SECTION>
+
+<SECTION>
+<FILE>audioraw</FILE>
+MetaAudioRaw
+</SECTION>
+
+<SECTION>
+<FILE>spectrum</FILE>
+MetaAudioSpectrum
+</SECTION>
+
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
new file mode 100644 (file)
index 0000000..3232665
--- /dev/null
@@ -0,0 +1,12 @@
+GtkObject
+  GstObject
+    GstPad
+    GstElement
+      GstFilter
+        GstTee
+      GstBin
+        GstPipeline
+        GstThread
+      GstConnection
+      GstSrc
+      GstSink
diff --git a/docs/gst/gstreamer.types b/docs/gst/gstreamer.types
new file mode 100644 (file)
index 0000000..d80aa1e
--- /dev/null
@@ -0,0 +1,14 @@
+#include <gtk/gtk.h>
+#include <gst/gst.h>
+
+gst_object_get_type
+gst_pad_get_type
+gst_element_get_type
+gst_filter_get_type
+gst_bin_get_type
+gst_pipeline_get_type
+gst_thread_get_type
+gst_connection_get_type
+gst_src_get_type
+gst_sink_get_type
+gst_tee_get_type
diff --git a/docs/gst/tmpl/.gitignore b/docs/gst/tmpl/.gitignore
new file mode 100644 (file)
index 0000000..751553b
--- /dev/null
@@ -0,0 +1 @@
+*.bak
diff --git a/docs/gst/tmpl/gst.sgml b/docs/gst/tmpl/gst.sgml
new file mode 100644 (file)
index 0000000..13fcdf3
--- /dev/null
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+Gstreamer
+
+<!-- ##### SECTION Short_Description ##### -->
+Media library supporting arbitrary formats and filter graphs.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GStreamer is a framework for constructing graphs of various filters
+(termed elements here) that will handly streaming media.  Any discreet
+(packetizable) media type is supported, with provisions for automatically
+determining source type.  Metadata can be passed with all data to provide
+formatting/framing information.  Plugins are heavily used to provide for
+all elements, allowing one to construct plugins outside of the GST
+library, even released binary-only if license require (please don't).
+</para>
+
+<para>
+GStreamer borrows heavily from both the <ulink 
+url="http://www.cse.ogi.edu/sysl/">OGI media pipeline</ulink> and
+Microsoft's DirectShow, hopefully taking the best of both and leaving the
+cruft behind.  Its interface is still very fluid (I've redesigned the
+metadata handling twice already), and thus can be changed to increase the
+sanity/noise ratio.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+Check out both <ulink url="http://www.cse.ogi.edu/sysl/">OGI's
+pipeline</ulink> and Microsoft's DirectShow for some background.
+</para>
+
+<!-- ##### FUNCTION gst_init ##### -->
+<para>
+
+</para>
+
+@argc: 
+@argv: 
+
+
+<!-- ##### MACRO DEBUG ##### -->
+<para>
+
+</para>
+
+@format: 
+@args...: 
+
+
diff --git a/docs/gst/tmpl/gstbin.sgml b/docs/gst/tmpl/gstbin.sgml
new file mode 100644 (file)
index 0000000..a2deee2
--- /dev/null
@@ -0,0 +1,108 @@
+<!-- ##### SECTION Title ##### -->
+GstBin
+
+<!-- ##### SECTION Short_Description ##### -->
+Base container element
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GstBin is the simplest of the container elements, allowing elements to
+beocme children of itself.  Pads from the child elements can be ghosted to
+the bin, making the bin itself look transparently like any other element,
+allowing for deep nesting of predefined sub-pipelines.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_BIN ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_bin_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_bin_add ##### -->
+<para>
+
+</para>
+
+@bin: 
+@element: 
+
+
+<!-- ##### FUNCTION gst_bin_remove ##### -->
+<para>
+
+</para>
+
+@bin: 
+@element: 
+
+
+<!-- ##### FUNCTION gst_bin_get_by_name ##### -->
+<para>
+
+</para>
+
+@bin: 
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_bin_get_list ##### -->
+<para>
+
+</para>
+
+@bin: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_bin_set_state_type ##### -->
+<para>
+
+</para>
+
+@bin: 
+@state: 
+@type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_bin_iterate ##### -->
+<para>
+
+</para>
+
+@bin: 
+
+
+<!-- ##### FUNCTION gst_bin_create_plan ##### -->
+<para>
+
+</para>
+
+@bin: 
+
+
+<!-- ##### SIGNAL GstBin::object-added ##### -->
+<para>
+
+</para>
+
+@gstbin: the object which received the signal.
+@arg1: 
+
diff --git a/docs/gst/tmpl/gstbuffer.sgml b/docs/gst/tmpl/gstbuffer.sgml
new file mode 100644 (file)
index 0000000..301ae6a
--- /dev/null
@@ -0,0 +1,241 @@
+<!-- ##### SECTION Title ##### -->
+GstBuffer
+
+<!-- ##### SECTION Short_Description ##### -->
+Data-passing buffer type, supporting sub-buffers and metadata
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Buffers are the basic unit of data transfer in GST.  The GstBuffer type
+provides all the state necessary to define a region of memory as part of a
+stream.  Sub-buffer are also supported, allowing a smaller region of a
+buffer to become its own buffer, with mechanisms in place to ensure that
+nither memory space goes away.  Metadata is supported as a list of
+pointers to arbitrary metadata.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_BUFFER ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_FLAGS ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_FLAG_SET ##### -->
+<para>
+
+</para>
+
+@buf: 
+@flag: 
+
+
+<!-- ##### MACRO GST_BUFFER_FLAG_UNSET ##### -->
+<para>
+
+</para>
+
+@buf: 
+@flag: 
+
+
+<!-- ##### MACRO GST_BUFFER_TYPE ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_DATA ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_SIZE ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_OFFSET ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_MAXSIZE ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_TIMESTAMP ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_LOCK ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_TRYLOCK ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_BUFFER_UNLOCK ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### ENUM GstBufferFlags ##### -->
+<para>
+
+</para>
+
+@GST_BUFFER_READONLY: 
+@GST_BUFFER_EOS: 
+@GST_BUFFER_ORIGINAL: 
+@GST_BUFFER_DONTFREE: 
+
+<!-- ##### STRUCT GstBuffer ##### -->
+<para>
+
+</para>
+
+@lock: 
+@flags: 
+@data: 
+@size: 
+@maxsize: 
+@offset: 
+@timestamp: 
+@maxage: 
+@metas: 
+@parent: 
+
+<!-- ##### FUNCTION gst_buffer_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_buffer_create_sub ##### -->
+<para>
+
+</para>
+
+@parent: 
+@offset: 
+@size: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_buffer_ref ##### -->
+<para>
+
+</para>
+
+@buffer: 
+
+
+<!-- ##### FUNCTION gst_buffer_ref_by_count ##### -->
+<para>
+
+</para>
+
+@buffer: 
+@count: 
+
+
+<!-- ##### FUNCTION gst_buffer_unref ##### -->
+<para>
+
+</para>
+
+@buffer: 
+
+
+<!-- ##### FUNCTION gst_buffer_destroy ##### -->
+<para>
+
+</para>
+
+@buffer: 
+
+
+<!-- ##### FUNCTION gst_buffer_add_meta ##### -->
+<para>
+
+</para>
+
+@buffer: 
+@meta: 
+
+
+<!-- ##### FUNCTION gst_buffer_get_first_meta ##### -->
+<para>
+
+</para>
+
+@buffer: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_buffer_get_metas ##### -->
+<para>
+
+</para>
+
+@buffer: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_buffer_remove_meta ##### -->
+<para>
+
+</para>
+
+@buffer: 
+@meta: 
+
+
diff --git a/docs/gst/tmpl/gstconnection.sgml b/docs/gst/tmpl/gstconnection.sgml
new file mode 100644 (file)
index 0000000..c9d1e41
--- /dev/null
@@ -0,0 +1,41 @@
+<!-- ##### SECTION Title ##### -->
+GstConnection
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_CONNECTION ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_connection_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_connection_push ##### -->
+<para>
+
+</para>
+
+@connection: 
+
+
diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml
new file mode 100644 (file)
index 0000000..8442f23
--- /dev/null
@@ -0,0 +1,31 @@
+<!-- ##### SECTION Title ##### -->
+GstDiskSrc
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_DISKSRC ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### ENUM GstDiskSrcFlags ##### -->
+<para>
+
+</para>
+
+@GST_DISKSRC_OPEN: 
+
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
new file mode 100644 (file)
index 0000000..e86d117
--- /dev/null
@@ -0,0 +1,364 @@
+<!-- ##### SECTION Title ##### -->
+GstElement
+
+<!-- ##### SECTION Short_Description ##### -->
+Base class for all pipeline elements
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GstElement is the base class needed to construct an element that can be
+used in a GST pipeline.  As such, it is not a functional entity, and
+cannot do anything when placed in a pipeline.
+</para>
+
+<para>
+All GstElements have a list containing the #GstPad structure for all their
+inputs and outputs.  These can be added with gst_element_add_pad() or
+gst_element_add_ghost_pad(), and retrieved by name with
+gst_element_get_pad(), or in a list form by gst_element_get_pad_list().
+</para>
+
+<para>
+gst_element_connect() is a convenience function provided to make it
+simpler to connect pads of two elements together.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GstElementState ##### -->
+<para>
+
+</para>
+
+@GST_STATE_COMPLETE: 
+@GST_STATE_RUNNING: 
+@GST_STATE_DISCOVERY: 
+@GST_STATE_PREROLL: 
+@GST_STATE_PLAYING: 
+@GST_STATE_PAUSED: 
+@GST_STATE_MAX: 
+
+<!-- ##### MACRO GST_STATE ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO GST_STATE_IS_SET ##### -->
+<para>
+
+</para>
+
+@obj: 
+@flag: 
+
+
+<!-- ##### MACRO GST_STATE_SET ##### -->
+<para>
+
+</para>
+
+@obj: 
+@flag: 
+
+
+<!-- ##### MACRO GST_STATE_UNSET ##### -->
+<para>
+
+</para>
+
+@obj: 
+@flag: 
+
+
+<!-- ##### MACRO GST_ELEMENT ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### STRUCT GstElementDetails ##### -->
+<para>
+
+</para>
+
+@longname: 
+@class: 
+@description: 
+@version: 
+@author: 
+@copyright: 
+
+<!-- ##### STRUCT GstElementFactory ##### -->
+<para>
+
+</para>
+
+@name: 
+@type: 
+@details: 
+
+<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
+<para>
+
+</para>
+
+@element: 
+
+
+<!-- ##### FUNCTION gst_element_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
+<para>
+
+</para>
+
+@element: 
+@loop: 
+
+
+<!-- ##### FUNCTION gst_element_set_name ##### -->
+<para>
+
+</para>
+
+@element: 
+@name: 
+
+
+<!-- ##### FUNCTION gst_element_get_name ##### -->
+<para>
+
+</para>
+
+@element: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_set_manager ##### -->
+<para>
+
+</para>
+
+@element: 
+@manager: 
+
+
+<!-- ##### FUNCTION gst_element_get_manager ##### -->
+<para>
+
+</para>
+
+@element: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_add_pad ##### -->
+<para>
+
+</para>
+
+@element: 
+@pad: 
+
+
+<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
+<para>
+
+</para>
+
+@element: 
+@pad: 
+
+
+<!-- ##### FUNCTION gst_element_get_pad ##### -->
+<para>
+
+</para>
+
+@element: 
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
+<para>
+
+</para>
+
+@element: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_connect ##### -->
+<para>
+
+</para>
+
+@src: 
+@srcpadname: 
+@dest: 
+@destpadname: 
+<!-- # Unused Parameters # -->
+@srcpad: 
+@destpad: 
+
+
+<!-- ##### FUNCTION gst_element_set_state ##### -->
+<para>
+
+</para>
+
+@element: 
+@state: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_error ##### -->
+<para>
+
+</para>
+
+@element: 
+@error: 
+
+
+<!-- ##### FUNCTION gst_element_change_state ##### -->
+<para>
+
+</para>
+
+@element: 
+@state: 
+@Returns: 
+
+
+<!-- ##### MACRO gst_element_destroy ##### -->
+<para>
+
+</para>
+
+@element: 
+
+
+<!-- ##### FUNCTION gst_element_save_thyself ##### -->
+<para>
+
+</para>
+
+@element: 
+@parent: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@type: 
+@details: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_register ##### -->
+<para>
+
+</para>
+
+@elementfactory: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_find ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_get_list ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_create ##### -->
+<para>
+
+</para>
+
+@factory: 
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_elementfactory_make ##### -->
+<para>
+
+</para>
+
+@factoryname: 
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_element_loopfunc_wrapper ##### -->
+<para>
+
+</para>
+
+@argc: 
+@argv: 
+@Returns: 
+
+
+<!-- ##### SIGNAL GstElement::state-change ##### -->
+<para>
+
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: 
+
+<!-- ##### SIGNAL GstElement::new-pad ##### -->
+<para>
+
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: 
+
+<!-- ##### SIGNAL GstElement::new-ghost-pad ##### -->
+<para>
+
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: 
+
+<!-- ##### SIGNAL GstElement::error ##### -->
+<para>
+
+</para>
+
+@gstelement: the object which received the signal.
+@arg1: 
+
diff --git a/docs/gst/tmpl/gstfilter.sgml b/docs/gst/tmpl/gstfilter.sgml
new file mode 100644 (file)
index 0000000..2a38202
--- /dev/null
@@ -0,0 +1,33 @@
+<!-- ##### SECTION Title ##### -->
+GstFilter
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_FILTER ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_filter_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstmeta.sgml b/docs/gst/tmpl/gstmeta.sgml
new file mode 100644 (file)
index 0000000..bef25e1
--- /dev/null
@@ -0,0 +1,100 @@
+<!-- ##### SECTION Title ##### -->
+gstmeta
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_META ##### -->
+<para>
+
+</para>
+
+@meta: 
+
+
+<!-- ##### MACRO GST_META_FLAGS ##### -->
+<para>
+
+</para>
+
+@buf: 
+
+
+<!-- ##### MACRO GST_META_FLAG_SET ##### -->
+<para>
+
+</para>
+
+@meta: 
+@flag: 
+
+
+<!-- ##### MACRO GST_META_FLAG_UNSET ##### -->
+<para>
+
+</para>
+
+@meta: 
+@flag: 
+
+
+<!-- ##### ENUM GstMetaFlags ##### -->
+<para>
+
+</para>
+
+@GST_META_FREEABLE: 
+
+<!-- ##### STRUCT GstMeta ##### -->
+<para>
+
+</para>
+
+@lock: 
+@flags: 
+@data: 
+@size: 
+
+<!-- ##### FUNCTION gst_meta_new_size ##### -->
+<para>
+
+</para>
+
+@size: 
+@Returns: 
+
+
+<!-- ##### MACRO gst_meta_new ##### -->
+<para>
+
+</para>
+
+@type: 
+
+
+<!-- ##### FUNCTION gst_meta_ref ##### -->
+<para>
+
+</para>
+
+@meta: 
+
+
+<!-- ##### FUNCTION gst_meta_unref ##### -->
+<para>
+
+</para>
+
+@meta: 
+
+
diff --git a/docs/gst/tmpl/gstobject.sgml b/docs/gst/tmpl/gstobject.sgml
new file mode 100644 (file)
index 0000000..0bfa974
--- /dev/null
@@ -0,0 +1,172 @@
+<!-- ##### SECTION Title ##### -->
+GstObject
+
+<!-- ##### SECTION Short_Description ##### -->
+Basis for the GST object hierarchy.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GstObject provides a root for the object hierarchy tree filed in by the
+GST library.  It is currently a thin wrapper on top of
+<classname>GtkObject</classname>, but eventually will be replaced by a
+stripped down version of it.  This will remove all the X dependencies from
+the GST library, making it much more portably and generally useful.
+</para>
+
+<para>
+GstObject gives us basic refcounting and parenting functionality, though
+it is possible that we could use <classname>GtkObject</classname>'s
+equivalent functions.  I'll probably use what I have now until I strip
+down <classname>GtkObject</classname> to re-parent the hierarchy.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GstObject ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GST_FLAGS ##### -->
+<para>
+This macro returns the entire set of flags for the object.
+</para>
+
+@obj: Object to return flags for.
+
+
+<!-- ##### MACRO GST_FLAG_IS_SET ##### -->
+<para>
+This macro checks to see if the given flag is set.
+</para>
+
+@obj: Object to check for flag in.
+@flag: Flag to check for, must be a single bit in guint32.
+
+
+<!-- ##### MACRO GST_FLAG_SET ##### -->
+<para>
+This macro sets the given bits.
+</para>
+
+@obj: Object to set flag in.
+@flag: Flag to set, can by any number of bits in guint32.
+
+
+<!-- ##### MACRO GST_FLAG_UNSET ##### -->
+<para>
+This macro usets the given bits.
+</para>
+
+@obj: Object to unset flag in.
+@flag: Flag to set, must be a single bit in guint32.
+
+
+<!-- ##### MACRO GST_LOCK ##### -->
+<para>
+This macro will obtain a lock on the object, making serialization
+possible.
+</para>
+
+@obj: Object to lock.
+
+
+<!-- ##### MACRO GST_TRYLOCK ##### -->
+<para>
+This macro will try to obtain a lock on the object, but will return with
+FALSE if it can't get it immediately.
+</para>
+
+@obj: Object to try to get a lock on.
+
+
+<!-- ##### MACRO GST_UNLOCK ##### -->
+<para>
+This macro releases a lock on the object.
+</para>
+
+@obj: Object to unlock.
+
+
+<!-- ##### FUNCTION gst_object_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_object_set_parent ##### -->
+<para>
+
+</para>
+
+@object: 
+@parent: 
+
+
+<!-- ##### FUNCTION gst_object_get_parent ##### -->
+<para>
+
+</para>
+
+@object: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_object_unparent ##### -->
+<para>
+
+</para>
+
+@object: 
+
+
+<!-- ##### MACRO gst_object_ref ##### -->
+<para>
+
+</para>
+
+@obj: 
+<!-- # Unused Parameters # -->
+@object: 
+
+
+<!-- ##### MACRO gst_object_unref ##### -->
+<para>
+
+</para>
+
+@obj: 
+<!-- # Unused Parameters # -->
+@object: 
+
+
+<!-- ##### MACRO gst_object_sink ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO gst_object_destroy ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### SIGNAL GstObject::parent-set ##### -->
+<para>
+
+</para>
+
+@gstobject: the object which received the signal.
+@arg1: 
+
diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml
new file mode 100644 (file)
index 0000000..45da122
--- /dev/null
@@ -0,0 +1,230 @@
+<!-- ##### SECTION Title ##### -->
+GstPad
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_PAD ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO GST_PAD_CONNECTED ##### -->
+<para>
+
+</para>
+
+@pad: 
+
+
+<!-- ##### USER_FUNCTION GstPadChainFunction ##### -->
+<para>
+
+</para>
+
+@pad: 
+@buf: 
+
+
+<!-- ##### USER_FUNCTION GstPadPushFunction ##### -->
+<para>
+
+</para>
+
+@pad: 
+
+
+<!-- ##### ENUM GstPadDirection ##### -->
+<para>
+
+</para>
+
+@GST_PAD_UNKNOWN: 
+@GST_PAD_SRC: 
+@GST_PAD_SINK: 
+
+<!-- ##### FUNCTION gst_pad_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@direction: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_destroy ##### -->
+<para>
+
+</para>
+
+@pad: 
+
+
+<!-- ##### FUNCTION gst_pad_get_direction ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_set_chain_function ##### -->
+<para>
+
+</para>
+
+@pad: 
+@chain: 
+
+
+<!-- ##### FUNCTION gst_pad_get_type_id ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_set_type_id ##### -->
+<para>
+
+</para>
+
+@pad: 
+@id: 
+
+
+<!-- ##### FUNCTION gst_pad_set_name ##### -->
+<para>
+
+</para>
+
+@pad: 
+@name: 
+
+
+<!-- ##### FUNCTION gst_pad_get_name ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_get_directory ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_set_parent ##### -->
+<para>
+
+</para>
+
+@pad: 
+@parent: 
+
+
+<!-- ##### FUNCTION gst_pad_add_ghost_parent ##### -->
+<para>
+
+</para>
+
+@pad: 
+@parent: 
+
+
+<!-- ##### FUNCTION gst_pad_remove_ghost_parent ##### -->
+<para>
+
+</para>
+
+@pad: 
+@parent: 
+
+
+<!-- ##### FUNCTION gst_pad_get_parent ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_get_ghost_parents ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_get_peer ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_connect ##### -->
+<para>
+
+</para>
+
+@srcpad: 
+@sinkpad: 
+
+
+<!-- ##### FUNCTION gst_pad_push ##### -->
+<para>
+
+</para>
+
+@pad: 
+@buffer: 
+
+
+<!-- ##### FUNCTION gst_pad_pull ##### -->
+<para>
+
+</para>
+
+@pad: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_pad_save_thyself ##### -->
+<para>
+
+</para>
+
+@pad: 
+@parent: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstpipeline.sgml b/docs/gst/tmpl/gstpipeline.sgml
new file mode 100644 (file)
index 0000000..6921c66
--- /dev/null
@@ -0,0 +1,49 @@
+<!-- ##### SECTION Title ##### -->
+GstPipeline
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_PIPELINE ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_pipeline_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### MACRO gst_pipeline_destroy ##### -->
+<para>
+
+</para>
+
+@pipeline: 
+
+
+<!-- ##### FUNCTION gst_pipeline_iterate ##### -->
+<para>
+
+</para>
+
+@pipeline: 
+
+
diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml
new file mode 100644 (file)
index 0000000..bf121d2
--- /dev/null
@@ -0,0 +1,128 @@
+<!-- ##### SECTION Title ##### -->
+gstplugin
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GstPlugin ##### -->
+<para>
+
+</para>
+
+@name: 
+@longname: 
+@filename: 
+@types: 
+@elements: 
+@identifiers: 
+
+<!-- ##### STRUCT GstPluginElement ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### USER_FUNCTION GstPluginInitFunc ##### -->
+<para>
+
+</para>
+
+@module: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_set_longname ##### -->
+<para>
+
+</para>
+
+@plugin: 
+@longname: 
+
+
+<!-- ##### FUNCTION gst_plugin_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gst_plugin_load_all ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gst_plugin_load ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_add_factory ##### -->
+<para>
+
+</para>
+
+@plugin: 
+@factory: 
+
+
+<!-- ##### FUNCTION gst_plugin_find ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_get_list ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_plugin_find_elementfactory ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml
new file mode 100644 (file)
index 0000000..2ec710a
--- /dev/null
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+GstQueue
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_QUEUE ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_queue_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_queue_chain ##### -->
+<para>
+
+</para>
+
+@pad: 
+@buf: 
+
+
+<!-- ##### FUNCTION gst_queue_push ##### -->
+<para>
+
+</para>
+
+@connection: 
+
+
diff --git a/docs/gst/tmpl/gstsink.sgml b/docs/gst/tmpl/gstsink.sgml
new file mode 100644 (file)
index 0000000..0bd6958
--- /dev/null
@@ -0,0 +1,33 @@
+<!-- ##### SECTION Title ##### -->
+GstSink
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_SINK ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_sink_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstsrc.sgml b/docs/gst/tmpl/gstsrc.sgml
new file mode 100644 (file)
index 0000000..4f05fd6
--- /dev/null
@@ -0,0 +1,99 @@
+<!-- ##### SECTION Title ##### -->
+GstSrc
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_SRC ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### ENUM GstSrcFlags ##### -->
+<para>
+
+</para>
+
+@GST_SRC_ASYNC: 
+
+<!-- ##### MACRO GST_SRC_FLAGS ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO GST_SRC_ASYNC ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO GST_SRC_SET_FLAGS ##### -->
+<para>
+
+</para>
+
+@src: 
+@flag: 
+
+
+<!-- ##### MACRO GST_SRC_UNSET_FLAGS ##### -->
+<para>
+
+</para>
+
+@src: 
+@flag: 
+
+
+<!-- ##### FUNCTION gst_src_signal_eos ##### -->
+<para>
+
+</para>
+
+@src: 
+
+
+<!-- ##### FUNCTION gst_src_push ##### -->
+<para>
+
+</para>
+
+@src: 
+
+
+<!-- ##### FUNCTION gst_src_push_region ##### -->
+<para>
+
+</para>
+
+@src: 
+@offset: 
+@size: 
+
+
+<!-- ##### SIGNAL GstSrc::eos ##### -->
+<para>
+
+</para>
+
+@gstsrc: the object which received the signal.
+@arg1: 
+
diff --git a/docs/gst/tmpl/gsttee.sgml b/docs/gst/tmpl/gsttee.sgml
new file mode 100644 (file)
index 0000000..a1ae13c
--- /dev/null
@@ -0,0 +1,51 @@
+<!-- ##### SECTION Title ##### -->
+GstTee
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GST_TEE ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_tee_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_tee_chain ##### -->
+<para>
+
+</para>
+
+@pad: 
+@buf: 
+
+
+<!-- ##### FUNCTION gst_tee_new_pad ##### -->
+<para>
+
+</para>
+
+@tee: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml
new file mode 100644 (file)
index 0000000..bf8f972
--- /dev/null
@@ -0,0 +1,63 @@
+<!-- ##### SECTION Title ##### -->
+GstThread
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GstThreadState ##### -->
+<para>
+
+</para>
+
+@GST_THREAD_CREATE: 
+@GST_THREAD_STATE_SPINNING: 
+@GST_THREAD_STATE_REAPING: 
+
+<!-- ##### MACRO GST_THREAD ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### FUNCTION gst_thread_new ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_thread_main_loop ##### -->
+<para>
+
+</para>
+
+@arg: 
+
+
+<!-- ##### FUNCTION gst_thread_iterate ##### -->
+<para>
+
+</para>
+
+@thread: 
+
+
+<!-- ##### ARG GstThread:create_thread ##### -->
+<para>
+
+</para>
+
diff --git a/docs/gst/tmpl/gsttrace.sgml b/docs/gst/tmpl/gsttrace.sgml
new file mode 100644 (file)
index 0000000..17e8f6b
--- /dev/null
@@ -0,0 +1,121 @@
+<!-- ##### SECTION Title ##### -->
+gsttrace
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gst_trace_read_tsc ##### -->
+<para>
+
+</para>
+
+@dst: 
+
+
+<!-- ##### STRUCT GstTrace ##### -->
+<para>
+
+</para>
+
+@filename: 
+@fd: 
+@buf: 
+@bufsize: 
+@bufoffset: 
+
+<!-- ##### STRUCT GstTraceEntry ##### -->
+<para>
+
+</para>
+
+@timestamp: 
+@sequence: 
+@data: 
+@message: 
+
+<!-- ##### FUNCTION gst_trace_new ##### -->
+<para>
+
+</para>
+
+@filename: 
+@size: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_trace_destroy ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### FUNCTION gst_trace_flush ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### MACRO gst_trace_get_size ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### MACRO gst_trace_get_offset ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### MACRO gst_trace_get_remaining ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### FUNCTION gst_trace_set_default ##### -->
+<para>
+
+</para>
+
+@trace: 
+
+
+<!-- ##### MACRO TRACE_ENABLE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gst_trace_add_entry ##### -->
+<para>
+
+</para>
+
+@trace: 
+@seq: 
+@data: 
+@msg: 
+
+
diff --git a/docs/gst/tmpl/gsttype.sgml b/docs/gst/tmpl/gsttype.sgml
new file mode 100644 (file)
index 0000000..04a98cc
--- /dev/null
@@ -0,0 +1,134 @@
+<!-- ##### SECTION Title ##### -->
+gsttype
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### USER_FUNCTION GstTypeFindFunc ##### -->
+<para>
+
+</para>
+
+@buf: 
+@private: 
+@Returns: 
+
+
+<!-- ##### STRUCT GstType ##### -->
+<para>
+
+</para>
+
+@id: 
+@mime: 
+@exts: 
+@typefindfunc: 
+@srcs: 
+@sinks: 
+
+<!-- ##### STRUCT GstTypeFactory ##### -->
+<para>
+
+</para>
+
+@mime: 
+@exts: 
+@typefindfunc: 
+
+<!-- ##### FUNCTION gst_type_initialize ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gst_type_register ##### -->
+<para>
+
+</para>
+
+@factory: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_find_by_mime ##### -->
+<para>
+
+</para>
+
+@mime: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_find_by_ext ##### -->
+<para>
+
+</para>
+
+@ext: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_add_src ##### -->
+<para>
+
+</para>
+
+@id: 
+@src: 
+
+
+<!-- ##### FUNCTION gst_type_add_sink ##### -->
+<para>
+
+</para>
+
+@id: 
+@sink: 
+
+
+<!-- ##### FUNCTION gst_type_get_srcs ##### -->
+<para>
+
+</para>
+
+@id: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_get_sinks ##### -->
+<para>
+
+</para>
+
+@id: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_find_by_id ##### -->
+<para>
+
+</para>
+
+@id: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_type_get_list ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml
new file mode 100644 (file)
index 0000000..4082bc7
--- /dev/null
@@ -0,0 +1,86 @@
+<!-- ##### SECTION Title ##### -->
+gstutils
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gst_util_get_int_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_long_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_float_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_double_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_string_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_pointer_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_util_get_widget_arg ##### -->
+<para>
+
+</para>
+
+@object: 
+@argname: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/gstxml.sgml b/docs/gst/tmpl/gstxml.sgml
new file mode 100644 (file)
index 0000000..778c8b9
--- /dev/null
@@ -0,0 +1,25 @@
+<!-- ##### SECTION Title ##### -->
+gstxml
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gst_xml_write ##### -->
+<para>
+
+</para>
+
+@element: 
+@Returns: 
+
+
diff --git a/docs/gst/tmpl/plugin.sgml b/docs/gst/tmpl/plugin.sgml
new file mode 100644 (file)
index 0000000..9866772
--- /dev/null
@@ -0,0 +1,48 @@
+<!-- ##### SECTION Title ##### -->
+plugin
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION plugin_initialize ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION plugin_load_all ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION plugin_load ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION plugin_load_absolute ##### -->
+<para>
+
+</para>
+
+@name: 
+@Returns: 
+
+