diff --git a/docs/gst/gstreamer-decl.txt b/docs/gst/gstreamer-decl.txt
index 590d997de3..f51edaa17b 100644
--- a/docs/gst/gstreamer-decl.txt
+++ b/docs/gst/gstreamer-decl.txt
@@ -82,15 +82,29 @@ cothread_context *ctx
gst_init
void
int *argc,char **argv[]
+
+
+gst_main
+void
+
+
+
+gst_main_quit
+void
+
DEBUG
-#define DEBUG(format,args...) g_print("DEBUG: " format, ##args)
+#define DEBUG(format, args...) g_print("DEBUG:(%d) " format, getpid() , ##args)
DEBUG
-#define DEBUG(format,args...)
+#define DEBUG(format, args...)
+
+gst_bin_details
+extern GstElementDetails gst_bin_details;
+
GST_TYPE_BIN
#define GST_TYPE_BIN \
@@ -114,7 +128,7 @@ int *argc,char **argv[]
GST_IS_BIN_CLASS
#define GST_IS_BIN_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN))
GstBin
@@ -127,13 +141,36 @@ int *argc,char **argv[]
struct GstBin {
GstElement element;
+ // our children
gint numchildren;
GList *children;
+ // iteration state
+ gboolean need_cothreads;
GList *entries;
gint numentries;
cothread_context *threadcontext;
+ gboolean use_cothreads;
+};
+
+
+GstBinClass
+struct GstBinClass {
+ GstElementClass parent_class;
+
+ void (*object_added) (GstObject *object,GstObject *child);
+
+ /* change the state of elements of the given type */
+ gboolean (*change_state_type) (GstBin *bin,
+ GstElementState state,
+ GtkType type);
+
+ /* create a plan for the execution of the bin */
+ void (*create_plan) (GstBin *bin);
+
+ /* run a full iteration of operation */
+ void (*iterate) (GstBin *bin);
};
@@ -146,6 +183,10 @@ void
GstElement *
gchar *name
+
+gst_bin_destroy
+#define gst_bin_destroy(bin) gst_object_destroy(GST_OBJECT(bin))
+
gst_bin_add
void
@@ -181,10 +222,15 @@ GstBin *bin
void
GstBin *bin
+
+gst_bin_use_cothreads
+void
+GstBin *bin, gboolean enabled
+
GST_BUFFER
#define GST_BUFFER(buf) \
- ((GstBuffer *)(buf))
+ ((GstBuffer *)(buf))
GST_BUFFER_FLAGS
@@ -249,6 +295,7 @@ typedef enum {
GST_BUFFER_EOS = (1 << 1),
GST_BUFFER_ORIGINAL = (1 << 2),
GST_BUFFER_DONTFREE = (1 << 3),
+ GST_BUFFER_FLUSH = (1 << 4),
} GstBufferFlags;
@@ -263,8 +310,10 @@ struct GstBuffer {
/* refcounting */
#ifdef HAVE_ATOMIC_H
atomic_t refcount;
+#define GST_BUFFER_REFCOUNT(buf) (atomic_read(&(GST_BUFFER((buf))->refcount)))
#else
int refcount;
+#define GST_BUFFER_REFCOUNT(buf) (GST_BUFFER(buf)->refcount)
#endif
/* data type of this buffer */
@@ -288,12 +337,20 @@ struct GstBuffer {
/* subbuffer support, who's my parent? */
GstBuffer *parent;
+
+ /* this is a pointer to the buffer pool (if any) */
+ GstBufferPool *pool;
};
gst_buffer_new
GstBuffer *
+
+
+gst_buffer_new_from_pool
+GstBuffer *
+GstBufferPool *pool
gst_buffer_create_sub
@@ -301,6 +358,11 @@ struct GstBuffer {
GstBuffer *parent,guint32 offset,guint32 size
+gst_buffer_append
+GstBuffer *
+GstBuffer *buffer, GstBuffer *append
+
+
gst_buffer_ref
void
GstBuffer *buffer
@@ -340,6 +402,70 @@ GstBuffer *buffer
void
GstBuffer *buffer,GstMeta *meta
+
+GstClockTime
+typedef guint64 GstClockTime;
+
+
+GstClockTimeDiff
+typedef gint64 GstClockTimeDiff;
+
+
+GST_CLOCK_DIFF
+#define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((s)-(e))
+
+
+GstClock
+
+
+GstClock
+struct GstClock {
+ gchar *name;
+ GstClockTime start_time;
+ GstClockTime current_time;
+ GstClockTimeDiff adjust;
+ gboolean locking;
+ GList *sinkobjects;
+ gint num, num_locked;
+ GMutex *sinkmutex;
+ GMutex *lock;
+};
+
+
+gst_clock_new
+GstClock *
+gchar *name
+
+
+gst_clock_get_system
+GstClock *
+void
+
+
+gst_clock_register
+void
+GstClock *clock, GstObject *obj
+
+
+gst_clock_set
+void
+GstClock *clock, GstClockTime time
+
+
+gst_clock_reset
+void
+GstClock *clock
+
+
+gst_clock_wait
+void
+GstClock *clock, GstClockTime time, GstObject *obj
+
+
+gst_clock_current_diff
+GstClockTimeDiff
+GstClock *clock, GstClockTime time
+
GST_TYPE_CONNECTION
#define GST_TYPE_CONNECTION \
@@ -377,6 +503,15 @@ struct GstConnection {
GstElement element;
};
+
+GstConnectionClass
+struct GstConnectionClass {
+ GstElementClass parent_class;
+
+ /* push function */
+ void (*push) (GstConnection *connection);
+};
+
gst_connection_get_type
GtkType
@@ -395,40 +530,28 @@ 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),
+ GST_STATE_NONE_PENDING = -1,
+ GST_STATE_NULL = 0,
+ GST_STATE_READY = 1,
+ GST_STATE_PLAYING = 2,
+ GST_STATE_PAUSED = 3,
} GstElementState;
+
+GstElementStateReturn
+typedef enum {
+ GST_STATE_FAILURE = 0,
+ GST_STATE_SUCCESS = 1,
+ GST_STATE_ASYNC = 2,
+} GstElementStateReturn;
+
GST_STATE
-#define GST_STATE(obj) (GST_ELEMENT(obj)->state)
+#define GST_STATE(obj) (GST_ELEMENT(obj)->current_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(%s)\n",gst_element_get_name(obj),flag, \
-_gst_print_statename(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(%s)\n",gst_element_get_name(obj),flag, \
-_gst_print_statename(flag)); \
-}G_STMT_END
+GST_STATE_PENDING
+#define GST_STATE_PENDING(obj) (GST_ELEMENT(obj)->pending_state)
GST_TYPE_ELEMENT
@@ -458,12 +581,12 @@ _gst_print_statename(flag)); \
GstElementFlags
typedef enum {
- GST_ELEMENT_MULTI_OUT = (1 << 16),
+ GST_ELEMENT_MULTI_IN = (1 << 0),
} GstElementFlags;
-GST_ELEMENT_IS_MULTI_OUT
-#define GST_ELEMENT_IS_MULTI_OUT(obj) ((GST_FLAGS(obj) & GST_ELEMENT_MULTI_OUT)
+GST_ELEMENT_IS_MULTI_IN
+#define GST_ELEMENT_IS_MULTI_IN(obj) (GST_FLAGS(obj) & GST_ELEMENT_MULTI_IN)
GstElement
@@ -489,7 +612,8 @@ struct GstElement {
gchar *name;
- guint16 state;
+ guint8 current_state;
+ guint8 pending_state;
GstElementLoopFunction loopfunc;
cothread_state *threadstate;
@@ -501,6 +625,32 @@ struct GstElement {
};
+GstElementClass
+struct GstElementClass {
+ GstObjectClass parent_class;
+
+ /* the elementfactory that created us */
+ GstElementFactory *elementfactory;
+
+ /* signal callbacks */
+ void (*state_change) (GstElement *element,GstElementState state);
+ void (*new_pad) (GstElement *element,GstPad *pad);
+ void (*new_ghost_pad) (GstElement *element,GstPad *pad);
+ void (*error) (GstElement *element,gchar *error);
+
+ /* events */
+// gboolean (*start) (GstElement *element,GstElementState state);
+// gboolean (*stop) (GstElement *element);
+
+ /* change the element state */
+ GstElementStateReturn (*change_state) (GstElement *element);
+
+ /* create or read XML representation of self */
+ xmlNodePtr (*save_thyself)(GstElement *element,xmlNodePtr parent);
+ void (*restore_thyself)(GstElement *element,xmlNodePtr *self);
+};
+
+
GstElementDetails
struct GstElementDetails {
gchar *longname; /* long, english name */
@@ -518,6 +668,9 @@ struct GstElementFactory {
GtkType type; /* unique GtkType of element */
GstElementDetails *details; /* pointer to details struct */
+
+ GList *src_types;
+ GList *sink_types;
};
@@ -582,7 +735,7 @@ GstElement *src,gchar *srcpadname,GstElement *dest,gchar *destpadname
gst_element_set_state
-gboolean
+gint
GstElement *element,GstElementState state
@@ -591,9 +744,9 @@ GstElement *element,GstElementState state
GstElement *element,gchar *error
-gst_element_change_state
-gboolean
-GstElement *element,GstElementState state
+gst_element_get_factory
+GstElementFactory *
+GstElement *element
gst_element_destroy
@@ -615,6 +768,16 @@ gchar *name,GtkType type,GstElementDetails *details
GstElementFactory *elementfactory
+gst_elementfactory_add_src
+void
+GstElementFactory *elementfactory, guint16 id
+
+
+gst_elementfactory_add_sink
+void
+GstElementFactory *elementfactory, guint16 id
+
+
gst_elementfactory_find
GstElementFactory *
gchar *name
@@ -635,6 +798,16 @@ GstElementFactory *factory,gchar *name
gchar *factoryname,gchar *name
+gst_elementfactory_save_thyself
+xmlNodePtr
+GstElementFactory *factory, xmlNodePtr parent
+
+
+gst_elementfactory_load_thyself
+GstElementFactory *
+xmlNodePtr parent
+
+
gst_element_loopfunc_wrapper
int
int argc,char **argv
@@ -676,6 +849,12 @@ struct GstFilter {
GstElement element;
};
+
+GstFilterClass
+struct GstFilterClass {
+ GstElementClass parent_class;
+};
+
gst_filter_get_type
GtkType
@@ -820,6 +999,17 @@ struct GstObject {
GstObject *parent;
};
+
+GstObjectClass
+struct GstObjectClass {
+ GtkObjectClass parent_class;
+
+ /* signals */
+ void (*parent_set) (GstObject *object,GstObject *parent);
+
+ /* functions go here */
+};
+
GST_FLAGS
#define GST_FLAGS(obj) GTK_OBJECT_FLAGS(obj)
@@ -938,6 +1128,11 @@ GstPad *pad
void
GstPad *pad
+
+GstPadQoSFunction
+void
+GstPad *pad, glong qos_message
+
GstPadDirection
typedef enum {
@@ -963,11 +1158,18 @@ struct GstPad {
GstPadChainFunction chainfunc;
GstPadPullFunction pullfunc;
GstPadPushFunction pushfunc;
+ GstPadQoSFunction qosfunc;
GstObject *parent;
GList *ghostparents;
};
+
+GstPadClass
+struct GstPadClass {
+ GstObjectClass parent_class;
+};
+
gst_pad_get_type
GtkType
@@ -999,6 +1201,11 @@ GstPad *pad,GstPadChainFunction chain
GstPad *pad, GstPadPullFunction pull
+gst_pad_set_qos_function
+void
+GstPad *pad, GstPadQoSFunction qos
+
+
gst_pad_get_type_id
guint16
GstPad *pad
@@ -1058,6 +1265,11 @@ GstPad *pad
GstPad *srcpad,GstPad *sinkpad
+gst_pad_disconnect
+void
+GstPad *srcpad,GstPad *sinkpad
+
+
gst_pad_push
void
GstPad *pad,GstBuffer *buffer
@@ -1068,10 +1280,19 @@ GstPad *pad,GstBuffer *buffer
GstPad *pad
+gst_pad_handle_qos
+void
+GstPad *pad, glong qos_message
+
+
gst_pad_save_thyself
xmlNodePtr
GstPad *pad,xmlNodePtr parent
+
+gst_pipeline_details
+extern GstElementDetails gst_pipeline_details;
+
GST_TYPE_PIPELINE
#define GST_TYPE_PIPELINE \
@@ -1095,7 +1316,7 @@ GstPad *pad,xmlNodePtr parent
GST_IS_PIPELINE_CLASS
#define GST_IS_PIPELINE_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE))
GstPipeline
@@ -1109,6 +1330,12 @@ struct GstPipeline {
GstBin bin;
};
+
+GstPipelineClass
+struct GstPipelineClass {
+ GstBinClass parent_class;
+};
+
gst_pipeline_get_type
GtkType
@@ -1116,7 +1343,7 @@ void
gst_pipeline_new
-GstPipeline *
+GstElement *
guchar *name
@@ -1124,6 +1351,11 @@ guchar *name
#define gst_pipeline_destroy(pipeline) gst_object_destroy(GST_OBJECT(pipeline))
+gst_pipeline_autoplug
+gboolean
+GstPipeline *pipeline
+
+
gst_pipeline_iterate
void
GstPipeline *pipeline
@@ -1143,7 +1375,8 @@ struct GstPlugin {
GList *types; /* list of types provided */
GList *elements; /* list of elements provided */
- GList *identifiers; /* list of identifiers */
+
+ gboolean loaded; /* if the plugin is in memory */
};
@@ -1187,9 +1420,14 @@ gchar *name
GstPlugin *plugin,GstElementFactory *factory
+gst_plugin_add_type
+void
+GstPlugin *plugin,GstTypeFactory *factory
+
+
gst_plugin_find
GstPlugin *
-gchar *name
+const gchar *name
gst_plugin_get_list
@@ -1201,6 +1439,26 @@ gchar *name
GstElementFactory *
gchar *name
+
+gst_plugin_load_elementfactory
+GstElementFactory *
+gchar *name
+
+
+gst_plugin_load_typefactory
+void
+gchar *mime
+
+
+gst_plugin_save_thyself
+xmlNodePtr
+xmlNodePtr parent
+
+
+gst_plugin_load_thyself
+void
+xmlNodePtr parent
+
GST_TYPE_SINK
#define GST_TYPE_SINK \
@@ -1238,6 +1496,12 @@ struct GstSink {
GstElement element;
};
+
+GstSinkClass
+struct GstSinkClass {
+ GstElementClass parent_class;
+};
+
gst_sink_get_type
GtkType
@@ -1302,6 +1566,19 @@ struct GstSrc {
gint32 flags;
};
+
+GstSrcClass
+struct GstSrcClass {
+ GstElementClass parent_class;
+
+ /* subclass functions */
+ void (*push) (GstSrc *src);
+ void (*push_region) (GstSrc *src,gulong offset,gulong size);
+
+ /* signals */
+ void (*eos) (GstSrc *src);
+};
+
GST_SRC_SET_FLAGS
#define GST_SRC_SET_FLAGS(src,flag) \
@@ -1374,6 +1651,12 @@ struct GstTee {
GSList *srcpads;
};
+
+GstTeeClass
+struct GstTeeClass {
+ GstFilterClass parent_class;
+};
+
gst_tee_get_type
GtkType
@@ -1394,6 +1677,10 @@ GstPad *pad,GstBuffer *buf
gchar *
GstTee *tee
+
+gst_thread_details
+extern GstElementDetails gst_thread_details;
+
GstThreadState
typedef enum {
@@ -1443,6 +1730,12 @@ struct GstThread {
GCond *cond; /* used to control the thread */
};
+
+GstThreadClass
+struct GstThreadClass {
+ GstBinClass parent_class;
+};
+
gst_thread_get_type
GtkType
@@ -1546,7 +1839,7 @@ GstTrace *trace
GstTypeFindFunc
gboolean
-GstBuffer *buf,gpointer *private
+GstBuffer *buf,gpointer priv
GstType
@@ -1566,6 +1859,10 @@ struct GstType {
GList *srcs; /* list of src objects for this type */
GList *sinks; /* list of sink objects for type */
+
+ GHashTable *converters; /* a hashtable of factories that can convert
+ from this type to destination type. The
+ factories are indexed by destination type */
};
@@ -1617,9 +1914,39 @@ guint16 id
guint16 id
+gst_type_get_sink_to_src
+GList *
+guint16 sinkid, guint16 srcid
+
+
gst_type_get_list
GList *
+
+
+gst_type_dump
+void
+
+
+
+gst_type_save_thyself
+xmlNodePtr
+GstType *type, xmlNodePtr parent
+
+
+gst_type_load_thyself
+guint16
+xmlNodePtr parent
+
+
+gst_typefactory_save_thyself
+xmlNodePtr
+GstTypeFactory *factory, xmlNodePtr parent
+
+
+gst_typefactory_load_thyself
+GstTypeFactory *
+xmlNodePtr parent
gst_util_get_int_arg
@@ -1657,67 +1984,87 @@ GtkObject *object,guchar *argname
GtkObject *object,guchar *argname
+gst_util_dump_mem
+void
+guchar *mem, guint size
+
+
gst_xml_write
xmlDocPtr
GstElement *element
-
-GstClockTime
-typedef guint64 GstClockTime;
-
-
-GstClockTimeDiff
-typedef gint64 GstClockTimeDiff;
-
-GST_CLOCK_DIFF
-#define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((s)-(e))
+GST_BUFFER_POOL
+#define GST_BUFFER_POOL(buf) \
+ ((GstBufferPool *)(buf))
-GstClock
+GstBufferPool
+
+GstBufferPoolCreateFunction
+GstBuffer *
+GstBufferPool *pool, gpointer user_data
+
+
+GstBufferPoolDestroyFunction
+void
+GstBufferPool *pool, GstBuffer *buffer, gpointer user_data
+
-GstClock
-struct GstClock {
- gchar *name;
- GstClockTime start_time;
- GstClockTime current_time;
- GstClockTimeDiff adjust;
- gboolean locking;
- GList *sinkobjects;
- GMutex *sinkmutex;
- GMutex *lock;
+GstBufferPool
+struct GstBufferPool {
+ /* will be called when a new buffer is to be created */
+ GstBufferPoolCreateFunction new_buffer;
+ /* user data to pass with the new_buffer function */
+ gpointer new_user_data;
+
+ gpointer destroy_user_data;
+ GstBufferPoolDestroyFunction destroy_buffer;
};
-gst_clock_new
-GstClock *
-gchar *name
+gst_buffer_pool_new
+GstBufferPool *
+
-gst_clock_get_system
-GstClock *
-void
+gst_buffer_pool_new_buffer
+GstBuffer *
+GstBufferPool *pool
-gst_clock_register
+gst_buffer_pool_destroy_buffer
void
-GstClock *clock, GstObject *obj
+GstBufferPool *pool, GstBuffer *buffer
-gst_clock_set
+gst_buffer_pool_set_create_function
void
-GstClock *clock, GstClockTime time
+GstBufferPool *pool, GstBufferPoolCreateFunction create, gpointer user_data
-gst_clock_reset
+gst_buffer_pool_set_destroy_function
void
-GstClock *clock
+GstBufferPool *pool, GstBufferPoolDestroyFunction destroy, gpointer user_data
-gst_clock_wait
+gst_buffer_pool_destroy
void
-GstClock *clock, GstClockTime time, GstObject *obj
+GstBufferPool *pool
+
+
+GST_CPU_FLAG_MMX
+#define GST_CPU_FLAG_MMX (1 << 0)
+
+
+GST_CPU_FLAG_SSE
+#define GST_CPU_FLAG_SSE (1 << 1)
+
+
+gst_cpu_get_flags
+guint32
+
GST_TYPE_ASYNCDISKSRC
@@ -1779,6 +2126,12 @@ struct GstAsyncDiskSrc {
gulong seq; /* buffer sequence number */
};
+
+GstAsyncDiskSrcClass
+struct GstAsyncDiskSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_asyncdisksrc_get_type
GtkType
@@ -1807,8 +2160,14 @@ void
GST_IS_AUDIOSINK_CLASS
#define GST_IS_AUDIOSINK_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK))
+
+GstAudioSinkFlags
+typedef enum {
+ GST_AUDIOSINK_OPEN = (1 << 16),
+} GstAudioSinkFlags;
+
GstAudioSink
@@ -1822,7 +2181,7 @@ struct GstAudioSink {
GstPad *sinkpad;
- GstClockTime clocktime;
+ //GstClockTime clocktime;
GstClock *clock;
/* soundcard state */
int fd;
@@ -1830,6 +2189,16 @@ struct GstAudioSink {
gint format;
gint channels;
gint frequency;
+ gboolean mute;
+};
+
+
+GstAudioSinkClass
+struct GstAudioSinkClass {
+ GstSinkClass parent_class;
+
+ /* signals */
+ void (*handoff) (GstElement *element,GstPad *pad);
};
@@ -1837,6 +2206,11 @@ struct GstAudioSink {
GtkType
void
+
+gst_audiosink_factory_init
+gboolean
+GstElementFactory *factory
+
GST_TYPE_AUDIOSRC
#define GST_TYPE_AUDIOSRC \
@@ -1862,6 +2236,12 @@ void
#define GST_IS_AUDIOSRC_CLASS(obj) \
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSRC)))
+
+GstAudioSrcFlags
+typedef enum {
+ GST_AUDIOSRC_OPEN = (1 < 16),
+} GstAudioSrcFlags;
+
GstAudioSrc
@@ -1893,11 +2273,21 @@ struct GstAudioSrc {
MetaAudioRaw *meta;
};
+
+GstAudioSrcClass
+struct GstAudioSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_audiosrc_get_type
GtkType
void
+
+gst_disksrc_details
+extern GstElementDetails gst_disksrc_details;
+
GST_TYPE_DISKSRC
#define GST_TYPE_DISKSRC \
@@ -1921,7 +2311,7 @@ void
GST_IS_DISKSRC_CLASS
#define GST_IS_DISKSRC_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC))
GstDiskSrcFlags
@@ -1942,15 +2332,22 @@ struct GstDiskSrc {
/* pads */
GstPad *srcpad;
- /* filename */
+ /* file state */
gchar *filename;
- /* fd */
gint fd;
gulong curoffset; /* current offset in file */
gulong bytes_per_read; /* bytes per read */
+ gboolean new_seek;
gulong seq; /* buffer sequence number */
+ gulong size;
+};
+
+
+GstDiskSrcClass
+struct GstDiskSrcClass {
+ GstSrcClass parent_class;
};
@@ -2004,6 +2401,15 @@ struct GstEsdSink {
gint frequency;
};
+
+GstEsdSinkClass
+struct GstEsdSinkClass {
+ GstFilterClass parent_class;
+
+ /* signals */
+ void (*handoff) (GstElement *element,GstPad *pad);
+};
+
gst_esdsink_get_type
GtkType
@@ -2048,6 +2454,12 @@ struct GstFakeSink {
GstPad *sinkpad;
};
+
+GstFakeSinkClass
+struct GstFakeSinkClass {
+ GstSinkClass parent_class;
+};
+
gst_fakesink_get_type
GtkType
@@ -2092,6 +2504,12 @@ struct GstFakeSrc {
GstPad *srcpad;
};
+
+GstFakeSrcClass
+struct GstFakeSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_fakesrc_get_type
GtkType
@@ -2138,6 +2556,12 @@ struct GstFdSink {
int fd;
};
+
+GstFdSinkClass
+struct GstFdSinkClass {
+ GstSinkClass parent_class;
+};
+
gst_fdsink_get_type
GtkType
@@ -2190,6 +2614,12 @@ struct GstFdSrc {
gulong seq; /* buffer sequence number */
};
+
+GstFdSrcClass
+struct GstFdSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_fdsrc_get_type
GtkType
@@ -2220,6 +2650,12 @@ void
#define GST_IS_HTTPSRC_CLASS(obj) \
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC)))
+
+GstHttpSrcFlags
+typedef enum {
+ GST_HTTPSRC_OPEN = (1 << 16),
+} GstHttpSrcFlags;
+
GstHttpSrc
@@ -2241,6 +2677,12 @@ struct GstHttpSrc {
gulong bytes_per_read; /* bytes per read */
};
+
+GstHttpSrcClass
+struct GstHttpSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_httpsrc_get_type
GtkType
@@ -2288,6 +2730,12 @@ struct GstIdentity {
gint control;
};
+
+GstIdentityClass
+struct GstIdentityClass {
+ GstFilterClass parent_class;
+};
+
gst_identity_get_type
GtkType
@@ -2316,7 +2764,7 @@ void
GST_IS_QUEUE_CLASS
#define GST_IS_QUEUE_CLASS(obj) \
- (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE)))
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE))
GstQueue
@@ -2348,6 +2796,12 @@ struct GstQueue {
GCond *fullcond;
};
+
+GstQueueClass
+struct GstQueueClass {
+ GstConnectionClass parent_class;
+};
+
gst_queue_get_type
GtkType
@@ -2401,20 +2855,93 @@ struct GstSineSrc {
gint channels;
gint frequency;
- /* state */
- double mTheta;
-
gulong seq;
MetaAudioRaw meta;
gboolean sentmeta;
};
+
+GstSineSrcClass
+struct GstSineSrcClass {
+ GstSrcClass parent_class;
+};
+
gst_sinesrc_get_type
GtkType
void
+
+GST_TYPE_PIPEFILTER
+#define GST_TYPE_PIPEFILTER \
+ (gst_pipefilter_get_type())
+
+
+GST_PIPEFILTER
+#define GST_PIPEFILTER(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_PIPEFILTER,GstPipefilter))
+
+
+GST_PIPEFILTER_CLASS
+#define GST_PIPEFILTER_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPEFILTER,GstPipefilterClass))
+
+
+GST_IS_PIPEFILTER
+#define GST_IS_PIPEFILTER(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_PIPEFILTER))
+
+
+GST_IS_PIPEFILTER_CLASS
+#define GST_IS_PIPEFILTER_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPEFILTER))
+
+
+GstPipeFilterFlags
+typedef enum {
+ GST_PIPEFILTER_OPEN = (1 << 16 ),
+} GstPipeFilterFlags;
+
+
+GstPipefilter
+
+
+GstPipefilterClass
+
+
+GstPipefilter
+struct GstPipefilter {
+ GstFilter filter;
+
+ GstPad *sinkpad;
+ GstPad *srcpad;
+
+ /* command */
+ gchar **command;
+ gchar *orig_command;
+ /* fd */
+ gint fdout[2];
+ gint fdin[2];
+ pid_t childpid;
+
+ gulong curoffset; /* current offset in file */
+ gulong bytes_per_read; /* bytes per read */
+
+ gulong seq; /* buffer sequence number */
+};
+
+
+GstPipefilterClass
+struct GstPipefilterClass {
+ GstFilterClass parent_class;
+};
+
+
+gst_pipefilter_get_type
+GtkType
+void
+
MetaAudioRaw
@@ -2503,7 +3030,7 @@ struct MetaVideoRaw {
GstMeta meta;
/* formatting information */
- gint format;
+ GstColorSpaceType format;
GdkVisual *visual;
// dimensions of the video buffer
gint width;
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index ddc55c9558..beb04aa1a4 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -5,6 +5,7 @@
+
@@ -37,6 +38,7 @@
+
@@ -77,6 +79,7 @@ with some more specialized elements.
&GstType;
&GstMeta;
&GstUtils;
+ &GstCpu;
&GstTrace;
&GstXml;
@@ -127,6 +130,7 @@ with some more specialized elements.
&GstAudioSink;
&GstFdSink;
+ &GstPipefilter;
&GstIdentity;
&GstQueue;
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index f1965faf72..3b71aca9f0 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -22,6 +22,8 @@ cothread_main
gst
Gst
gst_init
+gst_main
+gst_main_quit
DEBUG
@@ -46,6 +48,9 @@ GST_BIN
GST_BIN_CLASS
GST_IS_BIN
GST_IS_BIN_CLASS
+gst_bin_details
+gst_bin_destroy
+gst_bin_use_cothreads
@@ -67,7 +72,9 @@ GST_BUFFER_UNLOCK
GstBufferFlags
GstBuffer
gst_buffer_new
+gst_buffer_new_from_pool
gst_buffer_create_sub
+gst_buffer_append
gst_buffer_ref
gst_buffer_ref_by_count
gst_buffer_unref
@@ -80,6 +87,20 @@ gst_buffer_remove_meta
GST_BUFFER
+
+gstbufferpool
+GST_BUFFER_POOL
+GstBufferPool
+GstBufferPoolCreateFunction
+GstBufferPoolDestroyFunction
+gst_buffer_pool_new
+gst_buffer_pool_new_buffer
+gst_buffer_pool_destroy_buffer
+gst_buffer_pool_set_create_function
+gst_buffer_pool_set_destroy_function
+gst_buffer_pool_destroy
+
+
gstconnection
GstConnection
@@ -100,10 +121,11 @@ GstConnectionClass
gstelement
GstElement
GstElementState
+GstElementStateReturn
GST_STATE
-GST_STATE_IS_SET
-GST_STATE_SET
-GST_STATE_UNSET
+GST_STATE_PENDING
+GstElementFlags
+GST_ELEMENT_IS_MULTI_IN
GstElement
GstElementDetails
GstElementFactory
@@ -121,15 +143,19 @@ gst_element_get_pad_list
gst_element_connect
gst_element_set_state
gst_element_error
-gst_element_change_state
+gst_element_get_factory
gst_element_destroy
gst_element_save_thyself
gst_elementfactory_new
gst_elementfactory_register
+gst_elementfactory_add_sink
+gst_elementfactory_add_src
gst_elementfactory_find
gst_elementfactory_get_list
gst_elementfactory_create
gst_elementfactory_make
+gst_elementfactory_save_thyself
+gst_elementfactory_load_thyself
gst_element_loopfunc_wrapper
GstElementClass
@@ -156,6 +182,21 @@ GST_IS_FILTER
GST_IS_FILTER_CLASS
+
+gstclock
+GstClockTime
+GstClockTimeDiff
+GST_CLOCK_DIFF
+GstClock
+gst_clock_new
+gst_clock_get_system
+gst_clock_register
+gst_clock_set
+gst_clock_reset
+gst_clock_wait
+gst_clock_current_diff
+
+
gstlog
GST_SHOW_INFO
@@ -217,6 +258,7 @@ GstPad
GstPadChainFunction
GstPadPullFunction
GstPadPushFunction
+GstPadQoSFunction
GstPadDirection
gst_pad_new
gst_pad_destroy
@@ -234,8 +276,11 @@ gst_pad_get_parent
gst_pad_get_ghost_parents
gst_pad_get_peer
gst_pad_connect
+gst_pad_disconnect
gst_pad_push
gst_pad_pull
+gst_pad_set_qos_function
+gst_pad_handle_qos
gst_pad_save_thyself
GstPadClass
@@ -252,6 +297,7 @@ gst_pad_get_type
GstPipeline
GstPipeline
gst_pipeline_new
+gst_pipeline_autoplug
gst_pipeline_destroy
gst_pipeline_iterate
@@ -262,6 +308,7 @@ GST_PIPELINE
GST_PIPELINE_CLASS
GST_IS_PIPELINE
GST_IS_PIPELINE_CLASS
+gst_pipeline_details
@@ -274,12 +321,17 @@ gst_plugin_new
gst_plugin_set_longname
gst_plugin_load_all
gst_plugin_load
+gst_plugin_add_type
gst_library_load
gst_plugin_load_absolute
gst_plugin_add_factory
gst_plugin_find
gst_plugin_get_list
gst_plugin_find_elementfactory
+gst_plugin_load_elementfactory
+gst_plugin_load_typefactory
+gst_plugin_load_thyself
+gst_plugin_save_thyself
@@ -353,6 +405,7 @@ GST_THREAD
GST_THREAD_CLASS
GST_IS_THREAD
GST_IS_THREAD_CLASS
+gst_thread_details
@@ -388,6 +441,12 @@ gst_type_get_srcs
gst_type_get_sinks
gst_type_find_by_id
gst_type_get_list
+gst_type_save_thyself
+gst_type_get_sink_to_src
+gst_type_dump
+gst_type_load_thyself
+gst_typefactory_load_thyself
+gst_typefactory_save_thyself
@@ -401,6 +460,7 @@ gst_util_get_double_arg
gst_util_get_string_arg
gst_util_get_pointer_arg
gst_util_get_widget_arg
+gst_util_dump_mem
@@ -410,6 +470,14 @@ gst_util_get_widget_arg
gst_xml_write
+
+gstcpu
+GstCpu
+GST_CPU_FLAG_MMX
+GST_CPU_FLAG_SSE
+gst_cpu_get_flags
+
+
gstasyncdisksrc
GstAsyncDiskSrc
@@ -431,12 +499,14 @@ GST_IS_ASYNCDISKSRC_CLASS
GstAudioSink
GstAudioSinkClass
+GstAudioSinkFlags
gst_audiosink_get_type
GST_TYPE_AUDIOSINK
GST_AUDIOSINK
GST_AUDIOSINK_CLASS
GST_IS_AUDIOSINK
GST_IS_AUDIOSINK_CLASS
+gst_audiosink_factory_init
@@ -445,6 +515,7 @@ GST_IS_AUDIOSINK_CLASS
GstAudioSrc
GstAudioSrcClass
+GstAudioSrcFlags
gst_audiosrc_get_type
GST_TYPE_AUDIOSRC
GST_AUDIOSRC
@@ -466,6 +537,7 @@ GST_DISKSRC
GST_DISKSRC_CLASS
GST_IS_DISKSRC
GST_IS_DISKSRC_CLASS
+gst_disksrc_details
@@ -543,6 +615,7 @@ GST_IS_FDSRC_CLASS
GstHttpSrc
GstHttpSrc
+GstHttpSrcFlags
gst_httpsrc_get_type
GstHttpSrcClass
GST_TYPE_HTTPSRC
@@ -594,6 +667,21 @@ GST_IS_SINESRC
GST_IS_SINESRC_CLASS
+
+gstpipefilter
+GstPipefilter
+
+GST_TYPE_PIPEFILTER
+GST_PIPEFILTER
+GST_PIPEFILTER_CLASS
+GST_IS_PIPEFILTER
+GST_IS_PIPEFILTER_CLASS
+GstPipeFilterFlags
+GstPipefilter
+GstPipefilterClass
+gst_pipefilter_get_type
+
+
audioraw
MetaAudioRaw
diff --git a/docs/gst/gstreamer.hierarchy b/docs/gst/gstreamer.hierarchy
index 9f67b2d2e1..3d635d39b2 100644
--- a/docs/gst/gstreamer.hierarchy
+++ b/docs/gst/gstreamer.hierarchy
@@ -9,6 +9,7 @@ GtkObject
GstThread
GstFilter
GstTee
+ GstPipefilter
GstIdentity
GstSink
GstFakeSink
diff --git a/docs/gst/gstreamer.types.in b/docs/gst/gstreamer.types.in
index bc65a1d699..b4f6218ff8 100644
--- a/docs/gst/gstreamer.types.in
+++ b/docs/gst/gstreamer.types.in
@@ -25,5 +25,6 @@ gst_sinesrc_get_type
gst_audiosink_get_type
gst_fdsink_get_type
+gst_pipefilter_get_type
gst_identity_get_type
gst_queue_get_type
diff --git a/docs/gst/tmpl/gst.sgml b/docs/gst/tmpl/gst.sgml
index a3b3089f0a..95c071c47e 100644
--- a/docs/gst/tmpl/gst.sgml
+++ b/docs/gst/tmpl/gst.sgml
@@ -39,6 +39,20 @@ pipeline and Microsoft's DirectShow for some background.
@argv:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Use this macro to show debugging info. This is only usefull when developing new
diff --git a/docs/gst/tmpl/gstaudiosink.sgml b/docs/gst/tmpl/gstaudiosink.sgml
index 8f40703c46..e96a50dcd3 100644
--- a/docs/gst/tmpl/gstaudiosink.sgml
+++ b/docs/gst/tmpl/gstaudiosink.sgml
@@ -22,3 +22,23 @@ The buffer is sent to the sound card.
@gstaudiosink: the object which received the signal.
@arg1: the audiosink.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstbuffer.sgml b/docs/gst/tmpl/gstbuffer.sgml
index 50edcf99a6..cc4dbdf356 100644
--- a/docs/gst/tmpl/gstbuffer.sgml
+++ b/docs/gst/tmpl/gstbuffer.sgml
@@ -56,7 +56,7 @@ clear a flag in a buffer
-
+Retrieves the type id of the data in the buffer.
@buf: GstBuffer
@@ -134,6 +134,37 @@ this macro releases a lock on the object.
+
+
+
+
+GST_BUFFER_READONLY
+the buffer is read only
+
+
+
+GST_BUFFER_EOS
+this buffer is the last one in the stream
+
+
+
+GST_BUFFER_ORIGINAL
+this buffer not a copy
+
+
+
+GST_BUFFER_DONTFREE
+do not try to free the data when this buffer is unref-ed
+
+
+
+GST_BUFFER_FLUSH
+this buffer is not related to previous buffers. This flag is mainly
+used when data in a stream has been skipped
+
+
+
+
@@ -151,6 +182,15 @@ this macro releases a lock on the object.
@Returns:
+
+
+
+
+
+@pool:
+@Returns:
+
+
@@ -162,6 +202,16 @@ this macro releases a lock on the object.
@Returns:
+
+
+
+
+
+@buffer:
+@append:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstbufferpool.sgml b/docs/gst/tmpl/gstbufferpool.sgml
new file mode 100644
index 0000000000..0b09f7638a
--- /dev/null
+++ b/docs/gst/tmpl/gstbufferpool.sgml
@@ -0,0 +1,104 @@
+
+gstbufferpool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@buf:
+
+
+
+
+
+
+
+
+
+
+
+
+
+@pool:
+@user_data:
+@Returns:
+
+
+
+
+
+
+
+@pool:
+@buffer:
+@user_data:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@pool:
+@Returns:
+
+
+
+
+
+
+
+@pool:
+@buffer:
+
+
+
+
+
+
+
+@pool:
+@create:
+@user_data:
+
+
+
+
+
+
+
+@pool:
+@destroy:
+@user_data:
+
+
+
+
+
+
+
+@pool:
+
+
diff --git a/docs/gst/tmpl/gstclock.sgml b/docs/gst/tmpl/gstclock.sgml
new file mode 100644
index 0000000000..37e640cd45
--- /dev/null
+++ b/docs/gst/tmpl/gstclock.sgml
@@ -0,0 +1,106 @@
+
+gstclock
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@s:
+@e:
+
+
+
+
+
+
+
+
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@Returns:
+
+
+
+
+
+
+
+@clock:
+@obj:
+
+
+
+
+
+
+
+@clock:
+@time:
+
+
+
+
+
+
+
+@clock:
+
+
+
+
+
+
+
+@clock:
+@time:
+@obj:
+
+
+
+
+
+
+
+@clock:
+@time:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstconnection.sgml b/docs/gst/tmpl/gstconnection.sgml
index b8470095f8..18684738ae 100644
--- a/docs/gst/tmpl/gstconnection.sgml
+++ b/docs/gst/tmpl/gstconnection.sgml
@@ -2,11 +2,12 @@
GstConnection
-Passes buffers between elements.
+Generic connection between elements.
-Passes buffers between elements.
+A connection is a bas class for a generic connection between
+elements. A connection is typically a bas class for queues.
diff --git a/docs/gst/tmpl/gstcpu.sgml b/docs/gst/tmpl/gstcpu.sgml
new file mode 100644
index 0000000000..f1c65a621b
--- /dev/null
+++ b/docs/gst/tmpl/gstcpu.sgml
@@ -0,0 +1,42 @@
+
+GstCpu
+
+
+
+Request the features of the CPU.
+
+
+
+This module can be used when developing plugins. It is
+typically used to enable special optimisations based on the
+features of the CPU.
+
+
+
+
+
+
+
+
+
+
+A flag indicating that MMX instructions are supported.
+
+
+
+
+
+
+A flag indicating that SSE instructions are supported.
+
+
+
+
+
+
+Request a set of bits specifiying the features of the CPU.
+
+
+@Returns: the features of the CPU
+
+
diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml
index 82f7512908..89d7e63eb9 100644
--- a/docs/gst/tmpl/gstdisksrc.sgml
+++ b/docs/gst/tmpl/gstdisksrc.sgml
@@ -46,3 +46,8 @@ Specify how many bytes to read at a time.
Get the current offset in the file.
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
index 105fa16107..00096e0073 100644
--- a/docs/gst/tmpl/gstelement.sgml
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -30,56 +30,75 @@ simpler to connect pads of two elements together.
-This enum defines the standard states an element may be in. GST_STATE_MAX
-is the highest bit that can be set, and is used internally.
+This enum defines the standard states an element may be in. You will normally
+use gst_element_set_state() to change the state of an element.
-GST_STATE_COMPLETE
-means all the necesary information is available to run, i.e. the
-filename for the disksrc, etc.
+GST_STATE_NONE_PENDING
+The element is in the desired state.
-GST_STATE_RUNNING
-means that it's actually doing something, but that's fuzzy.
+GST_STATE_NULL
+Reset the state of an element.
-GST_STATE_DISCOVERY
-is intended for the autoconnect case, in those instances where
-the only way to determine the input or output type of some pad is for an
-element to actually process some data. The idea in that case is that the
-source element would be responsible for sending the data non-destructively
-(in the case of a network client, it would have to save it all up, unless
-it has seek capabilities over the network), and all downstream elements
-process it in such a way as to not hose their own state. Or rather, when
-they cease to do discovery, they completely wipe their state as if nothing
-ever happened.
-
-
-
-GST_STATE_PREROLL
-is a local state, used for things like sending the first half of
-an MPEG GOP through the decoder in order to start playback at a frame
-somewhere in the middle of said GOP. Not sure how that will work,
-exactly.
+GST_STATE_READY
+will make the element ready to start processing data. some
+elements might have a non trivial way to initialize themselves.
+
GST_STATE_PLAYING
+means there really is data flowing through the graph.
+
+
+
+
+GST_STATE_PAUSED
means there really is data flowing
-through the graph, where GST_STATE_PAUSED temporary stops the flow. GST_STATE_PLAYING &&
-GST_STATE_PAUSED is the same idea as !GST_STATE_PLAYING, but there are probably going to be
-many cases where there really is a distinction.
+temporary stops the data flow.
+
+
+
+This enum defines the standard return values that an element
+can return after a state change.
+
+
+
+
+
+GST_STATE_FAILURE
+the element could not perform the state change
+
+
+
+GST_STATE_SUCCESS
+the element successfully changed its state
+
+
+
+GST_STATE_ASYNC
+the element will asynchronously change its state as soon as possible
+
+
+
+
+
+
+
+
This macro returns the entire state of the element.
@@ -88,31 +107,39 @@ This macro returns the entire state of the element.
@obj: Element to return state for.
-
+
-This macro checks to see if the given state is set.
+This macro returns the currently pending state of the element.
-@obj: Element to check for state.
-@flag: State to check for, must be a single bit in guint32.
+@obj: Element to return the pending state for.
-
+
-This macro sets the given state on the element.
+This enum defines the standard flags that an element
+may have.
+
+
+
+
+
+GST_ELEMENT_MULTI_IN
+the element has multiple input pads
+
+
+
+
-@obj: Element to set state of.
-@flag: State to set, can be any number of bits in guint32.
-
-
+
-This macro unsets the given state on the element.
+Query whether this object has multiple input pads.
+
-@obj: Element to unset state of.
-@flag: State to unset, can be any number of bits in guint32.
+@obj: Element to query for multiple input pads.
@@ -245,9 +272,6 @@ circumstances.
@srcpadname:
@dest:
@destpadname:
-
-@srcpad:
-@destpad:
@@ -269,13 +293,12 @@ circumstances.
@error:
-
+
@element:
-@state:
@Returns:
@@ -316,6 +339,24 @@ circumstances.
@elementfactory:
+
+
+
+
+
+@elementfactory:
+@id:
+
+
+
+
+
+
+
+@elementfactory:
+@id:
+
+
@@ -353,6 +394,25 @@ circumstances.
@Returns:
+
+
+
+
+
+@factory:
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@parent:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml
index 056647120c..843124012a 100644
--- a/docs/gst/tmpl/gstpad.sgml
+++ b/docs/gst/tmpl/gstpad.sgml
@@ -40,28 +40,37 @@ can this pad be used to pull a buffer
-
+The function that will be called when chaining buffers.
-@pad:
-@buf:
+@pad: the pad that performed the chain
+@buf: the buffer that is chained
-
+The function that will be called when pulling buffers.
-@pad:
-@Returns:
+@pad: the pad to pull
+The function that will be called when pulling buffers.
-@pad:
+@pad: the pad to push
+
+
+
+
+the function that will be called when a QoS message is sent.
+
+
+@pad: the pad that sent the QoS message
+@qos_message: the message
@@ -214,6 +223,15 @@ can this pad be used to pull a buffer
@sinkpad:
+
+
+
+
+
+@srcpad:
+@sinkpad:
+
+
@@ -232,6 +250,24 @@ can this pad be used to pull a buffer
@Returns:
+
+
+
+
+
+@pad:
+@qos:
+
+
+
+
+
+
+
+@pad:
+@qos_message:
+
+
diff --git a/docs/gst/tmpl/gstpipefilter.sgml b/docs/gst/tmpl/gstpipefilter.sgml
new file mode 100644
index 0000000000..55f1469e74
--- /dev/null
+++ b/docs/gst/tmpl/gstpipefilter.sgml
@@ -0,0 +1,22 @@
+
+GstPipefilter
+
+
+A wrapper around every stdin/stdout capable program
+
+
+
+A GstPipefilter pipes data to an external program and creates
+buffers from its output.
+
+
+
+
+
+
+
+
+
+Sets the command to be executed.
+
+
diff --git a/docs/gst/tmpl/gstpipeline.sgml b/docs/gst/tmpl/gstpipeline.sgml
index 7183e1b9f8..be25145b29 100644
--- a/docs/gst/tmpl/gstpipeline.sgml
+++ b/docs/gst/tmpl/gstpipeline.sgml
@@ -12,7 +12,9 @@ including threading, as well as provide simple interfaces to common
functions, like 'Play'.
-FIXME: this is entirely blue-sky
+the pipeline also has the capability to autoplug. This feature
+allows you to only define the input/output plugins and let the
+pipeline figure out what plugins to use.
@@ -34,6 +36,15 @@ functions, like 'Play'.
@Returns:
+
+
+
+
+
+@pipeline:
+@Returns:
+
+
destroys the pipeline
diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml
index da4741937a..acf6798acf 100644
--- a/docs/gst/tmpl/gstplugin.sgml
+++ b/docs/gst/tmpl/gstplugin.sgml
@@ -71,6 +71,15 @@ by the loader at statup.
@Returns:
+
+
+
+
+
+@plugin:
+@factory:
+
+
@@ -124,3 +133,37 @@ by the loader at statup.
@Returns:
+
+
+
+
+
+@name:
+@Returns:
+
+
+
+
+
+
+
+@mime:
+
+
+
+
+
+
+
+@parent:
+
+
+
+
+
+
+
+@parent:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml
index 3a53dc78ab..7639eba647 100644
--- a/docs/gst/tmpl/gstreamer-unused.sgml
+++ b/docs/gst/tmpl/gstreamer-unused.sgml
@@ -595,6 +595,14 @@ The frequency.
@obj:
+
+
+This macro unsets the given state on the element.
+
+
+@obj: Element to unset state of.
+@flag: State to unset, can be any number of bits in guint32.
+
@@ -713,6 +721,14 @@ The frequency.
+
+
+This macro sets the given state on the element.
+
+
+@obj: Element to set state of.
+@flag: State to set, can be any number of bits in guint32.
+
@@ -955,6 +971,14 @@ plugin
@obj:
+
+
+This macro checks to see if the given state is set.
+
+
+@obj: Element to check for state.
+@flag: State to check for, must be a single bit in guint32.
+
@@ -1070,6 +1094,15 @@ plugin
@Returns:
+
+
+
+
+
+@element:
+@state:
+@Returns:
+
diff --git a/docs/gst/tmpl/gstsrc.sgml b/docs/gst/tmpl/gstsrc.sgml
index 62ec4c410f..7cd79db422 100644
--- a/docs/gst/tmpl/gstsrc.sgml
+++ b/docs/gst/tmpl/gstsrc.sgml
@@ -109,5 +109,6 @@ the stream.
@gstsrc: the object which received the signal.
+
@arg1: the object which received the signal
diff --git a/docs/gst/tmpl/gsttype.sgml b/docs/gst/tmpl/gsttype.sgml
index 3be88ba077..6e4c742861 100644
--- a/docs/gst/tmpl/gsttype.sgml
+++ b/docs/gst/tmpl/gsttype.sgml
@@ -58,8 +58,10 @@ valid mp3 decoder, and thus the whole point of the type system.
@buf:
-@private:
+@priv:
@Returns:
+
+@private:
@@ -154,3 +156,58 @@ valid mp3 decoder, and thus the whole point of the type system.
@Returns:
+
+
+
+
+
+@type:
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@sinkid:
+@srcid:
+@Returns:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@parent:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml
index 88ad44354b..524384a302 100644
--- a/docs/gst/tmpl/gstutils.sgml
+++ b/docs/gst/tmpl/gstutils.sgml
@@ -84,3 +84,12 @@ Utility functions
@Returns:
+
+
+
+
+
+@mem:
+@size:
+
+
diff --git a/docs/manual/gstreamer-manual.sgml b/docs/manual/gstreamer-manual.sgml
index ac94d65c2e..b043418bac 100644
--- a/docs/manual/gstreamer-manual.sgml
+++ b/docs/manual/gstreamer-manual.sgml
@@ -24,6 +24,7 @@
+
]>
@@ -196,6 +197,8 @@
&PROGRAMS;
+ &COMPONENTS;
+