diff --git a/configure.in b/configure.in
index d88eb579cd..9d0b73502a 100644
--- a/configure.in
+++ b/configure.in
@@ -291,6 +291,7 @@ test/cothreads/Makefile
editor/Makefile
tools/Makefile
docs/Makefile
+docs/gst/Makefile
stamp.h
gstreamer-config
gstreamer.spec])
diff --git a/docs/Makefile.am b/docs/Makefile.am
index e9a72e904c..278dc65891 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -1 +1,3 @@
+SUBDIRS = gst
+
#EXTRA_DIST = random slides
diff --git a/docs/gst/.gitignore b/docs/gst/.gitignore
new file mode 100644
index 0000000000..b6a6a3ca9d
--- /dev/null
+++ b/docs/gst/.gitignore
@@ -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
index 0000000000..11178ef786
--- /dev/null
+++ b/docs/gst/Makefile.am
@@ -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
index 0000000000..7693f04b53
--- /dev/null
+++ b/docs/gst/gstreamer-decl.txt
@@ -0,0 +1,2530 @@
+
+COTHREAD_STACKSIZE
+#define COTHREAD_STACKSIZE 8192
+
+
+COTHREAD_MAXTHREADS
+#define COTHREAD_MAXTHREADS 16
+
+
+STACK_SIZE
+#define STACK_SIZE 0x200000
+
+
+CURRENT_STACK_FRAME
+#define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
+
+
+cothread_state
+
+
+cothread_context
+
+
+cothread_func
+int
+int argc,char **argv
+
+
+COTHREAD_STARTED
+#define COTHREAD_STARTED 0x01
+
+
+cothread_state
+struct cothread_state {
+ cothread_context *ctx;
+ int threadnum;
+
+ cothread_func func;
+ int argc;
+ char **argv;
+
+ int flags;
+ int *sp;
+ int *pc;
+ jmp_buf jmp;
+};
+
+
+cothread_context
+struct cothread_context {
+ cothread_state *threads[COTHREAD_MAXTHREADS];
+ int nthreads;
+ int current;
+};
+
+
+cothread_init
+cothread_context *
+
+
+
+cothread_create
+cothread_state *
+cothread_context *ctx
+
+
+cothread_setfunc
+void
+cothread_state *thread,cothread_func func,int argc,char **argv
+
+
+cothread_switch
+void
+cothread_state *thread
+
+
+cothread_main
+cothread_state *
+cothread_context *ctx
+
+
+gst_init
+void
+int *argc,char **argv[]
+
+
+DEBUG
+#define DEBUG(format,args...) g_print("DEBUG: " format, ##args)
+
+
+DEBUG
+#define DEBUG(format,args...)
+
+
+GST_TYPE_BIN
+#define GST_TYPE_BIN \
+ (gst_bin_get_type())
+
+
+GST_BIN
+#define GST_BIN(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_BIN,GstBin))
+
+
+GST_BIN_CLASS
+#define GST_BIN_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_BIN,GstBinClass))
+
+
+GST_IS_BIN
+#define GST_IS_BIN(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_BIN))
+
+
+GST_IS_BIN_CLASS
+#define GST_IS_BIN_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN)))
+
+
+GstBin
+
+
+GstBinClass
+
+
+GstBin
+struct GstBin {
+ GstElement element;
+
+ gint numchildren;
+ GList *children;
+
+ GList *entries;
+ gint numentries;
+
+ cothread_context *threadcontext;
+};
+
+
+gst_bin_get_type
+GtkType
+void
+
+
+gst_bin_new
+GstElement *
+gchar *name
+
+
+gst_bin_add
+void
+GstBin *bin,GstElement *element
+
+
+gst_bin_remove
+void
+GstBin *bin,GstElement *element
+
+
+gst_bin_get_by_name
+GstElement *
+GstBin *bin,gchar *name
+
+
+gst_bin_get_list
+GList *
+GstBin *bin
+
+
+gst_bin_set_state_type
+gboolean
+GstBin *bin,GstElementState state,GtkType type
+
+
+gst_bin_iterate
+void
+GstBin *bin
+
+
+gst_bin_create_plan
+void
+GstBin *bin
+
+
+GST_BUFFER
+#define GST_BUFFER(buf) ((GstBuffer *)(buf))
+
+
+GST_BUFFER_FLAGS
+#define GST_BUFFER_FLAGS(buf) \
+ (GST_BUFFER(buf)->flags)
+
+
+GST_BUFFER_FLAG_IS_SET
+#define GST_BUFFER_FLAG_IS_SET(buf,flag) \
+ (GST_BUFFER_FLAGS(buf) & (flag))
+
+
+GST_BUFFER_FLAG_SET
+#define GST_BUFFER_FLAG_SET(buf,flag) \
+ G_STMT_START{ (GST_BUFFER_FLAGS(buf) |= (flag)); }G_STMT_END
+
+
+GST_BUFFER_FLAG_UNSET
+#define GST_BUFFER_FLAG_UNSET(buf,flag) \
+ G_STMT_START{ (GST_BUFFER_FLAGS(buf) &= ~(flag)); }G_STMT_END
+
+
+GST_BUFFER_TYPE
+#define GST_BUFFER_TYPE(buf) (GST_BUFFER(buf)->type)
+
+
+GST_BUFFER_DATA
+#define GST_BUFFER_DATA(buf) (GST_BUFFER(buf)->data)
+
+
+GST_BUFFER_SIZE
+#define GST_BUFFER_SIZE(buf) (GST_BUFFER(buf)->size)
+
+
+GST_BUFFER_OFFSET
+#define GST_BUFFER_OFFSET(buf) (GST_BUFFER(buf)->offset)
+
+
+GST_BUFFER_MAXSIZE
+#define GST_BUFFER_MAXSIZE(buf) (GST_BUFFER(buf)->maxsize)
+
+
+GST_BUFFER_TIMESTAMP
+#define GST_BUFFER_TIMESTAMP(buf) (GST_BUFFER(buf)->timestamp)
+
+
+GST_BUFFER_LOCK
+#define GST_BUFFER_LOCK(buf) (g_mutex_lock(GST_BUFFER(buf)->lock))
+
+
+GST_BUFFER_TRYLOCK
+#define GST_BUFFER_TRYLOCK(buf) (g_mutex_trylock(GST_BUFFER(buf)->lock))
+
+
+GST_BUFFER_UNLOCK
+#define GST_BUFFER_UNLOCK(buf) (g_mutex_unlock(GST_BUFFER(buf)->lock))
+
+
+GstBufferFlags
+typedef enum {
+ GST_BUFFER_READONLY = (1 << 0),
+ GST_BUFFER_EOS = (1 << 1),
+ GST_BUFFER_ORIGINAL = (1 << 2),
+ GST_BUFFER_DONTFREE = (1 << 3),
+} GstBufferFlags;
+
+
+GstBuffer
+
+
+GstBuffer
+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;
+};
+
+
+gst_buffer_new
+GstBuffer *
+
+
+
+gst_buffer_create_sub
+GstBuffer *
+GstBuffer *parent,guint32 offset,guint32 size
+
+
+gst_buffer_ref
+void
+GstBuffer *buffer
+
+
+gst_buffer_ref_by_count
+void
+GstBuffer *buffer,int count
+
+
+gst_buffer_unref
+void
+GstBuffer *buffer
+
+
+gst_buffer_destroy
+void
+GstBuffer *buffer
+
+
+gst_buffer_add_meta
+void
+GstBuffer *buffer,GstMeta *meta
+
+
+gst_buffer_get_first_meta
+GstMeta *
+GstBuffer *buffer
+
+
+gst_buffer_get_metas
+GSList *
+GstBuffer *buffer
+
+
+gst_buffer_remove_meta
+void
+GstBuffer *buffer,GstMeta *meta
+
+
+GST_TYPE_CONNECTION
+#define GST_TYPE_CONNECTION \
+ (gst_connection_get_type())
+
+
+GST_CONNECTION
+#define GST_CONNECTION(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_CONNECTION,GstConnection))
+
+
+GST_CONNECTION_CLASS
+#define GST_CONNECTION_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_CONNECTION,GstConnectionClass))
+
+
+GST_IS_CONNECTION
+#define GST_IS_CONNECTION(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_CONNECTION))
+
+
+GST_IS_CONNECTION_CLASS
+#define GST_IS_CONNECTION_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION)))
+
+
+GstConnection
+
+
+GstConnectionClass
+
+
+GstConnection
+struct GstConnection {
+ GstElement element;
+};
+
+
+gst_connection_get_type
+GtkType
+void
+
+
+gst_connection_new
+GstElement *
+gchar *name
+
+
+gst_connection_push
+void
+GstConnection *connection
+
+
+GstElementState
+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;
+
+
+GST_STATE
+#define GST_STATE(obj) (GST_ELEMENT(obj)->state)
+
+
+GST_STATE_IS_SET
+#define GST_STATE_IS_SET(obj,flag) (GST_STATE (obj) & (flag))
+
+
+GST_STATE_SET
+#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
+
+
+GST_STATE_UNSET
+#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
+
+
+GST_TYPE_ELEMENT
+#define GST_TYPE_ELEMENT \
+ (gst_element_get_type())
+
+
+GST_ELEMENT
+#define GST_ELEMENT(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_ELEMENT,GstElement))
+
+
+GST_ELEMENT_CLASS
+#define GST_ELEMENT_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ELEMENT,GstElementClass))
+
+
+GST_IS_ELEMENT
+#define GST_IS_ELEMENT(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_ELEMENT))
+
+
+GST_IS_ELEMENT_CLASS
+#define GST_IS_ELEMENT_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT)))
+
+
+GstElement
+
+
+GstElementClass
+
+
+GstElementDetails
+
+
+GstElementFactory
+
+
+GstElementLoopFunction
+void
+GstElement *element
+
+
+GstElement
+struct GstElement {
+ GstObject object;
+
+ gchar *name;
+
+ guint16 state;
+
+ GstElementLoopFunction loopfunc;
+ cothread_state *threadstate;
+
+ guint16 numpads;
+ GList *pads;
+
+ GstElement *manager;
+};
+
+
+GstElementDetails
+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.) */
+};
+
+
+GstElementFactory
+struct GstElementFactory {
+ gchar *name;
+ GtkType type;
+
+ GstElementDetails *details;
+};
+
+
+gst_element_get_type
+GtkType
+void
+
+
+gst_element_new
+GstElement *
+void
+
+
+gst_element_set_loop_function
+void
+GstElement *element,GstElementLoopFunction loop
+
+
+gst_element_set_name
+void
+GstElement *element,gchar *name
+
+
+gst_element_get_name
+gchar *
+GstElement *element
+
+
+gst_element_set_manager
+void
+GstElement *element,GstElement *manager
+
+
+gst_element_get_manager
+GstElement *
+GstElement *element
+
+
+gst_element_add_pad
+void
+GstElement *element,GstPad *pad
+
+
+gst_element_add_ghost_pad
+void
+GstElement *element,GstPad *pad
+
+
+gst_element_get_pad
+GstPad *
+GstElement *element,gchar *name
+
+
+gst_element_get_pad_list
+GList *
+GstElement *element
+
+
+gst_element_connect
+void
+GstElement *src,gchar *srcpadname,GstElement *dest,gchar *destpadname
+
+
+gst_element_set_state
+gboolean
+GstElement *element,GstElementState state
+
+
+gst_element_error
+void
+GstElement *element,gchar *error
+
+
+gst_element_change_state
+gboolean
+GstElement *element,GstElementState state
+
+
+gst_element_destroy
+#define gst_element_destroy(element) gst_object_destroy(GST_OBJECT(element))
+
+
+gst_element_save_thyself
+xmlNodePtr
+GstElement *element,xmlNodePtr parent
+
+
+gst_elementfactory_new
+GstElementFactory *
+gchar *name,GtkType type,GstElementDetails *details
+
+
+gst_elementfactory_register
+void
+GstElementFactory *elementfactory
+
+
+gst_elementfactory_find
+GstElementFactory *
+gchar *name
+
+
+gst_elementfactory_get_list
+GList *
+
+
+
+gst_elementfactory_create
+GstElement *
+GstElementFactory *factory,gchar *name
+
+
+gst_elementfactory_make
+GstElement *
+gchar *factoryname,gchar *name
+
+
+gst_element_loopfunc_wrapper
+int
+int argc,char **argv
+
+
+GST_TYPE_FILTER
+#define GST_TYPE_FILTER \
+ (gst_filter_get_type())
+
+
+GST_FILTER
+#define GST_FILTER(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_FILTER,GstFilter))
+
+
+GST_FILTER_CLASS
+#define GST_FILTER_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FILTER,GstFilterClass))
+
+
+GST_IS_FILTER
+#define GST_IS_FILTER(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_FILTER))
+
+
+GST_IS_FILTER_CLASS
+#define GST_IS_FILTER_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FILTER)))
+
+
+GstFilter
+
+
+GstFilterClass
+
+
+GstFilter
+struct GstFilter {
+ GstElement element;
+};
+
+
+gst_filter_get_type
+GtkType
+void
+
+
+gst_filter_new
+GstElement *
+gchar *name
+
+
+GST_SHOW_INFO
+#define GST_SHOW_INFO
+
+
+gst_info
+#define gst_info(format,args...) fprintf(stderr,format,##args)
+
+
+gst_info
+#define gst_info(format,args...)
+
+
+GST_META
+#define GST_META(meta) ((GstMeta *)(meta))
+
+
+GST_META_FLAGS
+#define GST_META_FLAGS(buf) \
+ (GST_META(buf)->flags)
+
+
+GST_META_FLAG_IS_SET
+#define GST_META_FLAG_IS_SET(meta,flag) \
+ (GST_META_FLAGS(meta) & (flag))
+
+
+GST_META_FLAG_SET
+#define GST_META_FLAG_SET(meta,flag) \
+ G_STMT_START{ (GST_META_FLAGS(meta) |= (flag)); }G_STMT_END
+
+
+GST_META_FLAG_UNSET
+#define GST_META_FLAG_UNSET(meta,flag) \
+ G_STMT_START{ (GST_META_FLAGS(meta) &= ~(flag)); }G_STMT_END
+
+
+GstMetaFlags
+typedef enum {
+ GST_META_FREEABLE = 1 << 0,
+} GstMetaFlags;
+
+
+GstMeta
+
+
+GstMeta
+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;
+};
+
+
+gst_meta_new_size
+GstMeta *
+gint size
+
+
+gst_meta_new
+#define gst_meta_new(type) (type *)gst_meta_new_size(sizeof(type))
+
+
+gst_meta_ref
+void
+GstMeta *meta
+
+
+gst_meta_unref
+void
+GstMeta *meta
+
+
+GST_TYPE_OBJECT
+#define GST_TYPE_OBJECT \
+ (gst_object_get_type())
+
+
+GST_OBJECT
+#define GST_OBJECT(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_OBJECT,GstObject))
+
+
+GST_OBJECT_CLASS
+#define GST_OBJECT_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_OBJECT,GstObjectClass))
+
+
+GST_IS_OBJECT
+#define GST_IS_OBJECT(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_OBJECT))
+
+
+GST_IS_OBJECT_CLASS
+#define GST_IS_OBJECT_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_OBJECT)))
+
+
+GstObject
+
+
+GstObjectClass
+
+
+GstObject
+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;
+};
+
+
+GST_FLAGS
+#define GST_FLAGS(obj) GTK_OBJECT_FLAGS(obj)
+
+
+GST_FLAG_IS_SET
+#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (flag))
+
+
+GST_FLAG_SET
+#define GST_FLAG_SET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) |= (flag)); }G_STMT_END
+
+
+GST_FLAG_UNSET
+#define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(flag)); }G_STMT_END
+
+
+GST_LOCK
+#define GST_LOCK(obj) (g_mutex_lock(GST_OBJECT(obj)->lock))
+
+
+GST_TRYLOCK
+#define GST_TRYLOCK(obj) (g_mutex_trylock(GST_OBJECT(obj)->lock))
+
+
+GST_UNLOCK
+#define GST_UNLOCK(obj) (g_mutex_unlock(GST_OBJECT(obj)->lock))
+
+
+gst_object_get_type
+GtkType
+void
+
+
+gst_object_new
+GstObject *
+void
+
+
+gst_object_set_parent
+void
+GstObject *object,GstObject *parent
+
+
+gst_object_get_parent
+GstObject *
+GstObject *object
+
+
+gst_object_unparent
+void
+GstObject *object
+
+
+gst_object_ref
+#define gst_object_ref(obj) gtk_object_ref(GTK_OBJECT(obj));
+
+
+gst_object_unref
+#define gst_object_unref(obj) gtk_object_unref(GTK_OBJECT(obj));
+
+
+gst_object_sink
+#define gst_object_sink(obj) gtk_object_sink(GTK_OBJECT(obj));
+
+
+gst_object_destroy
+#define gst_object_destroy(obj) gtk_object_destroy(GTK_OBJECT(obj))
+
+
+GST_TYPE_PAD
+#define GST_TYPE_PAD \
+ (gst_pad_get_type())
+
+
+GST_PAD
+#define GST_PAD(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_PAD,GstPad))
+
+
+GST_PAD_CLASS
+#define GST_PAD_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PAD,GstPadClass))
+
+
+GST_IS_PAD
+#define GST_IS_PAD(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_PAD))
+
+
+GST_IS_PAD_CLASS
+#define GST_IS_PAD_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PAD)))
+
+
+GST_PAD_CONNECTED
+#define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL)
+
+
+GstPad
+
+
+GstPadClass
+
+
+GstPadChainFunction
+void
+GstPad *pad,GstBuffer *buf
+
+
+GstPadPushFunction
+void
+GstPad *pad
+
+
+GstPadDirection
+typedef enum {
+ GST_PAD_UNKNOWN,
+ GST_PAD_SRC,
+ GST_PAD_SINK,
+} GstPadDirection;
+
+
+GstPad
+struct GstPad {
+ GstObject object;
+
+ gchar *name;
+ guint16 type;
+
+ GstPadDirection direction;
+
+ GstPad *peer;
+
+ GstBuffer *bufpen;
+
+ GstPadChainFunction chain;
+
+ GstObject *parent;
+ GList *ghostparents;
+};
+
+
+gst_pad_get_type
+GtkType
+void
+
+
+gst_pad_new
+GstPad *
+gchar *name,GstPadDirection direction
+
+
+gst_pad_destroy
+void
+GstPad *pad
+
+
+gst_pad_get_direction
+GstPadDirection
+GstPad *pad
+
+
+gst_pad_set_chain_function
+void
+GstPad *pad,GstPadChainFunction chain
+
+
+gst_pad_get_type_id
+guint32
+GstPad *pad
+
+
+gst_pad_set_type_id
+void
+GstPad *pad,guint16 id
+
+
+gst_pad_set_name
+void
+GstPad *pad,gchar *name
+
+
+gst_pad_get_name
+gchar *
+GstPad *pad
+
+
+gst_pad_destroy
+#define gst_pad_destroy(pad) gst_object_destroy(GST_OBJECT(pad))
+
+
+gst_pad_get_directory
+GstPadDirection
+GstPad *pad
+
+
+gst_pad_set_parent
+void
+GstPad *pad,GstObject *parent
+
+
+gst_pad_add_ghost_parent
+void
+GstPad *pad,GstObject *parent
+
+
+gst_pad_remove_ghost_parent
+void
+GstPad *pad,GstObject *parent
+
+
+gst_pad_get_parent
+GstObject *
+GstPad *pad
+
+
+gst_pad_get_ghost_parents
+GList *
+GstPad *pad
+
+
+gst_pad_get_peer
+GstPad *
+GstPad *pad
+
+
+gst_pad_connect
+void
+GstPad *srcpad,GstPad *sinkpad
+
+
+gst_pad_push
+void
+GstPad *pad,GstBuffer *buffer
+
+
+gst_pad_pull
+GstBuffer *
+GstPad *pad
+
+
+gst_pad_save_thyself
+xmlNodePtr
+GstPad *pad,xmlNodePtr parent
+
+
+GST_TYPE_PIPELINE
+#define GST_TYPE_PIPELINE \
+ (gst_pipeline_get_type())
+
+
+GST_PIPELINE
+#define GST_PIPELINE(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_PIPELINE,GstPipeline))
+
+
+GST_PIPELINE_CLASS
+#define GST_PIPELINE_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPELINE,GstPipelineClass))
+
+
+GST_IS_PIPELINE
+#define GST_IS_PIPELINE(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_PIPELINE))
+
+
+GST_IS_PIPELINE_CLASS
+#define GST_IS_PIPELINE_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE)))
+
+
+GstPipeline
+
+
+GstPipelineClass
+
+
+GstPipeline
+struct GstPipeline {
+ GstBin bin;
+};
+
+
+gst_pipeline_get_type
+GtkType
+void
+
+
+gst_pipeline_new
+GstPipeline *
+guchar *name
+
+
+gst_pipeline_destroy
+#define gst_pipeline_destroy(pipeline) gst_object_destroy(GST_OBJECT(pipeline))
+
+
+gst_pipeline_iterate
+void
+GstPipeline *pipeline
+
+
+GstPlugin
+
+
+GstPluginElement
+
+
+GstPlugin
+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 */
+};
+
+
+GstPluginInitFunc
+GstPlugin *
+GModule *module
+
+
+gst_plugin_new
+GstPlugin *
+gchar *name
+
+
+gst_plugin_set_longname
+void
+GstPlugin *plugin,gchar *longname
+
+
+gst_plugin_init
+void
+
+
+
+gst_plugin_load_all
+void
+
+
+
+gst_plugin_load
+gboolean
+gchar *name
+
+
+gst_plugin_load_absolute
+gboolean
+gchar *name
+
+
+gst_plugin_add_factory
+void
+GstPlugin *plugin,GstElementFactory *factory
+
+
+gst_plugin_find
+GstPlugin *
+gchar *name
+
+
+gst_plugin_get_list
+GList *
+
+
+
+gst_plugin_find_elementfactory
+GstElementFactory *
+gchar *name
+
+
+GST_TYPE_SINK
+#define GST_TYPE_SINK \
+ (gst_sink_get_type())
+
+
+GST_SINK
+#define GST_SINK(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_SINK,GstSink))
+
+
+GST_SINK_CLASS
+#define GST_SINK_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINK,GstSinkClass))
+
+
+GST_IS_SINK
+#define GST_IS_SINK(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_SINK))
+
+
+GST_IS_SINK_CLASS
+#define GST_IS_SINK_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINK)))
+
+
+GstSink
+
+
+GstSinkClass
+
+
+GstSink
+struct GstSink {
+ GstElement element;
+};
+
+
+gst_sink_get_type
+GtkType
+void
+
+
+gst_sink_new
+GstObject *
+gchar *name
+
+
+GST_TYPE_SRC
+#define GST_TYPE_SRC \
+ (gst_src_get_type())
+
+
+GST_SRC
+#define GST_SRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_SRC,GstSrc))
+
+
+GST_SRC_CLASS
+#define GST_SRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SRC,GstSrcClass))
+
+
+GST_IS_SRC
+#define GST_IS_SRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_SRC))
+
+
+GST_IS_SRC_CLASS
+#define GST_IS_SRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SRC)))
+
+
+GstSrcFlags
+typedef enum {
+ GST_SRC_ASYNC = 1 << 0,
+} GstSrcFlags;
+
+
+GST_SRC_FLAGS
+#define GST_SRC_FLAGS(obj) (GST_SRC(obj)->flags)
+
+
+GST_SRC_ASYNC
+#define GST_SRC_ASYNC(obj) ((GST_SRC_FLAGS(obj) & GST_SRC_ASYNC)
+
+
+GstSrc
+
+
+GstSrcClass
+
+
+GstSrc
+struct GstSrc {
+ GstElement element;
+ gint32 flags;
+};
+
+
+GST_SRC_SET_FLAGS
+#define GST_SRC_SET_FLAGS(src,flag) G_STMT_START{ (GST_SRC_FLAGS (src) |= (flag)); }G_STMT_END
+
+
+GST_SRC_UNSET_FLAGS
+#define GST_SRC_UNSET_FLAGS(src,flag) G_STMT_START{ (GST_SRC_FLAGS (src) &= ~(flag)); }G_STMT_END
+
+
+gst_src_get_type
+GtkType
+void
+
+
+gst_src_signal_eos
+void
+GstSrc *src
+
+
+gst_src_push
+void
+GstSrc *src
+
+
+gst_src_push_region
+void
+GstSrc *src,gulong offset,gulong size
+
+
+GST_TYPE_TEE
+#define GST_TYPE_TEE \
+ (gst_tee_get_type())
+
+
+GST_TEE
+#define GST_TEE(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_TEE,GstTee))
+
+
+GST_TEE_CLASS
+#define GST_TEE_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
+
+
+GST_IS_TEE
+#define GST_IS_TEE(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_TEE))
+
+
+GST_IS_TEE_CLASS
+#define GST_IS_TEE_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE)))
+
+
+GstTee
+
+
+GstTeeClass
+
+
+GstTee
+struct GstTee {
+ GstFilter filter;
+
+ GstPad *sinkpad;
+
+ gint numsrcpads;
+ GSList *srcpads;
+};
+
+
+gst_tee_get_type
+GtkType
+void
+
+
+gst_tee_new
+GstElement *
+gchar *name
+
+
+gst_tee_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+gst_tee_new_pad
+gchar *
+GstTee *tee
+
+
+GstThreadState
+typedef enum {
+ GST_THREAD_CREATE = (1 << 16),
+ GST_THREAD_STATE_SPINNING = (1 << 17),
+ GST_THREAD_STATE_REAPING = (1 << 18),
+} GstThreadState;
+
+
+GST_TYPE_THREAD
+#define GST_TYPE_THREAD \
+ (gst_thread_get_type())
+
+
+GST_THREAD
+#define GST_THREAD(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_THREAD,GstThread))
+
+
+GST_THREAD_CLASS
+#define GST_THREAD_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_THREAD,GstThreadClass))
+
+
+GST_IS_THREAD
+#define GST_IS_THREAD(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_THREAD))
+
+
+GST_IS_THREAD_CLASS
+#define GST_IS_THREAD_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD)))
+
+
+GstThread
+
+
+GstThreadClass
+
+
+GstThread
+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 */
+};
+
+
+gst_thread_get_type
+GtkType
+void
+
+
+gst_thread_new
+GstElement *
+guchar *name
+
+
+gst_thread_main_loop
+void *
+void *arg
+
+
+gst_thread_iterate
+void
+GstThread *thread
+
+
+gst_trace_read_tsc
+void
+guint64 *dst
+
+
+GstTrace
+
+
+GstTraceEntry
+
+
+GstTrace
+struct GstTrace {
+ /* where this trace is going */
+ gchar *filename;
+ int fd;
+
+ /* current buffer, size, head offset */
+ GstTraceEntry *buf;
+ gint bufsize;
+ gint bufoffset;
+};
+
+
+GstTraceEntry
+struct GstTraceEntry {
+ guint64 timestamp;
+ guint32 sequence;
+ guint32 data;
+ gchar message[112];
+};
+
+
+gst_trace_new
+GstTrace *
+guchar *filename,gint size
+
+
+gst_trace_destroy
+void
+GstTrace *trace
+
+
+gst_trace_flush
+void
+GstTrace *trace
+
+
+gst_trace_get_size
+#define gst_trace_get_size(trace) ((trace)->bufsize)
+
+
+gst_trace_get_offset
+#define gst_trace_get_offset(trace) ((trace)->bufoffset)
+
+
+gst_trace_get_remaining
+#define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
+
+
+gst_trace_set_default
+void
+GstTrace *trace
+
+
+TRACE_ENABLE
+#define TRACE_ENABLE
+
+
+gst_trace_add_entry
+#define gst_trace_add_entry(trace,seq,data,msg) \
+ if (_gst_trace_on) { \
+ _gst_trace_add_entry(trace,(guint32)seq,(guint32)data,msg); \
+ }
+
+
+gst_trace_add_entry
+#define gst_trace_add_entry(trace,seq,data,msg)
+
+
+GstTypeFindFunc
+gboolean
+GstBuffer *buf,gpointer *private
+
+
+GstType
+
+
+GstTypeFactory
+
+
+GstType
+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 */
+};
+
+
+GstTypeFactory
+struct GstTypeFactory {
+ gchar *mime;
+ gchar *exts;
+ GstTypeFindFunc typefindfunc;
+};
+
+
+gst_type_initialize
+void
+
+
+
+gst_type_register
+guint16
+GstTypeFactory *factory
+
+
+gst_type_find_by_mime
+guint16
+gchar *mime
+
+
+gst_type_find_by_ext
+guint16
+gchar *ext
+
+
+gst_type_add_src
+void
+guint16 id,GstElementFactory *src
+
+
+gst_type_add_sink
+void
+guint16 id,GstElementFactory *sink
+
+
+gst_type_get_srcs
+GList *
+guint16 id
+
+
+gst_type_get_sinks
+GList *
+guint16 id
+
+
+gst_type_find_by_id
+GstType *
+guint16 id
+
+
+gst_type_get_list
+GList *
+
+
+
+gst_util_get_int_arg
+gint
+GtkObject *object,guchar *argname
+
+
+gst_util_get_long_arg
+glong
+GtkObject *object,guchar *argname
+
+
+gst_util_get_float_arg
+gfloat
+GtkObject *object,guchar *argname
+
+
+gst_util_get_double_arg
+gdouble
+GtkObject *object,guchar *argname
+
+
+gst_util_get_string_arg
+guchar *
+GtkObject *object,guchar *argname
+
+
+gst_util_get_pointer_arg
+gpointer
+GtkObject *object,guchar *argname
+
+
+gst_util_get_widget_arg
+GtkWidget *
+GtkObject *object,guchar *argname
+
+
+gst_xml_write
+xmlDocPtr
+GstElement *element
+
+
+plugin_initialize
+void
+
+
+
+plugin_load_all
+void
+
+
+
+plugin_load
+GModule *
+gchar *name
+
+
+plugin_load_absolute
+GModule *
+gchar *name
+
+
+GST_TYPE_ASYNCDISKSRC
+#define GST_TYPE_ASYNCDISKSRC \
+ (gst_asyncdisksrc_get_type())
+
+
+GST_ASYNCDISKSRC
+#define GST_ASYNCDISKSRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrc))
+
+
+GST_ASYNCDISKSRC_CLASS
+#define GST_ASYNCDISKSRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrcClass))
+
+
+GST_IS_ASYNCDISKSRC
+#define GST_IS_ASYNCDISKSRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_ASYNCDISKSRC))
+
+
+GST_IS_ASYNCDISKSRC_CLASS
+#define GST_IS_ASYNCDISKSRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ASYNCDISKSRC)))
+
+
+GstAsyncDiskSrcFlags
+typedef enum {
+ GST_ASYNCDISKSRC_OPEN = (1 << 16),
+} GstAsyncDiskSrcFlags;
+
+
+GstAsyncDiskSrc
+
+
+GstAsyncDiskSrcClass
+
+
+GstAsyncDiskSrc
+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 */
+};
+
+
+gst_asyncdisksrc_get_type
+GtkType
+void
+
+
+GST_TYPE_AUDIOSINK
+#define GST_TYPE_AUDIOSINK \
+ (gst_audiosink_get_type())
+
+
+GST_AUDIOSINK
+#define GST_AUDIOSINK(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSINK,GstAudioSink))
+
+
+GST_AUDIOSINK_CLASS
+#define GST_AUDIOSINK_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSINK,GstAudioSinkClass))
+
+
+GST_IS_AUDIOSINK
+#define GST_IS_AUDIOSINK(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSINK))
+
+
+GST_IS_AUDIOSINK_CLASS
+#define GST_IS_AUDIOSINK_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK)))
+
+
+GstAudioSink
+
+
+GstAudioSinkClass
+
+
+GstAudioSink
+struct GstAudioSink {
+ GstFilter filter;
+
+ GstPad *sinkpad;
+
+ /* soundcard state */
+ int fd;
+ gint format;
+ gint channels;
+ gint frequency;
+};
+
+
+gst_audiosink_get_type
+GtkType
+void
+
+
+gst_audiosink_new
+GstElement *
+gchar *name
+
+
+gst_audiosink_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+gst_audiosink_sync_parms
+void
+GstAudioSink *audiosink
+
+
+gst_audiosink_set_format
+void
+GstAudioSink *audiosink,gint format
+
+
+gst_audiosink_set_channels
+void
+GstAudioSink *audiosink,gint channels
+
+
+gst_audiosink_set_frequency
+void
+GstAudioSink *audiosink,gint frequency
+
+
+GST_TYPE_AUDIOSRC
+#define GST_TYPE_AUDIOSRC \
+ (gst_audiosrc_get_type())
+
+
+GST_AUDIOSRC
+#define GST_AUDIOSRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSRC,GstAudioSrc))
+
+
+GST_AUDIOSRC_CLASS
+#define GST_AUDIOSRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSRC,GstAudioSrcClass))
+
+
+GST_IS_AUDIOSRC
+#define GST_IS_AUDIOSRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSRC))
+
+
+GST_IS_AUDIOSRC_CLASS
+#define GST_IS_AUDIOSRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSRC)))
+
+
+GstAudioSrc
+
+
+GstAudioSrcClass
+
+
+GstAudioSrc
+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;
+};
+
+
+gst_audiosrc_get_type
+GtkType
+void
+
+
+gst_audiosrc_new
+GstElement *
+gchar *name
+
+
+gst_audiosrc_push
+void
+GstSrc *src
+
+
+GST_TYPE_DISKSRC
+#define GST_TYPE_DISKSRC \
+ (gst_disksrc_get_type())
+
+
+GST_DISKSRC
+#define GST_DISKSRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
+
+
+GST_DISKSRC_CLASS
+#define GST_DISKSRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
+
+
+GST_IS_DISKSRC
+#define GST_IS_DISKSRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_DISKSRC))
+
+
+GST_IS_DISKSRC_CLASS
+#define GST_IS_DISKSRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC)))
+
+
+GstDiskSrcFlags
+typedef enum {
+ GST_DISKSRC_OPEN = (1 << 16),
+} GstDiskSrcFlags;
+
+
+GstDiskSrc
+
+
+GstDiskSrcClass
+
+
+GstDiskSrc
+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 */
+};
+
+
+gst_disksrc_get_type
+GtkType
+void
+
+
+GST_TYPE_ESDSINK
+#define GST_TYPE_ESDSINK \
+ (gst_esdsink_get_type())
+
+
+GST_ESDSINK
+#define GST_ESDSINK(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink))
+
+
+GST_ESDSINK_CLASS
+#define GST_ESDSINK_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass))
+
+
+GST_IS_ESDSINK
+#define GST_IS_ESDSINK(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK))
+
+
+GST_IS_ESDSINK_CLASS
+#define GST_IS_ESDSINK_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)))
+
+
+GstEsdSink
+
+
+GstEsdSinkClass
+
+
+GstEsdSink
+struct GstEsdSink {
+ GstFilter filter;
+
+ GstPad *sinkpad;
+
+ /* soundcard state */
+
+ int fd;
+ gint format;
+ gint channels;
+ gint frequency;
+};
+
+
+gst_esdsink_get_type
+GtkType
+void
+
+
+gst_esdsink_new
+GstElement *
+gchar *name
+
+
+gst_esdsink_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+gst_esdsink_sync_parms
+void
+GstEsdSink *esdsink
+
+
+gst_esdsink_set_format
+void
+GstEsdSink *esdsink,gint format
+
+
+gst_esdsink_set_channels
+void
+GstEsdSink *esdsink,gint channels
+
+
+gst_esdsink_set_frequency
+void
+GstEsdSink *esdsink,gint frequency
+
+
+GST_TYPE_FAKESINK
+#define GST_TYPE_FAKESINK \
+ (gst_fakesink_get_type())
+
+
+GST_FAKESINK
+#define GST_FAKESINK(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
+
+
+GST_FAKESINK_CLASS
+#define GST_FAKESINK_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
+
+
+GST_IS_FAKESINK
+#define GST_IS_FAKESINK(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESINK))
+
+
+GST_IS_FAKESINK_CLASS
+#define GST_IS_FAKESINK_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK)))
+
+
+GstFakeSink
+
+
+GstFakeSinkClass
+
+
+GstFakeSink
+struct GstFakeSink {
+ GstSink sink;
+
+ GstPad *sinkpad;
+};
+
+
+gst_fakesink_get_type
+GtkType
+void
+
+
+gst_fakesink_new
+GstElement *
+gchar *name
+
+
+gst_fakesink_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+GST_TYPE_FAKESRC
+#define GST_TYPE_FAKESRC \
+ (gst_fakesrc_get_type())
+
+
+GST_FAKESRC
+#define GST_FAKESRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
+
+
+GST_FAKESRC_CLASS
+#define GST_FAKESRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
+
+
+GST_IS_FAKESRC
+#define GST_IS_FAKESRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESRC))
+
+
+GST_IS_FAKESRC_CLASS
+#define GST_IS_FAKESRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC)))
+
+
+GstFakeSrc
+
+
+GstFakeSrcClass
+
+
+GstFakeSrc
+struct GstFakeSrc {
+ GstSrc src;
+
+ GstPad *srcpad;
+};
+
+
+gst_fakesrc_get_type
+GtkType
+void
+
+
+gst_fakesrc_new
+GstElement *
+gchar *name
+
+
+gst_fakesrc_push
+void
+GstSrc *src
+
+
+GST_TYPE_FDSINK
+#define GST_TYPE_FDSINK \
+ (gst_fdsink_get_type())
+
+
+GST_FDSINK
+#define GST_FDSINK(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
+
+
+GST_FDSINK_CLASS
+#define GST_FDSINK_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
+
+
+GST_IS_FDSINK
+#define GST_IS_FDSINK(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_FDSINK))
+
+
+GST_IS_FDSINK_CLASS
+#define GST_IS_FDSINK_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK)))
+
+
+GstFdSink
+
+
+GstFdSinkClass
+
+
+GstFdSink
+struct GstFdSink {
+ GstSink sink;
+
+ GstPad *sinkpad;
+
+ int fd;
+};
+
+
+gst_fdsink_get_type
+GtkType
+void
+
+
+gst_fdsink_new
+GstElement *
+gchar *name
+
+
+gst_fdsink_new_with_fd
+GstElement *
+gchar *name,gint fd
+
+
+gst_fdsink_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+GST_TYPE_FDSRC
+#define GST_TYPE_FDSRC \
+ (gst_fdsrc_get_type())
+
+
+GST_FDSRC
+#define GST_FDSRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
+
+
+GST_FDSRC_CLASS
+#define GST_FDSRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
+
+
+GST_IS_FDSRC
+#define GST_IS_FDSRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_FDSRC))
+
+
+GST_IS_FDSRC_CLASS
+#define GST_IS_FDSRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC)))
+
+
+GstFdSrc
+
+
+GstFdSrcClass
+
+
+GstFdSrc
+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 */
+};
+
+
+gst_fdsrc_get_type
+GtkType
+void
+
+
+GST_TYPE_HTTPSRC
+#define GST_TYPE_HTTPSRC \
+ (gst_httpsrc_get_type())
+
+
+GST_HTTPSRC
+#define GST_HTTPSRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
+
+
+GST_HTTPSRC_CLASS
+#define GST_HTTPSRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
+
+
+GST_IS_HTTPSRC
+#define GST_IS_HTTPSRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_HTTPSRC))
+
+
+GST_IS_HTTPSRC_CLASS
+#define GST_IS_HTTPSRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC)))
+
+
+GstHttpSrc
+
+
+GstHttpSrcClass
+
+
+GstHttpSrc
+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 */
+};
+
+
+gst_httpsrc_get_type
+GtkType
+void
+
+
+GST_TYPE_IDENTITY
+#define GST_TYPE_IDENTITY \
+ (gst_identity_get_type())
+
+
+GST_IDENTITY
+#define GST_IDENTITY(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
+
+
+GST_IDENTITY_CLASS
+#define GST_IDENTITY_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
+
+
+GST_IS_IDENTITY
+#define GST_IS_IDENTITY(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_IDENTITY))
+
+
+GST_IS_IDENTITY_CLASS
+#define GST_IS_IDENTITY_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY)))
+
+
+GstIdentity
+
+
+GstIdentityClass
+
+
+GstIdentity
+struct GstIdentity {
+ GstFilter filter;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
+
+ gint control;
+};
+
+
+gst_identity_get_type
+GtkType
+void
+
+
+gst_identity_new
+GstElement *
+gchar *name
+
+
+gst_identity_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+GST_TYPE_QUEUE
+#define GST_TYPE_QUEUE \
+ (gst_queue_get_type())
+
+
+GST_QUEUE
+#define GST_QUEUE(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_QUEUE,GstQueue))
+
+
+GST_QUEUE_CLASS
+#define GST_QUEUE_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
+
+
+GST_IS_QUEUE
+#define GST_IS_QUEUE(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_QUEUE))
+
+
+GST_IS_QUEUE_CLASS
+#define GST_IS_QUEUE_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE)))
+
+
+GstQueue
+
+
+GstQueueClass
+
+
+GstQueue
+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;
+};
+
+
+gst_queue_get_type
+GtkType
+void
+
+
+gst_queue_new
+GstElement *
+gchar *name
+
+
+gst_queue_chain
+void
+GstPad *pad,GstBuffer *buf
+
+
+gst_queue_push
+void
+GstConnection *connection
+
+
+GST_TYPE_SINESRC
+#define GST_TYPE_SINESRC \
+ (gst_sinesrc_get_type())
+
+
+GST_SINESRC
+#define GST_SINESRC(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
+
+
+GST_SINESRC_CLASS
+#define GST_SINESRC_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
+
+
+GST_IS_SINESRC
+#define GST_IS_SINESRC(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_SINESRC))
+
+
+GST_IS_SINESRC_CLASS
+#define GST_IS_SINESRC_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC)))
+
+
+GstSineSrc
+
+
+GstSineSrcClass
+
+
+GstSineSrc
+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;
+};
+
+
+gst_sinesrc_get_type
+GtkType
+void
+
+
+gst_sinesrc_new
+GstElement *
+gchar *name
+
+
+gst_sinesrc_push
+void
+GstSrc *src
+
+
+MetaAudioRaw
+
+
+MetaAudioRaw
+struct MetaAudioRaw {
+ GstMeta meta;
+
+ /* formatting information */
+ gint format;
+ gint channels;
+ gint frequency;
+ gint bps;
+};
+
+
+MetaAudioSpectrum
+
+
+MetaAudioSpectrum
+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;
+};
+
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
new file mode 100644
index 0000000000..104241b114
--- /dev/null
+++ b/docs/gst/gstreamer-docs.sgml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+]>
+
+
+
+
+ GStreamer Library Reference Manual
+
+
+ GStreamer Core Library
+
+ 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.
+
+ &Gst;
+ &GstObject;
+ &GstElement;
+ &GstBin;
+ &GstPipeline;
+ &GstFilter;
+ &GstSink;
+ &GstSrc;
+ &GstBuffer;
+ &GstPad;
+ &GstPlugin;
+
+ &gstreamer-gsttype;
+ &gstreamer-gstmeta;
+ &gstreamer-gstutils;
+ &gstreamer-gsttrace;
+
+
+
+
+
+ Index
+
+
+ Object Hierarchy
+ &gstreamer-tree-index;
+
+
+
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
new file mode 100644
index 0000000000..70ee6ecd7b
--- /dev/null
+++ b/docs/gst/gstreamer-sections.txt
@@ -0,0 +1,577 @@
+
+gstobject
+GstObject
+GstObject
+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
+
+gst_object_get_type
+GST_TYPE_OBJECT
+GST_IS_OBJECT
+GST_OBJECT_CLASS
+GST_IS_OBJECT_CLASS
+
+
+
+gstbin
+GST_BIN
+GstBin
+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
+
+GST_TYPE_BIN
+GST_IS_BIN
+gst_bin_get_type
+GST_BIN_CLASS
+GST_IS_BIN_CLASS
+
+
+
+gstbuffer
+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
+
+GST_BUFFER_FLAG_IS_SET
+
+
+
+gstconnection
+GST_CONNECTION
+GstConnection
+gst_connection_new
+gst_connection_push
+
+GST_TYPE_CONNECTION
+GST_IS_CONNECTION
+gst_connection_get_type
+GST_CONNECTION_CLASS
+GST_IS_CONNECTION_CLASS
+
+
+
+gstelement
+GstElementState
+GST_STATE
+GST_STATE_IS_SET
+GST_STATE_SET
+GST_STATE_UNSET
+GST_ELEMENT
+GstElementDetails
+GstElementFactory
+GstElementLoopFunction
+GstElement
+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
+
+GST_TYPE_ELEMENT
+GST_IS_ELEMENT
+gst_element_get_type
+GST_ELEMENT_CLASS
+GST_IS_ELEMENT_CLASS
+
+
+
+gstfilter
+GST_FILTER
+GstFilter
+gst_filter_new
+
+GST_TYPE_FILTER
+GST_IS_FILTER
+gst_filter_get_type
+GST_FILTER_CLASS
+GST_IS_FILTER_CLASS
+
+
+
+gstmeta
+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
+
+GST_META_FLAG_IS_SET
+
+
+
+gstpad
+GST_PAD
+GST_PAD_CONNECTED
+GstPadChainFunction
+GstPadPushFunction
+GstPadDirection
+GstPad
+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
+
+GST_TYPE_PAD
+GST_IS_PAD
+gst_pad_get_type
+GST_PAD_CLASS
+GST_IS_PAD_CLASS
+
+
+
+gstpipeline
+GST_PIPELINE
+GstPipeline
+gst_pipeline_new
+gst_pipeline_destroy
+gst_pipeline_iterate
+
+GST_TYPE_PIPELINE
+GST_IS_PIPELINE
+gst_pipeline_get_type
+GST_PIPELINE_CLASS
+GST_IS_PIPELINE_CLASS
+
+
+
+gstsink
+GST_SINK
+GstSink
+gst_sink_new
+
+GST_TYPE_SINK
+GST_IS_SINK
+gst_sink_get_type
+GST_SINK_CLASS
+GST_IS_SINK_CLASS
+
+
+
+gstsrc
+GST_SRC
+GstSrcFlags
+GST_SRC_FLAGS
+GST_SRC_ASYNC
+GstSrc
+GST_SRC_SET_FLAGS
+GST_SRC_UNSET_FLAGS
+gst_src_signal_eos
+gst_src_push
+gst_src_push_region
+
+GST_TYPE_SRC
+GST_IS_SRC
+gst_src_get_type
+GST_SRC_CLASS
+GST_IS_SRC_CLASS
+
+
+
+gsttee
+GST_TEE
+GstTee
+gst_tee_new
+gst_tee_chain
+gst_tee_new_pad
+
+GST_TYPE_TEE
+GST_IS_TEE
+gst_tee_get_type
+GST_TEE_CLASS
+GST_IS_TEE_CLASS
+
+
+
+gstthread
+GstThreadState
+GST_THREAD
+GstThread
+gst_thread_new
+gst_thread_main_loop
+gst_thread_iterate
+
+GST_TYPE_THREAD
+GST_IS_THREAD
+gst_thread_get_type
+GST_THREAD_CLASS
+GST_IS_THREAD_CLASS
+
+
+
+gstasyncdisksrc
+GST_ASYNCDISKSRC
+GstAsyncDiskSrcFlags
+GstAsyncDiskSrc
+
+GST_TYPE_ASYNCDISKSRC
+GST_IS_ASYNCDISKSRC
+gst_asyncdisksrc_get_type
+GST_ASYNCDISKSRC_CLASS
+GST_IS_ASYNCDISKSRC_CLASS
+
+
+
+gstaudiosink
+GST_AUDIOSINK
+GstAudioSink
+gst_audiosink_new
+gst_audiosink_chain
+gst_audiosink_sync_parms
+gst_audiosink_set_format
+gst_audiosink_set_channels
+gst_audiosink_set_frequency
+
+GST_TYPE_AUDIOSINK
+GST_IS_AUDIOSINK
+gst_audiosink_get_type
+GST_AUDIOSINK_CLASS
+GST_IS_AUDIOSINK_CLASS
+
+
+
+gstaudiosrc
+GST_AUDIOSRC
+GstAudioSrc
+gst_audiosrc_new
+gst_audiosrc_push
+
+GST_TYPE_AUDIOSRC
+GST_IS_AUDIOSRC
+gst_audiosrc_get_type
+GST_AUDIOSRC_CLASS
+GST_IS_AUDIOSRC_CLASS
+
+
+
+gstdisksrc
+GST_DISKSRC
+GstDiskSrcFlags
+GstDiskSrc
+
+GST_TYPE_DISKSRC
+GST_IS_DISKSRC
+gst_disksrc_get_type
+GST_DISKSRC_CLASS
+GST_IS_DISKSRC_CLASS
+
+
+
+gstesdsink
+GST_ESDSINK
+GstEsdSink
+gst_esdsink_new
+gst_esdsink_chain
+gst_esdsink_sync_parms
+gst_esdsink_set_format
+gst_esdsink_set_channels
+gst_esdsink_set_frequency
+
+GST_TYPE_ESDSINK
+GST_IS_ESDSINK
+gst_esdsink_get_type
+GST_ESDSINK_CLASS
+GST_IS_ESDSINK_CLASS
+
+
+
+gstfakesink
+GST_FAKESINK
+GstFakeSink
+gst_fakesink_new
+gst_fakesink_chain
+
+GST_TYPE_FAKESINK
+GST_IS_FAKESINK
+gst_fakesink_get_type
+GST_FAKESINK_CLASS
+GST_IS_FAKESINK_CLASS
+
+
+
+gstfakesrc
+GST_FAKESRC
+GstFakeSrc
+gst_fakesrc_new
+gst_fakesrc_push
+
+GST_TYPE_FAKESRC
+GST_IS_FAKESRC
+gst_fakesrc_get_type
+GST_FAKESRC_CLASS
+GST_IS_FAKESRC_CLASS
+
+
+
+gstfdsink
+GST_FDSINK
+GstFdSink
+gst_fdsink_new
+gst_fdsink_new_with_fd
+gst_fdsink_chain
+
+GST_TYPE_FDSINK
+GST_IS_FDSINK
+gst_fdsink_get_type
+GST_FDSINK_CLASS
+GST_IS_FDSINK_CLASS
+
+
+
+gstfdsrc
+GST_FDSRC
+GstFdSrc
+
+GST_TYPE_FDSRC
+GST_IS_FDSRC
+gst_fdsrc_get_type
+GST_FDSRC_CLASS
+GST_IS_FDSRC_CLASS
+
+
+
+gsthttpsrc
+GST_HTTPSRC
+GstHttpSrc
+
+GST_TYPE_HTTPSRC
+GST_IS_HTTPSRC
+gst_httpsrc_get_type
+GST_HTTPSRC_CLASS
+GST_IS_HTTPSRC_CLASS
+
+
+
+gstidentity
+GST_IDENTITY
+GstIdentity
+gst_identity_new
+gst_identity_chain
+
+GST_TYPE_IDENTITY
+GST_IS_IDENTITY
+gst_identity_get_type
+GST_IDENTITY_CLASS
+GST_IS_IDENTITY_CLASS
+
+
+
+gstqueue
+GST_QUEUE
+GstQueue
+gst_queue_new
+gst_queue_chain
+gst_queue_push
+
+GST_TYPE_QUEUE
+GST_IS_QUEUE
+gst_queue_get_type
+GST_QUEUE_CLASS
+GST_IS_QUEUE_CLASS
+
+
+
+gstsinesrc
+GST_SINESRC
+GstSineSrc
+gst_sinesrc_new
+gst_sinesrc_push
+
+GST_TYPE_SINESRC
+GST_IS_SINESRC
+gst_sinesrc_get_type
+GST_SINESRC_CLASS
+GST_IS_SINESRC_CLASS
+
+
+
+cothreads
+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
+
+
+
+
+
+gstlog
+GST_SHOW_INFO
+gst_info
+
+
+
+gstplugin
+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
+
+
+
+gsttrace
+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
+
+
+
+gsttype
+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
+
+
+
+gstutils
+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
+
+
+
+
+
+plugin
+plugin_initialize
+plugin_load_all
+plugin_load
+plugin_load_absolute
+
+
+
+audioraw
+MetaAudioRaw
+
+
+
+spectrum
+MetaAudioSpectrum
+
+
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
new file mode 100644
index 0000000000..3232665eb9
--- /dev/null
+++ b/docs/gst/gstreamer.hierarchy
@@ -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
index 0000000000..d80aa1ef2a
--- /dev/null
+++ b/docs/gst/gstreamer.types
@@ -0,0 +1,14 @@
+#include
+#include
+
+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
index 0000000000..751553b3ac
--- /dev/null
+++ b/docs/gst/tmpl/.gitignore
@@ -0,0 +1 @@
+*.bak
diff --git a/docs/gst/tmpl/gst.sgml b/docs/gst/tmpl/gst.sgml
new file mode 100644
index 0000000000..13fcdf3240
--- /dev/null
+++ b/docs/gst/tmpl/gst.sgml
@@ -0,0 +1,50 @@
+
+Gstreamer
+
+
+Media library supporting arbitrary formats and filter graphs.
+
+
+
+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).
+
+
+
+GStreamer borrows heavily from both the OGI media pipeline 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.
+
+
+
+
+Check out both OGI's
+pipeline and Microsoft's DirectShow for some background.
+
+
+
+
+
+
+
+@argc:
+@argv:
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
diff --git a/docs/gst/tmpl/gstbin.sgml b/docs/gst/tmpl/gstbin.sgml
new file mode 100644
index 0000000000..a2deee2069
--- /dev/null
+++ b/docs/gst/tmpl/gstbin.sgml
@@ -0,0 +1,108 @@
+
+GstBin
+
+
+Base container element
+
+
+
+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.
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@bin:
+@element:
+
+
+
+
+
+
+
+@bin:
+@element:
+
+
+
+
+
+
+
+@bin:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@bin:
+@Returns:
+
+
+
+
+
+
+
+@bin:
+@state:
+@type:
+@Returns:
+
+
+
+
+
+
+
+@bin:
+
+
+
+
+
+
+
+@bin:
+
+
+
+
+
+
+
+@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
index 0000000000..301ae6ad1d
--- /dev/null
+++ b/docs/gst/tmpl/gstbuffer.sgml
@@ -0,0 +1,241 @@
+
+GstBuffer
+
+
+Data-passing buffer type, supporting sub-buffers and metadata
+
+
+
+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.
+
+
+
+
+
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+@flag:
+
+
+
+
+
+
+
+@buf:
+@flag:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@GST_BUFFER_READONLY:
+@GST_BUFFER_EOS:
+@GST_BUFFER_ORIGINAL:
+@GST_BUFFER_DONTFREE:
+
+
+
+
+
+
+@lock:
+@flags:
+@data:
+@size:
+@maxsize:
+@offset:
+@timestamp:
+@maxage:
+@metas:
+@parent:
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@parent:
+@offset:
+@size:
+@Returns:
+
+
+
+
+
+
+
+@buffer:
+
+
+
+
+
+
+
+@buffer:
+@count:
+
+
+
+
+
+
+
+@buffer:
+
+
+
+
+
+
+
+@buffer:
+
+
+
+
+
+
+
+@buffer:
+@meta:
+
+
+
+
+
+
+
+@buffer:
+@Returns:
+
+
+
+
+
+
+
+@buffer:
+@Returns:
+
+
+
+
+
+
+
+@buffer:
+@meta:
+
+
diff --git a/docs/gst/tmpl/gstconnection.sgml b/docs/gst/tmpl/gstconnection.sgml
new file mode 100644
index 0000000000..c9d1e41d90
--- /dev/null
+++ b/docs/gst/tmpl/gstconnection.sgml
@@ -0,0 +1,41 @@
+
+GstConnection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@connection:
+
+
diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml
new file mode 100644
index 0000000000..8442f23a9d
--- /dev/null
+++ b/docs/gst/tmpl/gstdisksrc.sgml
@@ -0,0 +1,31 @@
+
+GstDiskSrc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@GST_DISKSRC_OPEN:
+
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
new file mode 100644
index 0000000000..e86d117fda
--- /dev/null
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -0,0 +1,364 @@
+
+GstElement
+
+
+Base class for all pipeline elements
+
+
+
+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.
+
+
+
+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().
+
+
+
+gst_element_connect() is a convenience function provided to make it
+simpler to connect pads of two elements together.
+
+
+
+
+
+
+
+
+
+
+
+
+@GST_STATE_COMPLETE:
+@GST_STATE_RUNNING:
+@GST_STATE_DISCOVERY:
+@GST_STATE_PREROLL:
+@GST_STATE_PLAYING:
+@GST_STATE_PAUSED:
+@GST_STATE_MAX:
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+@flag:
+
+
+
+
+
+
+
+@obj:
+@flag:
+
+
+
+
+
+
+
+@obj:
+@flag:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@longname:
+@class:
+@description:
+@version:
+@author:
+@copyright:
+
+
+
+
+
+
+@name:
+@type:
+@details:
+
+
+
+
+
+
+@element:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@element:
+@loop:
+
+
+
+
+
+
+
+@element:
+@name:
+
+
+
+
+
+
+
+@element:
+@Returns:
+
+
+
+
+
+
+
+@element:
+@manager:
+
+
+
+
+
+
+
+@element:
+@Returns:
+
+
+
+
+
+
+
+@element:
+@pad:
+
+
+
+
+
+
+
+@element:
+@pad:
+
+
+
+
+
+
+
+@element:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@element:
+@Returns:
+
+
+
+
+
+
+
+@src:
+@srcpadname:
+@dest:
+@destpadname:
+
+@srcpad:
+@destpad:
+
+
+
+
+
+
+
+@element:
+@state:
+@Returns:
+
+
+
+
+
+
+
+@element:
+@error:
+
+
+
+
+
+
+
+@element:
+@state:
+@Returns:
+
+
+
+
+
+
+
+@element:
+
+
+
+
+
+
+
+@element:
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@name:
+@type:
+@details:
+@Returns:
+
+
+
+
+
+
+
+@elementfactory:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@factoryname:
+@name:
+@Returns:
+
+
+
+
+
+
+
+@argc:
+@argv:
+@Returns:
+
+
+
+
+
+
+
+@gstelement: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gstelement: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@gstelement: the object which received the signal.
+@arg1:
+
+
+
+
+
+
+@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
index 0000000000..2a382029a7
--- /dev/null
+++ b/docs/gst/tmpl/gstfilter.sgml
@@ -0,0 +1,33 @@
+
+GstFilter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstmeta.sgml b/docs/gst/tmpl/gstmeta.sgml
new file mode 100644
index 0000000000..bef25e1e5d
--- /dev/null
+++ b/docs/gst/tmpl/gstmeta.sgml
@@ -0,0 +1,100 @@
+
+gstmeta
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@meta:
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+@meta:
+@flag:
+
+
+
+
+
+
+
+@meta:
+@flag:
+
+
+
+
+
+
+
+@GST_META_FREEABLE:
+
+
+
+
+
+
+@lock:
+@flags:
+@data:
+@size:
+
+
+
+
+
+
+@size:
+@Returns:
+
+
+
+
+
+
+
+@type:
+
+
+
+
+
+
+
+@meta:
+
+
+
+
+
+
+
+@meta:
+
+
diff --git a/docs/gst/tmpl/gstobject.sgml b/docs/gst/tmpl/gstobject.sgml
new file mode 100644
index 0000000000..0bfa974fb0
--- /dev/null
+++ b/docs/gst/tmpl/gstobject.sgml
@@ -0,0 +1,172 @@
+
+GstObject
+
+
+Basis for the GST object hierarchy.
+
+
+
+GstObject provides a root for the object hierarchy tree filed in by the
+GST library. It is currently a thin wrapper on top of
+GtkObject, 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.
+
+
+
+GstObject gives us basic refcounting and parenting functionality, though
+it is possible that we could use GtkObject's
+equivalent functions. I'll probably use what I have now until I strip
+down GtkObject to re-parent the hierarchy.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This macro returns the entire set of flags for the object.
+
+
+@obj: Object to return flags for.
+
+
+
+
+This macro checks to see if the given flag is set.
+
+
+@obj: Object to check for flag in.
+@flag: Flag to check for, must be a single bit in guint32.
+
+
+
+
+This macro sets the given bits.
+
+
+@obj: Object to set flag in.
+@flag: Flag to set, can by any number of bits in guint32.
+
+
+
+
+This macro usets the given bits.
+
+
+@obj: Object to unset flag in.
+@flag: Flag to set, must be a single bit in guint32.
+
+
+
+
+This macro will obtain a lock on the object, making serialization
+possible.
+
+
+@obj: Object to lock.
+
+
+
+
+This macro will try to obtain a lock on the object, but will return with
+FALSE if it can't get it immediately.
+
+
+@obj: Object to try to get a lock on.
+
+
+
+
+This macro releases a lock on the object.
+
+
+@obj: Object to unlock.
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@object:
+@parent:
+
+
+
+
+
+
+
+@object:
+@Returns:
+
+
+
+
+
+
+
+@object:
+
+
+
+
+
+
+
+@obj:
+
+@object:
+
+
+
+
+
+
+
+@obj:
+
+@object:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@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
index 0000000000..45da122569
--- /dev/null
+++ b/docs/gst/tmpl/gstpad.sgml
@@ -0,0 +1,230 @@
+
+GstPad
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@pad:
+
+
+
+
+
+
+
+@pad:
+@buf:
+
+
+
+
+
+
+
+@pad:
+
+
+
+
+
+
+
+@GST_PAD_UNKNOWN:
+@GST_PAD_SRC:
+@GST_PAD_SINK:
+
+
+
+
+
+
+@name:
+@direction:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@chain:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@id:
+
+
+
+
+
+
+
+@pad:
+@name:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@parent:
+
+
+
+
+
+
+
+@pad:
+@parent:
+
+
+
+
+
+
+
+@pad:
+@parent:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@srcpad:
+@sinkpad:
+
+
+
+
+
+
+
+@pad:
+@buffer:
+
+
+
+
+
+
+
+@pad:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@parent:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstpipeline.sgml b/docs/gst/tmpl/gstpipeline.sgml
new file mode 100644
index 0000000000..6921c6640e
--- /dev/null
+++ b/docs/gst/tmpl/gstpipeline.sgml
@@ -0,0 +1,49 @@
+
+GstPipeline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@pipeline:
+
+
+
+
+
+
+
+@pipeline:
+
+
diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml
new file mode 100644
index 0000000000..bf121d2fd4
--- /dev/null
+++ b/docs/gst/tmpl/gstplugin.sgml
@@ -0,0 +1,128 @@
+
+gstplugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@name:
+@longname:
+@filename:
+@types:
+@elements:
+@identifiers:
+
+
+
+
+
+
+
+
+
+
+
+
+@module:
+@Returns:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@plugin:
+@longname:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@plugin:
+@factory:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml
new file mode 100644
index 0000000000..2ec710a2a5
--- /dev/null
+++ b/docs/gst/tmpl/gstqueue.sgml
@@ -0,0 +1,50 @@
+
+GstQueue
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@buf:
+
+
+
+
+
+
+
+@connection:
+
+
diff --git a/docs/gst/tmpl/gstsink.sgml b/docs/gst/tmpl/gstsink.sgml
new file mode 100644
index 0000000000..0bd6958737
--- /dev/null
+++ b/docs/gst/tmpl/gstsink.sgml
@@ -0,0 +1,33 @@
+
+GstSink
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstsrc.sgml b/docs/gst/tmpl/gstsrc.sgml
new file mode 100644
index 0000000000..4f05fd6dd9
--- /dev/null
+++ b/docs/gst/tmpl/gstsrc.sgml
@@ -0,0 +1,99 @@
+
+GstSrc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@GST_SRC_ASYNC:
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@src:
+@flag:
+
+
+
+
+
+
+
+@src:
+@flag:
+
+
+
+
+
+
+
+@src:
+
+
+
+
+
+
+
+@src:
+
+
+
+
+
+
+
+@src:
+@offset:
+@size:
+
+
+
+
+
+
+
+@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
index 0000000000..a1ae13ca96
--- /dev/null
+++ b/docs/gst/tmpl/gsttee.sgml
@@ -0,0 +1,51 @@
+
+GstTee
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@buf:
+
+
+
+
+
+
+
+@tee:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml
new file mode 100644
index 0000000000..bf8f97250c
--- /dev/null
+++ b/docs/gst/tmpl/gstthread.sgml
@@ -0,0 +1,63 @@
+
+GstThread
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@GST_THREAD_CREATE:
+@GST_THREAD_STATE_SPINNING:
+@GST_THREAD_STATE_REAPING:
+
+
+
+
+
+
+@obj:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@arg:
+
+
+
+
+
+
+
+@thread:
+
+
+
+
+
+
+
diff --git a/docs/gst/tmpl/gsttrace.sgml b/docs/gst/tmpl/gsttrace.sgml
new file mode 100644
index 0000000000..17e8f6bc51
--- /dev/null
+++ b/docs/gst/tmpl/gsttrace.sgml
@@ -0,0 +1,121 @@
+
+gsttrace
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@dst:
+
+
+
+
+
+
+
+@filename:
+@fd:
+@buf:
+@bufsize:
+@bufoffset:
+
+
+
+
+
+
+@timestamp:
+@sequence:
+@data:
+@message:
+
+
+
+
+
+
+@filename:
+@size:
+@Returns:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+@trace:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@trace:
+@seq:
+@data:
+@msg:
+
+
diff --git a/docs/gst/tmpl/gsttype.sgml b/docs/gst/tmpl/gsttype.sgml
new file mode 100644
index 0000000000..04a98cce9d
--- /dev/null
+++ b/docs/gst/tmpl/gsttype.sgml
@@ -0,0 +1,134 @@
+
+gsttype
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@buf:
+@private:
+@Returns:
+
+
+
+
+
+
+
+@id:
+@mime:
+@exts:
+@typefindfunc:
+@srcs:
+@sinks:
+
+
+
+
+
+
+@mime:
+@exts:
+@typefindfunc:
+
+
+
+
+
+
+
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@mime:
+@Returns:
+
+
+
+
+
+
+
+@ext:
+@Returns:
+
+
+
+
+
+
+
+@id:
+@src:
+
+
+
+
+
+
+
+@id:
+@sink:
+
+
+
+
+
+
+
+@id:
+@Returns:
+
+
+
+
+
+
+
+@id:
+@Returns:
+
+
+
+
+
+
+
+@id:
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml
new file mode 100644
index 0000000000..4082bc7eba
--- /dev/null
+++ b/docs/gst/tmpl/gstutils.sgml
@@ -0,0 +1,86 @@
+
+gstutils
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstxml.sgml b/docs/gst/tmpl/gstxml.sgml
new file mode 100644
index 0000000000..778c8b9111
--- /dev/null
+++ b/docs/gst/tmpl/gstxml.sgml
@@ -0,0 +1,25 @@
+
+gstxml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@element:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/plugin.sgml b/docs/gst/tmpl/plugin.sgml
new file mode 100644
index 0000000000..9866772c26
--- /dev/null
+++ b/docs/gst/tmpl/plugin.sgml
@@ -0,0 +1,48 @@
+
+plugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+