diff --git a/docs/gst/Makefile.am b/docs/gst/Makefile.am
index 8b09acd813..60131b227d 100644
--- a/docs/gst/Makefile.am
+++ b/docs/gst/Makefile.am
@@ -102,7 +102,7 @@ tmpl: scanobj scan
sgml: tmpl
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
-html:
+html: sgml
if ! test -d html ; then mkdir html ; fi
-cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
diff --git a/docs/gst/gstreamer-decl.txt b/docs/gst/gstreamer-decl.txt
index ed9e8a2517..0cc02dcd01 100644
--- a/docs/gst/gstreamer-decl.txt
+++ b/docs/gst/gstreamer-decl.txt
@@ -139,6 +139,19 @@ extern GstElementDetails gst_bin_details;
#define GST_IS_BIN_CLASS(obj) \
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN))
+
+GstBinFlags
+typedef enum {
+ /* this bin is a manager of child elements, i.e. a pipeline or thread */
+ GST_BIN_FLAG_MANAGER = GST_ELEMENT_FLAG_LAST,
+
+ /* we prefer to have cothreads when its an option, over chain-based */
+ GST_BIN_FLAG_PREFER_COTHREADS,
+
+ /* padding */
+ GST_BIN_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 4,
+} GstBinFlags;
+
GstBin
@@ -146,24 +159,42 @@ extern GstElementDetails gst_bin_details;
GstBinClass
+_GstBinChain
+
+
GstBin
struct GstBin {
GstElement element;
- // our children
+ /* our children */
gint numchildren;
GList *children;
- // iteration state
+ /* iteration state */
gboolean need_cothreads;
+ GList *managed_elements;
+ gint num_managed_elements;
+
+ GList *chains;
+ gint num_chains;
GList *entries;
- gint numentries;
+ gint num_entries;
cothread_context *threadcontext;
gboolean use_cothreads;
- GList *outside_schedules;
};
+
+_GstBinChain
+struct _GstBinChain {
+ GList *elements;
+ gint num_elements;
+
+ GList *entries;
+
+ gboolean need_cothreads;
+};
+
gst_bin_get_type
GtkType
@@ -181,17 +212,17 @@ gchar *name
gst_bin_add
void
-GstBin *bin, GstElement *element
+GstBin *bin,GstElement *element
gst_bin_remove
void
-GstBin *bin, GstElement *element
+GstBin *bin,GstElement *element
gst_bin_get_by_name
GstElement *
-GstBin *bin, gchar *name
+GstBin *bin,gchar *name
gst_bin_get_list
@@ -204,6 +235,11 @@ GstBin *bin
GstBin *bin
+gst_bin_schedule
+void
+GstBin *bin
+
+
gst_bin_set_state_type
gboolean
GstBin *bin,GstElementState state,GtkType type
@@ -216,7 +252,7 @@ GstBin *bin
gst_bin_use_cothreads
void
-GstBin *bin, gboolean enabled
+GstBin *bin,gboolean enabled
GST_BUFFER
@@ -282,11 +318,11 @@ GstBin *bin, gboolean enabled
GstBufferFlags
typedef enum {
- GST_BUFFER_READONLY = (1 << 0),
- GST_BUFFER_EOS = (1 << 1),
- GST_BUFFER_ORIGINAL = (1 << 2),
- GST_BUFFER_DONTFREE = (1 << 3),
- GST_BUFFER_FLUSH = (1 << 4),
+ GST_BUFFER_READONLY,
+ GST_BUFFER_ORIGINAL,
+ GST_BUFFER_DONTFREE,
+ GST_BUFFER_FLUSH,
+ GST_BUFFER_EOS,
} GstBufferFlags;
@@ -531,6 +567,34 @@ typedef enum {
#define GST_STATE_PENDING(obj) (GST_ELEMENT(obj)->pending_state)
+GST_STATE_TRANSITION
+#define GST_STATE_TRANSITION(obj) ((GST_STATE(obj)<<4) | GST_STATE_PENDING(obj))
+
+
+GST_STATE_NULL_TO_READY
+#define GST_STATE_NULL_TO_READY ((GST_STATE_NULL<<4) | GST_STATE_READY)
+
+
+GST_STATE_READY_TO_PLAYING
+#define GST_STATE_READY_TO_PLAYING ((GST_STATE_READY<<4) | GST_STATE_PLAYING)
+
+
+GST_STATE_PLAYING_TO_PAUSED
+#define GST_STATE_PLAYING_TO_PAUSED ((GST_STATE_PLAYING<<4) | GST_STATE_PAUSED)
+
+
+GST_STATE_PAUSED_TO_PLAYING
+#define GST_STATE_PAUSED_TO_PLAYING ((GST_STATE_PAUSED<<4) | GST_STATE_PLAYING)
+
+
+GST_STATE_PLAYING_TO_READY
+#define GST_STATE_PLAYING_TO_READY ((GST_STATE_PLAYING<<4) | GST_STATE_READY)
+
+
+GST_STATE_READY_TO_NULL
+#define GST_STATE_READY_TO_NULL ((GST_STATE_READY<<4) | GST_STATE_NULL)
+
+
GST_TYPE_ELEMENT
#define GST_TYPE_ELEMENT \
(gst_element_get_type())
@@ -558,19 +622,28 @@ typedef enum {
GstElementFlags
typedef enum {
- GST_ELEMENT_MULTI_IN = (1 << 4),
- GST_ELEMENT_THREAD_SUGGESTED = (1 << 5),
- GST_ELEMENT_NO_SEEK = (1 << 6),
+ /* element is complex (for some def.) and generally require a cothread */
+ GST_ELEMENT_COMPLEX = GST_OBJECT_FLAG_LAST,
+ /* input and output pads aren't directly coupled to each other
+ examples: queues, multi-output async readers, etc. */
+ GST_ELEMENT_DECOUPLED,
+ /* this element should be placed in a thread if at all possible */
+ GST_ELEMENT_THREAD_SUGGESTED,
+ /* this element is incable of seeking (FIXME: does this apply to filters?) */
+ GST_ELEMENT_NO_SEEK,
- GST_ELEMENT_NEW_LOOPFUNC = (1 << 16),
- GST_ELEMENT_COTHREAD_STOPPING = (1 << 17),
+ /* there is a new loopfunction ready for placement */
+ GST_ELEMENT_NEW_LOOPFUNC,
+ /* the cothread holding this element needs to be stopped */
+ GST_ELEMENT_COTHREAD_STOPPING,
+ /* the element has to be scheduled as a cothread for any sanity */
+ GST_ELEMENT_USE_COTHREAD,
+
+ /* use some padding for future expansion */
+ GST_ELEMENT_FLAG_LAST = GST_OBJECT_FLAG_LAST + 8,
} GstElementFlags;
-GST_ELEMENT_IS_MULTI_IN
-#define GST_ELEMENT_IS_MULTI_IN(obj) (GST_FLAG_IS_SET(obj,GST_ELEMENT_MULTI_IN))
-
-
GST_ELEMENT_IS_THREAD_SUGGESTED
#define GST_ELEMENT_IS_THREAD_SUGGESTED(obj) (GST_FLAG_IS_SET(obj,GST_ELEMENT_THREAD_SUGGESTED))
@@ -609,6 +682,8 @@ struct GstElement {
cothread_state *threadstate;
guint16 numpads;
+ guint16 numsrcpads;
+ guint16 numsinkpads;
GList *pads;
GstElement *manager;
@@ -633,7 +708,7 @@ struct GstElementFactory {
GstElementDetails *details; /* pointer to details struct */
- GList *padfactories;
+ GList *padtemplates;
};
@@ -691,6 +766,11 @@ GstElement *element, gchar *name
GstElement *element
+gst_element_get_padtemplate_list
+GList *
+GstElement *element
+
+
gst_element_add_ghost_pad
void
GstElement *element, GstPad *pad
@@ -716,11 +796,6 @@ GstElement *element, gchar *error
GstElement *element
-gst_element_loopfunc_wrapper
-int
-int argc,char **argv
-
-
gst_element_save_thyself
xmlNodePtr
GstElement *element, xmlNodePtr parent
@@ -736,19 +811,14 @@ xmlNodePtr parent, GHashTable *elements
gchar *name,GtkType type,GstElementDetails *details
-gst_elementfactory_register
+gst_elementfactory_destroy
void
GstElementFactory *elementfactory
-gst_elementfactory_unregister
+gst_elementfactory_add_padtemplate
void
-GstElementFactory *elementfactory
-
-
-gst_elementfactory_add_pad
-void
-GstElementFactory *elementfactory,GstPadFactory *pad
+GstElementFactory *elementfactory,GstPadTemplate *temp
gst_elementfactory_find
@@ -761,6 +831,16 @@ gchar *name
void
+gst_elementfactory_can_src_caps
+gboolean
+GstElementFactory *factory,GstCaps *caps
+
+
+gst_elementfactory_can_sink_caps
+gboolean
+GstElementFactory *factory,GstCaps *caps
+
+
gst_elementfactory_create
GstElement *
GstElementFactory *factory,gchar *name
@@ -811,6 +891,10 @@ xmlNodePtr parent
GstFilterClass
+
+GST_FILTER_FLAG_LAST
+#define GST_FILTER_FLAG_LAST GST_ELEMENT_FLAG_LAST
+
GstFilter
struct GstFilter {
@@ -942,6 +1026,10 @@ GstMeta *meta
GstObjectClass
+
+GST_OBJECT_FLAG_LAST
+#define GST_OBJECT_FLAG_LAST 4
+
GstObject
struct GstObject {
@@ -967,15 +1055,15 @@ struct GstObject {
GST_FLAG_IS_SET
-#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (flag))
+#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (1<<(flag)))
GST_FLAG_SET
-#define GST_FLAG_SET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) |= (flag)); }G_STMT_END
+#define GST_FLAG_SET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) |= (1<<(flag))); }G_STMT_END
GST_FLAG_UNSET
-#define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(flag)); }G_STMT_END
+#define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(1<<(flag))); }G_STMT_END
GST_LOCK
@@ -1064,31 +1152,47 @@ GstObject *object
GstPadClass
+
+GstPadTemplate
+
+
+GstPadTemplateClass
+
GstPadChainFunction
void
GstPad *pad,GstBuffer *buf
-GstPadPullFunction
-void
+GstPadGetFunction
+GstBuffer *
GstPad *pad
-GstPadPullRegionFunction
-void
+GstPadGetRegionFunction
+GstBuffer *
GstPad *pad, gulong offset, gulong size
-GstPadPushFunction
-void
-GstPad *pad
-
-
GstPadQoSFunction
void
GstPad *pad, glong qos_message
+
+GstPadPushFunction
+void
+GstPad *pad, GstBuffer *buf
+
+
+GstPadPullFunction
+GstBuffer *
+GstPad *pad
+
+
+GstPadPullRegionFunction
+GstBuffer *
+GstPad *pad, gulong offset, gulong size
+
GstPadDirection
typedef enum {
@@ -1100,7 +1204,10 @@ typedef enum {
GstPadFlags
typedef enum {
- GST_PAD_DISABLED = (1 << 4),
+ GST_PAD_DISABLED = GST_OBJECT_FLAG_LAST,
+ GST_PAD_EOS,
+
+ GST_PAD_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4,
} GstPadFlags;
@@ -1120,15 +1227,40 @@ struct GstPad {
GstBuffer *bufpen;
GstPadChainFunction chainfunc;
+ GstPadGetFunction getfunc;
+ GstPadGetRegionFunction getregionfunc;
+ GstPadQoSFunction qosfunc;
+
GstPadPushFunction pushfunc;
GstPadPullFunction pullfunc;
GstPadPullRegionFunction pullregionfunc;
- GstPadQoSFunction qosfunc;
GstObject *parent;
GList *ghostparents;
+
+ GstPadTemplate *padtemplate; /* the template for this pad */
};
+
+GST_TYPE_PADTEMPLATE
+#define GST_TYPE_PADTEMPLATE (gst_padtemplate_get_type ())
+
+
+GST_PADTEMPLATE
+#define GST_PADTEMPLATE(obj) (GTK_CHECK_CAST ((obj), GST_TYPE_PADTEMPLATE,GstPad))
+
+
+GST_PADTEMPLATE_CLASS
+#define GST_PADTEMPLATE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GST_TYPE_PADTEMPLATE,GstPadClass))
+
+
+GST_IS_PADTEMPLATE
+#define GST_IS_PADTEMPLATE(obj) (GTK_CHECK_TYPE ((obj), GST_TYPE_PADTEMPLATE))
+
+
+GST_IS_PADTEMPLATE_CLASS
+#define GST_IS_PADTEMPLATE_CLASS(obj) (GTK_CHECK_CLASS_TYPE ((klass), GST_TYPE_PADTEMPLATE))
+
GstPadPresence
typedef enum {
@@ -1137,18 +1269,40 @@ typedef enum {
} GstPadPresence;
-GstPadFactory
-
-
-GstPadFactory
-struct GstPadFactory {
- gchar *nametemplate;
- GstCapsFactory *caps;
+GstPadTemplate
+struct GstPadTemplate {
+ GstObject object;
+
+ gchar *name_template;
GstPadDirection direction;
GstPadPresence presence;
- gpointer priv;
+ GstCaps *caps;
};
+
+GstPadFactoryEntry
+typedef gpointer GstPadFactoryEntry;
+
+
+GstPadFactory[]
+typedef GstPadFactoryEntry GstPadFactory[];
+
+
+GST_PAD_FACTORY_ALWAYS
+#define GST_PAD_FACTORY_ALWAYS GINT_TO_POINTER(GST_PAD_ALWAYS)
+
+
+GST_PAD_FACTORY_SOMETIMES
+#define GST_PAD_FACTORY_SOMETIMES GINT_TO_POINTER(GST_PAD_SOMETIMES)
+
+
+GST_PAD_FACTORY_SRC
+#define GST_PAD_FACTORY_SRC GINT_TO_POINTER(GST_PAD_SRC)
+
+
+GST_PAD_FACTORY_SINK
+#define GST_PAD_FACTORY_SINK GINT_TO_POINTER(GST_PAD_SINK)
+
gst_pad_get_type
GtkType
@@ -1164,6 +1318,11 @@ gchar *name, GstPadDirection direction
#define gst_pad_destroy(pad) gst_object_destroy (GST_OBJECT (pad))
+gst_pad_new_from_template
+GstPad *
+GstPadTemplate *temp, gchar *name
+
+
gst_pad_get_direction
GstPadDirection
GstPad *pad
@@ -1174,14 +1333,14 @@ GstPad *pad
GstPad *pad, GstPadChainFunction chain
-gst_pad_set_pull_function
+gst_pad_set_get_function
void
-GstPad *pad, GstPadPullFunction pull
+GstPad *pad, GstPadGetFunction get
-gst_pad_set_pullregion_function
+gst_pad_set_getregion_function
void
-GstPad *pad, GstPadPullRegionFunction pullregion
+GstPad *pad, GstPadGetRegionFunction getregion
gst_pad_set_qos_function
@@ -1253,6 +1412,12 @@ GstPad *srcpad, GstPad *sinkpad
void
GstPad *pad, GstBuffer *buffer
+
+gst_pad_push
+#define gst_pad_push(pad,buf) G_STMT_START{ \
+ if ((pad)->peer->pushfunc) ((pad)->peer->pushfunc)((pad)->peer,(buf)); \
+}G_STMT_END
+
gst_pad_pull
GstBuffer *
@@ -1263,6 +1428,16 @@ GstPad *pad
GstBuffer *
GstPad *pad, gulong offset, gulong size
+
+gst_pad_pull
+#define gst_pad_pull(pad) \
+ (((pad)->peer->pullfunc) ? ((pad)->peer->pullfunc)((pad)->peer) : NULL)
+
+
+gst_pad_pullregion
+#define gst_pad_pullregion(pad,offset,size) \
+ (((pad)->peer->pullregionfunc) ? ((pad)->peer->pullregionfunc)((pad)->peer,(offset),(size)) : NULL)
+
gst_pad_handle_qos
void
@@ -1279,23 +1454,28 @@ GstPad *pad, xmlNodePtr parent
xmlNodePtr parent, GstObject *element, GHashTable *elements
-gst_padfactory_create
-GstPad *
-GstPadFactory *factory, gchar *name
+gst_padtemplate_get_type
+GtkType
+void
-gst_padfactory_get_caps
-GstCaps *
+gst_padtemplate_new
+GstPadTemplate *
GstPadFactory *factory
-gst_padfactory_save_thyself
-xmlNodePtr
-GstPadFactory *pad, xmlNodePtr parent
+gst_padtemplate_create
+GstPadTemplate *
+gchar *name_template,GstPadDirection direction, GstPadPresence presence,GstCaps *caps
-gst_padfactory_load_thyself
-GstPadFactory *
+gst_padtemplate_save_thyself
+xmlNodePtr
+GstPadTemplate *pad, xmlNodePtr parent
+
+
+gst_padtemplate_load_thyself
+GstPadTemplate *
xmlNodePtr parent
@@ -1338,8 +1518,8 @@ extern GstElementDetails gst_pipeline_details;
struct GstPipeline {
GstBin bin;
- GstElement *src; // we only allow one src element
- GList *sinks; // and multiple sinks
+ GstElement *src; /* we only allow one src element */
+ GList *sinks; /* and multiple sinks */
};
@@ -1506,6 +1686,10 @@ xmlNodePtr parent
GstSinkClass
+
+GST_SINK_FLAG_LAST
+#define GST_SINK_FLAG_LAST GST_ELEMENT_FLAG_LAST
+
GstSink
struct GstSink {
@@ -1550,42 +1734,27 @@ gchar *name
GstSrcFlags
typedef enum {
- GST_SRC_ASYNC = (1 << 0),
+ GST_SRC_ASYNC = GST_ELEMENT_FLAG_LAST,
+
+ GST_SRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST +2,
} 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
+
+GST_SRC_IS_ASYNC
+#define GST_SRC_IS_ASYNC(obj) (GST_FLAG_IS_SET(obj,GST_SRC_ASYNC))
+
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
@@ -1665,9 +1834,12 @@ extern GstElementDetails gst_thread_details;
GstThreadState
typedef enum {
- GST_THREAD_CREATE = (1 << 16),
- GST_THREAD_STATE_SPINNING = (1 << 17),
- GST_THREAD_STATE_REAPING = (1 << 18),
+ GST_THREAD_CREATE = GST_BIN_FLAG_LAST,
+ GST_THREAD_STATE_SPINNING,
+ GST_THREAD_STATE_REAPING,
+
+ /* padding */
+ GST_THREAD_FLAG_LAST = GST_BIN_FLAG_LAST + 4,
} GstThreadState;
@@ -1803,7 +1975,7 @@ guint64 *dst
GstTypeFindFunc
-gboolean
+GstCaps *
GstBuffer *buf,gpointer priv
@@ -1822,12 +1994,6 @@ struct GstType {
GSList *typefindfuncs; /* typefind functions */
- 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 */
};
@@ -1854,46 +2020,16 @@ gchar *mime
gchar *ext
-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_sink_to_src
-GList *
-guint16 sinkid, guint16 srcid
-
-
gst_type_get_list
GList *
void
-gst_type_dump
-void
-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
@@ -1909,6 +2045,11 @@ xmlNodePtr parent
GtkObject *object, guchar *argname
+gst_util_get_bool_arg
+gboolean
+GtkObject *object, guchar *argname
+
+
gst_util_get_long_arg
glong
GtkObject *object, guchar *argname
@@ -1980,6 +2121,7 @@ struct GstXML {
GtkObject object;
GHashTable *elements;
+ GList *topelements;
};
@@ -2002,6 +2144,11 @@ const guchar *fname, const guchar *root
GstElement *
GstXML *xml, const guchar *name
+
+gst_xml_get_topelements
+GList *
+GstXML *xml
+
GstCaps
@@ -2013,17 +2160,6 @@ typedef gpointer GstCapsFactoryEntry;
GstCapsFactory[]
typedef GstCapsFactoryEntry GstCapsFactory[];
-
-GstCapsListFactory[]
-typedef GstCapsFactory *GstCapsListFactory[];
-
-
-GstCapsDefinition
-typedef enum {
- GST_CAPS_ALWAYS = 1,
- GST_CAPS_MAYBE = 2,
-} GstCapsDefinition;
-
GstCaps
struct GstCaps {
@@ -2033,14 +2169,34 @@ struct GstCaps {
};
+gst_caps_new
+GstCaps *
+gchar *mime
+
+
+gst_caps_new_with_props
+GstCaps *
+gchar *mime, GstProps *props
+
+
gst_caps_register
GstCaps *
GstCapsFactory *factory
+gst_caps_set_props
+GstCaps *
+GstCaps *caps, GstProps *props
+
+
+gst_caps_get_props
+GstProps *
+GstCaps *caps
+
+
gst_caps_check_compatibility
gboolean
-GstCaps *caps1, GstCaps *caps2
+GstCaps *fromcaps, GstCaps *tocaps
gst_caps_save_thyself
@@ -2195,6 +2351,10 @@ void
fprintf(stderr,GST_DEBUG_PREFIX(": "format , ## args ))
+DEBUG_NOPREFIX
+#define DEBUG_NOPREFIX(format,args...) fprintf(stderr,format , ## args )
+
+
DEBUG_ENTER
#define DEBUG_ENTER(format, args...) \
fprintf(stderr,GST_DEBUG_PREFIX(format": entering\n" , ## args ))
@@ -2223,6 +2383,10 @@ void
#define DEBUG(format, args...)
+DEBUG_NOPREFIX
+#define DEBUG_NOPREFIX(format, args...)
+
+
DEBUG_ENTER
#define DEBUG_ENTER(format, args...)
@@ -2243,6 +2407,22 @@ void
#define GST_DEBUG_PAD_NAME(pad) \
((pad)->parent != NULL) ? gst_element_get_name(GST_ELEMENT((pad)->parent)) : "''", gst_pad_get_name(pad)
+
+GST_DEBUG_FUNCPTR
+#define GST_DEBUG_FUNCPTR(ptr) _gst_debug_register_funcptr((void *)(ptr), #ptr)
+
+
+GST_DEBUG_FUNCPTR_NAME
+#define GST_DEBUG_FUNCPTR_NAME(ptr) _gst_debug_nameof_funcptr((void *)ptr)
+
+
+GST_DEBUG_FUNCPTR
+#define GST_DEBUG_FUNCPTR(ptr) (ptr)
+
+
+GST_DEBUG_FUNCPTR_NAME
+#define GST_DEBUG_FUNCPTR_NAME(ptr) ""
+
GstProps
@@ -2316,7 +2496,7 @@ typedef enum {
GstProps
struct GstProps {
- GSList *properties; /* properties for this capability */
+ GSList *properties; /* real properties for this property */
};
@@ -2325,9 +2505,19 @@ struct GstProps {
GstPropsFactory factory
+gst_props_new
+GstProps *
+GstPropsFactoryEntry entry, ...
+
+
+gst_props_merge
+GstProps *
+GstProps *props, GstProps *tomerge
+
+
gst_props_check_compatibility
gboolean
-GstProps *props1, GstProps *props2
+GstProps *fromprops, GstProps *toprops
gst_props_save_thyself
@@ -2366,6 +2556,72 @@ struct GstPropsEntry {
};
+GST_TYPE_AUTOPLUG
+#define GST_TYPE_AUTOPLUG \
+ (gst_object_get_type())
+
+
+GST_AUTOPLUG
+#define GST_AUTOPLUG(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_AUTOPLUG,GstAutoplug))
+
+
+GST_AUTOPLUG_CLASS
+#define GST_AUTOPLUG_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUG,GstAutoplugClass))
+
+
+GST_IS_AUTOPLUG
+#define GST_IS_AUTOPLUG(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_AUTOPLUG))
+
+
+GST_IS_AUTOPLUG_CLASS
+#define GST_IS_AUTOPLUG_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUG))
+
+
+GstAutoplug
+
+
+GstAutoplugClass
+
+
+GST_AUTOPLUG_MAX_COST
+#define GST_AUTOPLUG_MAX_COST 999999
+
+
+GstAutoplugCostFunction
+guint
+gpointer src, gpointer dest, gpointer data
+
+
+GstAutoplugListFunction
+GList *
+gpointer data
+
+
+GstAutoplug
+struct GstAutoplug {
+ GtkObject object;
+};
+
+
+gst_autoplug_get_type
+GtkType
+void
+
+
+gst_autoplug_caps
+GList *
+GstCaps *srccaps, GstCaps *sinkcaps
+
+
+gst_bin_schedule_func
+void
+GstBin *bin
+
+
GST_TYPE_ASYNCDISKSRC
#define GST_TYPE_ASYNCDISKSRC \
(gst_asyncdisksrc_get_type())
@@ -2393,7 +2649,9 @@ struct GstPropsEntry {
GstAsyncDiskSrcFlags
typedef enum {
- GST_ASYNCDISKSRC_OPEN = (1 << 16),
+ GST_ASYNCDISKSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_ASYNCDISKSRC_FLAG_LAST = GST_SRC_FLAG_LAST + 2,
} GstAsyncDiskSrcFlags;
@@ -2459,7 +2717,9 @@ void
GstAudioSinkFlags
typedef enum {
- GST_AUDIOSINK_OPEN = (1 << 16),
+ GST_AUDIOSINK_OPEN = GST_SINK_FLAG_LAST,
+
+ GST_AUDIOSINK_FLAG_LAST = GST_SINK_FLAG_LAST+2,
} GstAudioSinkFlags;
@@ -2524,7 +2784,9 @@ GstElementFactory *factory
GstAudioSrcFlags
typedef enum {
- GST_AUDIOSRC_OPEN = (1 < 16),
+ GST_AUDIOSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_AUDIOSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstAudioSrcFlags;
@@ -2595,7 +2857,9 @@ extern GstElementDetails gst_disksrc_details;
GstDiskSrcFlags
typedef enum {
- GST_DISKSRC_OPEN = (1 << 16),
+ GST_DISKSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_DISKSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstDiskSrcFlags;
@@ -2723,6 +2987,19 @@ struct GstFakeSink {
GtkType
void
+
+GstFakeSrcOutputType
+typedef enum {
+ FAKESRC_FIRST_LAST_LOOP = 1,
+ FAKESRC_LAST_FIRST_LOOP,
+ FAKESRC_PING_PONG,
+ FAKESRC_ORDERED_RANDOM,
+ FAKESRC_RANDOM,
+ FAKESRC_PATERN_LOOP,
+ FAKESRC_PING_PONG_PATERN,
+ FAKESRC_GET_ALWAYS_SUCEEDS,
+} GstFakeSrcOutputType;
+
GST_TYPE_FAKESRC
#define GST_TYPE_FAKESRC \
@@ -2759,7 +3036,12 @@ void
struct GstFakeSrc {
GstSrc src;
- GstPad *srcpad;
+ gboolean loop_based;
+ gint numsrcpads;
+ GSList *srcpads;
+ GstFakeSrcOutputType output;
+ gchar *patern;
+ GList *paternlist;
};
@@ -2893,7 +3175,9 @@ void
GstHttpSrcFlags
typedef enum {
- GST_HTTPSRC_OPEN = (1 << 16),
+ GST_HTTPSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_HTTPSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstHttpSrcFlags;
@@ -2961,7 +3245,7 @@ struct GstIdentity {
GstPad *sinkpad;
GstPad *srcpad;
- gint control;
+ gboolean loop_based;
};
@@ -3013,6 +3297,7 @@ struct GstQueue {
gint level_buffers; /* number of buffers queued here */
gint max_buffers; /* maximum number of buffers queued here */
+ gboolean block; /* if set to FALSE, _get returns NULL if queue empty */
gint level_bytes; /* number of bytes queued here */
gint size_buffers; /* size of queue in buffers */
gint size_bytes; /* size of queue in bytes */
@@ -3125,7 +3410,7 @@ struct GstTypeFind {
GstPad *sinkpad;
- gint16 type;
+ GstCaps *caps;
};
@@ -3161,7 +3446,9 @@ void
GstPipeFilterFlags
typedef enum {
- GST_PIPEFILTER_OPEN = (1 << 16 ),
+ GST_PIPEFILTER_OPEN = GST_FILTER_FLAG_LAST,
+
+ GST_PIPEFILTER_FLAG_LAST = GST_FILTER_FLAG_LAST,
} GstPipeFilterFlags;
@@ -3252,24 +3539,24 @@ struct OverlayClip {
MetaDGA
struct MetaDGA {
- // the base address of the screen
+ /* the base address of the screen */
void *base;
- // the dimensions of the screen
+ /* the dimensions of the screen */
int swidth, sheight;
- // the number of bytes in a line
+ /* the number of bytes in a line */
int bytes_per_line;
};
MetaOverlay
struct MetaOverlay {
- // the position of the window
+ /* the position of the window */
int wx, wy;
- // a reference to the object sending overlay change events
+ /* a reference to the object sending overlay change events */
GtkWidget *overlay_element;
- // the number of overlay regions
+ /* the number of overlay regions */
int clip_count;
- // the overlay regions of the display window
+ /* the overlay regions of the display window */
struct _OverlayClip overlay_clip[32];
gint width;
@@ -3287,12 +3574,12 @@ struct MetaVideoRaw {
/* formatting information */
GstColorSpaceType format;
GdkVisual *visual;
- // dimensions of the video buffer
+ /* dimensions of the video buffer */
gint width;
gint height;
- // a pointer to the overlay info if the sink supports this
+ /* a pointer to the overlay info if the sink supports this */
MetaOverlay *overlay_info;
- // a pointer to the DGA info if the sink supports this
+ /* a pointer to the DGA info if the sink supports this */
MetaDGA *dga_info;
};
diff --git a/docs/gst/gstreamer-docs.sgml b/docs/gst/gstreamer-docs.sgml
index 7f547b7e94..1f26f943fa 100644
--- a/docs/gst/gstreamer-docs.sgml
+++ b/docs/gst/gstreamer-docs.sgml
@@ -14,6 +14,7 @@
+
@@ -21,6 +22,8 @@
+
+
@@ -66,6 +69,7 @@ with some more specialized elements.
&GstElement;
&GstBin;
&GstPipeline;
+ &GstAutoplug;
&GstFilter;
&GstSink;
&GstSrc;
@@ -78,6 +82,8 @@ with some more specialized elements.
&GstTee;
&GstType;
+ &GstCaps;
+ &GstProps;
&GstMeta;
&GstUtils;
&GstCpu;
diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt
index a174384068..35bbcace11 100644
--- a/docs/gst/gstreamer-sections.txt
+++ b/docs/gst/gstreamer-sections.txt
@@ -14,6 +14,7 @@ cothread_init
cothread_create
cothread_setfunc
cothread_switch
+cothread_getcurrent
cothread_main
cothread_set_data
cothread_get_data
@@ -48,11 +49,19 @@ gst_extra_get_filename_type
+
+gstscheduler
+GstScheduler
+gst_bin_schedule_func
+
+
gstbin
GstBin
+GstBinFlags
GstBin
gst_bin_new
+gst_bin_destroy
gst_bin_add
gst_bin_remove
gst_bin_get_by_name
@@ -60,6 +69,7 @@ gst_bin_get_list
gst_bin_set_state_type
gst_bin_iterate
gst_bin_create_plan
+gst_bin_schedule
GstBinClass
gst_bin_get_type
@@ -69,8 +79,8 @@ GST_BIN_CLASS
GST_IS_BIN
GST_IS_BIN_CLASS
gst_bin_details
-gst_bin_destroy
gst_bin_use_cothreads
+_GstBinChain
@@ -145,41 +155,49 @@ GstElementState
GstElementStateReturn
GST_STATE
GST_STATE_PENDING
+GST_STATE_TRANSITION
+GST_STATE_NULL_TO_READY
+GST_STATE_READY_TO_PLAYING
+GST_STATE_PLAYING_TO_PAUSED
+GST_STATE_PAUSED_TO_PLAYING
+GST_STATE_PLAYING_TO_READY
+GST_STATE_READY_TO_NULL
GstElementFlags
-GST_ELEMENT_IS_MULTI_IN
GST_ELEMENT_IS_THREAD_SUGGESTED
+GST_ELEMENT_IS_COTHREAD_STOPPING
GstElement
GstElementDetails
GstElementFactory
GstElementLoopFunction
gst_element_new
+gst_element_destroy
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_get_padtemplate_list
+gst_element_add_ghost_pad
gst_element_connect
gst_element_set_state
gst_element_error
gst_element_get_factory
-gst_element_destroy
gst_element_save_thyself
gst_element_load_thyself
gst_elementfactory_new
-gst_elementfactory_register
-gst_elementfactory_add_sink
-gst_elementfactory_add_src
+gst_elementfactory_destroy
+gst_elementfactory_add_padtemplate
gst_elementfactory_find
gst_elementfactory_get_list
+gst_elementfactory_can_src_caps
+gst_elementfactory_can_sink_caps
gst_elementfactory_create
gst_elementfactory_make
gst_elementfactory_save_thyself
gst_elementfactory_load_thyself
-gst_element_loopfunc_wrapper
GstElementClass
GST_TYPE_ELEMENT
@@ -194,6 +212,7 @@ gst_element_get_type
gstfilter
GstFilter
GstFilter
+GST_FILTER_FLAG_LAST
gst_filter_new
GstFilterClass
@@ -246,6 +265,7 @@ GST_META
gstobject
GstObject
+GST_OBJECT_FLAG_LAST
GstObject
GST_FLAGS
GST_FLAG_IS_SET
@@ -279,24 +299,32 @@ GST_PAD_CONNECTED
GST_PAD_CAN_PULL
GstPad
GstPadChainFunction
+GstPadGetFunction
+GstPadGetRegionFunction
+GstPadQoSFunction
+
+GstPadPushFunction
GstPadPullFunction
GstPadPullRegionFunction
-GstPadPushFunction
-GstPadQoSFunction
+
GstPadDirection
+GstPadFlags
gst_pad_new
gst_pad_destroy
+gst_pad_new_from_template
gst_pad_get_direction
gst_pad_set_chain_function
-gst_pad_set_pull_function
-gst_pad_get_type_id
-gst_pad_set_type_id
+gst_pad_set_get_function
+gst_pad_set_getregion_function
+gst_pad_set_qos_function
+gst_pad_set_caps
+gst_pad_get_caps
gst_pad_set_name
gst_pad_get_name
gst_pad_set_parent
+gst_pad_get_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
@@ -304,10 +332,25 @@ gst_pad_disconnect
gst_pad_push
gst_pad_pull
gst_pad_pull_region
-gst_pad_set_qos_function
+gst_pad_pullregion
gst_pad_handle_qos
gst_pad_save_thyself
gst_pad_load_and_connect
+
+GstPadFactoryEntry
+GstPadFactory[]
+GST_PAD_FACTORY_SOMETIMES
+GST_PAD_FACTORY_ALWAYS
+GST_PAD_FACTORY_SINK
+GST_PAD_FACTORY_SRC
+
+GstPadPresence
+GstPadTemplate
+gst_padtemplate_new
+gst_padtemplate_create
+gst_padtemplate_load_thyself
+gst_padtemplate_save_thyself
+
GstPadClass
GST_TYPE_PAD
@@ -316,6 +359,14 @@ GST_PAD_CLASS
GST_IS_PAD
GST_IS_PAD_CLASS
gst_pad_get_type
+
+GstPadTemplateClass
+GST_TYPE_PADTEMPLATE
+GST_PADTEMPLATE
+GST_PADTEMPLATE_CLASS
+GST_IS_PADTEMPLATE
+GST_IS_PADTEMPLATE_CLASS
+gst_padtemplate_get_type
@@ -339,6 +390,23 @@ GST_IS_PIPELINE_CLASS
gst_pipeline_details
+
+gstautoplug
+GstAutoplug
+GST_AUTOPLUG_MAX_COST
+GstAutoplugCostFunction
+GstAutoplugListFunction
+gst_autoplug_caps
+
+GstAutoplug
+GST_AUTOPLUG
+GST_IS_AUTOPLUG
+GST_TYPE_AUTOPLUG
+gst_autoplug_get_type
+GST_AUTOPLUG_CLASS
+GST_IS_AUTOPLUG_CLASS
+
+
gstplugin
GstPlugin
@@ -349,10 +417,10 @@ 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_library_load
gst_plugin_add_factory
+gst_plugin_add_type
gst_plugin_find
gst_plugin_get_list
gst_plugin_find_elementfactory
@@ -367,6 +435,7 @@ gst_plugin_save_thyself
gstsink
GstSink
GstSink
+GST_SINK_FLAG_LAST
gst_sink_new
GstSinkClass
@@ -382,14 +451,9 @@ GST_IS_SINK_CLASS
gstsrc
GstSrc
GstSrcFlags
-GST_SRC_FLAGS
-GST_SRC_ASYNC
-GST_SRC_SET_FLAGS
-GST_SRC_UNSET_FLAGS
+GST_SRC_IS_ASYNC
GstSrc
gst_src_signal_eos
-gst_src_push
-gst_src_push_region
gst_src_get_type
GstSrcClass
@@ -461,25 +525,64 @@ GstTypeFactory
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
-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
+
+gstcaps
+GstCaps
+GstCaps
+GstCapsFactoryEntry
+GstCapsFactory[]
+gst_caps_new
+gst_caps_new_with_props
+gst_caps_register
+gst_caps_set_props
+gst_caps_get_props
+gst_caps_check_compatibility
+gst_caps_save_thyself
+gst_caps_load_thyself
+
+
+
+
+gstprops
+GstProps
+GstProps
+GstPropsFactoryEntry
+GstPropsFactory[]
+GST_PROPS_LIST
+GST_PROPS_INT
+GST_PROPS_INT_RANGE
+GST_PROPS_FOURCC
+GST_PROPS_FOURCC_INT
+GST_PROPS_BOOLEAN
+gst_props_register
+gst_props_new
+gst_props_merge
+gst_props_check_compatibility
+gst_props_save_thyself
+gst_props_load_thyself
+
+GstPropsEntry
+GstPropsListFactory[]
+GstPropsId
+GST_PROPS_LIST_ID
+GST_PROPS_INT_ID
+GST_PROPS_INT_RANGE_ID
+GST_PROPS_FOURCC_ID
+GST_PROPS_BOOL_ID
+
+
gstutils
GstUtils
gst_util_get_int_arg
+gst_util_get_bool_arg
gst_util_get_long_arg
gst_util_get_float_arg
gst_util_get_double_arg
@@ -497,6 +600,7 @@ GstXML
gst_xml_new
gst_xml_write
gst_xml_get_element
+gst_xml_get_topelements
gst_xml_get_type
GST_XML
@@ -609,6 +713,7 @@ GST_IS_FAKESINK_CLASS
GstFakeSrc
GstFakeSrc
+GstFakeSrcOutputType
gst_fakesrc_get_type
GstFakeSrcClass
GST_TYPE_FAKESRC
diff --git a/docs/gst/tmpl/cothreads.sgml b/docs/gst/tmpl/cothreads.sgml
index 6349dcf122..06197bc38a 100644
--- a/docs/gst/tmpl/cothreads.sgml
+++ b/docs/gst/tmpl/cothreads.sgml
@@ -129,6 +129,14 @@ Indicates the cothread is started
@thread:
+
+
+
+
+
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gst.sgml b/docs/gst/tmpl/gst.sgml
index 95c071c47e..f33e65dfa8 100644
--- a/docs/gst/tmpl/gst.sgml
+++ b/docs/gst/tmpl/gst.sgml
@@ -65,3 +65,51 @@ g_print messages.
@args...: arguments
+
+
+
+
+
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@format:
+@args...:
+
+
diff --git a/docs/gst/tmpl/gstasyncdisksrc.sgml b/docs/gst/tmpl/gstasyncdisksrc.sgml
index 1179a56213..ca7479d480 100644
--- a/docs/gst/tmpl/gstasyncdisksrc.sgml
+++ b/docs/gst/tmpl/gstasyncdisksrc.sgml
@@ -30,6 +30,7 @@ the offset.
@GST_ASYNCDISKSRC_OPEN:
+@GST_ASYNCDISKSRC_FLAG_LAST:
diff --git a/docs/gst/tmpl/gstbin.sgml b/docs/gst/tmpl/gstbin.sgml
index df2ccaf2f2..98f827e650 100644
--- a/docs/gst/tmpl/gstbin.sgml
+++ b/docs/gst/tmpl/gstbin.sgml
@@ -17,6 +17,15 @@ allowing for deep nesting of predefined sub-pipelines.
+
+
+Flags for a bin
+
+
+@GST_BIN_FLAG_MANAGER:
+@GST_BIN_FLAG_PREFER_COTHREADS:
+@GST_BIN_FLAG_LAST:
+
@@ -32,6 +41,14 @@ allowing for deep nesting of predefined sub-pipelines.
@Returns:
+
+
+
+
+
+@bin:
+
+
@@ -96,6 +113,14 @@ allowing for deep nesting of predefined sub-pipelines.
@bin:
+
+
+
+
+
+@bin:
+
+
is signaled whenever a new GstElement is added to the GstBin
diff --git a/docs/gst/tmpl/gstbuffer.sgml b/docs/gst/tmpl/gstbuffer.sgml
index 3360012670..eb36dfac5c 100644
--- a/docs/gst/tmpl/gstbuffer.sgml
+++ b/docs/gst/tmpl/gstbuffer.sgml
@@ -167,11 +167,12 @@ used when data in a stream has been skipped
-@GST_BUFFER_READONLY:
-@GST_BUFFER_EOS:
-@GST_BUFFER_ORIGINAL:
-@GST_BUFFER_DONTFREE:
-@GST_BUFFER_FLUSH:
+@GST_BUFFER_READONLY: the buffer is read only
+@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
+@GST_BUFFER_EOS: this buffer is the last one in the stream
diff --git a/docs/gst/tmpl/gstdisksrc.sgml b/docs/gst/tmpl/gstdisksrc.sgml
index 63bc83a0f8..67c4fd6366 100644
--- a/docs/gst/tmpl/gstdisksrc.sgml
+++ b/docs/gst/tmpl/gstdisksrc.sgml
@@ -31,6 +31,7 @@ with seeking capabilities use a GstAsynDiskSrc instead.
@GST_DISKSRC_OPEN:
+@GST_DISKSRC_FLAG_LAST:
diff --git a/docs/gst/tmpl/gstelement.sgml b/docs/gst/tmpl/gstelement.sgml
index da1aaf22e2..25cf267298 100644
--- a/docs/gst/tmpl/gstelement.sgml
+++ b/docs/gst/tmpl/gstelement.sgml
@@ -33,79 +33,25 @@ simpler to connect pads of two elements together.
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_NONE_PENDING
-The element is in the desired state.
-
-
-
-GST_STATE_NULL
-Reset the state of an element.
-
-
-
-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
-temporary stops the data flow.
-
-
-
-
-@GST_STATE_NONE_PENDING:
-@GST_STATE_NULL:
-@GST_STATE_READY:
-@GST_STATE_PLAYING:
-@GST_STATE_PAUSED:
+@GST_STATE_NONE_PENDING: The element is in the desired state.
+@GST_STATE_NULL: Reset the state of an element.
+@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 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
-
-
-
-
-
-@GST_STATE_FAILURE:
-@GST_STATE_SUCCESS:
-@GST_STATE_ASYNC:
+@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
@@ -123,44 +69,85 @@ This macro returns the currently pending state of the element.
@obj: Element to return the pending state for.
+
+
+Returns the state transition this object is going through
+
+
+@obj: the Element to return the tate transition for
+
+
+
+
+The Element is going from the NULL state to the READY state
+
+
+
+
+
+
+The Element is going from the READY state to the PLAYING state
+
+
+
+
+
+
+The Element is going from the PLAYING state to the PAUSED state
+
+
+
+
+
+
+The Element is going from the PAUSED state to the PLAYING state
+
+
+
+
+
+
+The Element is going from the PLAYING state to the READY state
+
+
+
+
+
+
+The Element is going from the READY state to the NULL state
+
+
+
+
This enum defines the standard flags that an element
may have.
-
-
-
-
-
-GST_ELEMENT_MULTI_IN
-the element has multiple input pads
-
-
-
-
-@GST_ELEMENT_MULTI_IN:
+@GST_ELEMENT_COMPLEX:
+@GST_ELEMENT_DECOUPLED:
@GST_ELEMENT_THREAD_SUGGESTED:
@GST_ELEMENT_NO_SEEK:
@GST_ELEMENT_NEW_LOOPFUNC:
@GST_ELEMENT_COTHREAD_STOPPING:
-
-
-
-Query whether this object has multiple input pads.
-
-
-
-@obj: Element to query for multiple input pads.
-
+@GST_ELEMENT_USE_COTHREAD:
+@GST_ELEMENT_FLAG_LAST:
-
+Queries whether the Element should be placed in a thread
-@obj:
+@obj: The element to query
+
+
+
+
+Queries whether the cothread holding this element needs to be stopped
+
+
+@obj: The element to query
@@ -192,7 +179,7 @@ GstElementDetails struct for the element.
@name:
@type:
@details:
-@padfactories:
+@padtemplates:
@@ -212,6 +199,14 @@ circumstances.
@Returns:
+
+
+
+
+
+@element: the element to destroy
+
+
@@ -266,15 +261,6 @@ circumstances.
@pad:
-
-
-
-
-
-@element:
-@pad:
-
-
@@ -294,6 +280,24 @@ circumstances.
@Returns:
+
+
+
+
+
+@element:
+@Returns:
+
+
+
+
+
+
+
+@element:
+@pad:
+
+
@@ -333,14 +337,6 @@ circumstances.
@Returns:
-
-
-
-
-
-@element: the element to destroy
-
-
@@ -372,7 +368,7 @@ circumstances.
@Returns:
-
+
@@ -380,6 +376,17 @@ circumstances.
@elementfactory:
+
+
+
+
+
+@elementfactory:
+@temp:
+
+@pad:
+
+
@@ -397,6 +404,26 @@ circumstances.
@Returns:
+
+
+
+
+
+@factory:
+@caps:
+@Returns:
+
+
+
+
+
+
+
+@factory:
+@caps:
+@Returns:
+
+
@@ -436,15 +463,6 @@ circumstances.
@Returns:
-
-
-
-
-@argc:
-@argv:
-@Returns:
-
-
Is trigered whenever the state of an element changes
diff --git a/docs/gst/tmpl/gstfakesink.sgml b/docs/gst/tmpl/gstfakesink.sgml
index 361a67d1a7..6efd872735 100644
--- a/docs/gst/tmpl/gstfakesink.sgml
+++ b/docs/gst/tmpl/gstfakesink.sgml
@@ -16,3 +16,10 @@ with the buffer. (fakesink)
+
+
+
+
+
+@gstfakesink: the object which received the signal.
+
diff --git a/docs/gst/tmpl/gstfakesrc.sgml b/docs/gst/tmpl/gstfakesrc.sgml
index dfc2d57101..f67bf334ea 100644
--- a/docs/gst/tmpl/gstfakesrc.sgml
+++ b/docs/gst/tmpl/gstfakesrc.sgml
@@ -14,3 +14,30 @@ The GstFakeSrc generates empty buffers. (fakesrc)
+
+
+
+
+
+@gstfakesrc: the object which received the signal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstfilter.sgml b/docs/gst/tmpl/gstfilter.sgml
index 5a8782a0c1..850b0a9f02 100644
--- a/docs/gst/tmpl/gstfilter.sgml
+++ b/docs/gst/tmpl/gstfilter.sgml
@@ -23,6 +23,13 @@ on its own.
+
+
+subclass use this to start their flag enumeration
+
+
+
+
diff --git a/docs/gst/tmpl/gstidentity.sgml b/docs/gst/tmpl/gstidentity.sgml
index e5a1a65bde..0ec323dfd4 100644
--- a/docs/gst/tmpl/gstidentity.sgml
+++ b/docs/gst/tmpl/gstidentity.sgml
@@ -14,3 +14,8 @@ Pass data without modification.
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstobject.sgml b/docs/gst/tmpl/gstobject.sgml
index a4c88c6a19..889d8d7d23 100644
--- a/docs/gst/tmpl/gstobject.sgml
+++ b/docs/gst/tmpl/gstobject.sgml
@@ -25,6 +25,13 @@ down GtkObject to re-parent the hierarchy.
+
+
+subclasses can use this value to start the enumeration of their flags
+
+
+
+
diff --git a/docs/gst/tmpl/gstpad.sgml b/docs/gst/tmpl/gstpad.sgml
index 460c988f43..61399f0b70 100644
--- a/docs/gst/tmpl/gstpad.sgml
+++ b/docs/gst/tmpl/gstpad.sgml
@@ -47,31 +47,24 @@ The function that will be called when chaining buffers.
@buf: the buffer that is chained
-
+
-The function that will be called when pulling buffers.
+The function that will be called when pulling a buffer.
-@pad: the pad to pull
+@pad: the pad to get a buffer from
+@Returns: a GstBuffer
-
+
The function that will be called when pulling a region buffer.
-@pad: the pad to pull
-@offset: the offset of the region to pull
-@size: the size of the region to pull
-
-
-
-
-
-The function that will be called when pulling buffers.
-
-
-@pad: the pad to push
+@pad: the pad to get a buffer from
+@offset: the offset of the region to get
+@size: the size of the region to get
+@Returns: a GstBuffer
@@ -83,14 +76,53 @@ the function that will be called when a QoS message is sent.
@qos_message: the message
-
+
+The function that will be called when pushing a buffers.
-@GST_PAD_UNKNOWN:
-@GST_PAD_SRC:
-@GST_PAD_SINK:
+@pad: the pad to push
+@buf: a GstBuffer to push
+
+
+
+
+The function that will be called when pulling buffers.
+
+
+@pad: the pad to pull
+@Returns: a GstBuffer
+
+
+
+
+The function that will be called when pulling a region buffer.
+
+
+@pad: the pad to pull
+@offset: the offset of the region to pull
+@size: the size of the region to pull
+@Returns: a GstBuffer
+
+
+
+
+The direction this pad is
+
+
+@GST_PAD_UNKNOWN: direction is unknown
+@GST_PAD_SRC: this is a source pad
+@GST_PAD_SINK: this is a sink pad
+
+
+
+Flags for the pad
+
+
+@GST_PAD_DISABLED: the pad is disabled
+@GST_PAD_EOS: the pad is in end of stream state
+@GST_PAD_FLAG_LAST: subclasses can use this number to enumerate their flags
@@ -104,10 +136,20 @@ the function that will be called when a QoS message is sent.
+Destroy the pad
+
+
+@pad: the pad to destroy
+
+
+
+
-@pad:
+@temp:
+@name:
+@Returns:
@@ -128,13 +170,49 @@ the function that will be called when a QoS message is sent.
@chain:
-
+
@pad:
-@pull:
+@get:
+
+
+
+
+
+
+
+@pad:
+@getregion:
+
+
+
+
+
+
+
+@pad:
+@qos:
+
+
+
+
+
+
+
+@pad:
+@caps:
+
+
+
+
+
+
+
+@pad:
+@Returns:
@@ -164,6 +242,15 @@ the function that will be called when a QoS message is sent.
@parent:
+
+
+
+
+
+@pad:
+@Returns:
+
+
@@ -182,15 +269,6 @@ the function that will be called when a QoS message is sent.
@parent:
-
-
-
-
-
-@pad:
-@Returns:
-
-
@@ -256,13 +334,14 @@ the function that will be called when a QoS message is sent.
@Returns:
-
+
@pad:
-@qos:
+@offset:
+@size:
@@ -294,8 +373,109 @@ the function that will be called when a QoS message is sent.
@elements:
-
+
+
+Defines an entry for a padfactory
+
+
+
+
+
+The padfactory
+
+
+
+
+
+Indicate that this pad will become available depending
+on the media type. Use this in the factory definition
+
+
+
+
+
+
+Indicate that this pad will always be available.
+Use this in the factory definition
+
+
+
+
+
+
+Indicates a sinkpad for the padfactory.
+
+
+
+
+
+
+Indicates a srcpad for the padfactory.
+
+
+
+
+
+
+Indicates when this pad will become available
+
+
+@GST_PAD_ALWAYS: the pad is always available
+@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
+
+
+@object:
+@name_template:
+@direction:
+@presence:
+@caps:
+
+
+
+
+
+
+@factory:
+@Returns:
+
+
+
+
+
+
+
+@name_template:
+@direction:
+@presence:
+@caps:
+@Returns:
+
+
+
+
+
+
+
+@parent:
+@Returns:
+
+
+
+
+
+
+
+@pad:
+@parent:
+@Returns:
+
+
+
+
+Indicates this pad is active
+
+
diff --git a/docs/gst/tmpl/gstplugin.sgml b/docs/gst/tmpl/gstplugin.sgml
index 724d9838dc..e3931b378a 100644
--- a/docs/gst/tmpl/gstplugin.sgml
+++ b/docs/gst/tmpl/gstplugin.sgml
@@ -77,13 +77,13 @@ by the loader at statup.
@Returns:
-
+
-@plugin:
-@factory:
+@name:
+@Returns:
@@ -95,16 +95,16 @@ by the loader at statup.
@Returns:
-
+
-@name:
-@Returns:
+@plugin:
+@factory:
-
+
diff --git a/docs/gst/tmpl/gstqueue.sgml b/docs/gst/tmpl/gstqueue.sgml
index c75d8c9625..e3ae1dfdaa 100644
--- a/docs/gst/tmpl/gstqueue.sgml
+++ b/docs/gst/tmpl/gstqueue.sgml
@@ -32,3 +32,8 @@ Specify the maximum number of buffers in the queue before the queue
blocks.
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstreamer-unused.sgml b/docs/gst/tmpl/gstreamer-unused.sgml
index 5b70a5b7d7..f64ef7e757 100644
--- a/docs/gst/tmpl/gstreamer-unused.sgml
+++ b/docs/gst/tmpl/gstreamer-unused.sgml
@@ -179,6 +179,12 @@
@Returns:
+
+
+
+
+
+
@@ -241,6 +247,12 @@
+
+
+
+
+
+
@@ -269,6 +281,13 @@
@connection:
+
+
+This macro checks to see if the GST_SRC_ASYNC flag is set.
+
+
+@obj: GstSrc to check for flag in.
+
@@ -323,6 +342,12 @@
@Returns:
+
+
+
+
+
+
@@ -360,6 +385,14 @@
@pad:
@buf:
+
+
+
+
+
+@id:
+@Returns:
+
@@ -443,6 +476,14 @@ GstColorSpace
@obj:
+
+
+
+
+
+@id:
+@Returns:
+
@@ -672,6 +713,13 @@ This macro unsets the given state on the element.
+
+
+This macro returns the entire set of flags for the object.
+
+
+@obj: GstSrc to return flags for.
+
@@ -725,6 +773,14 @@ This macro unsets the given state on the element.
+
+
+
+
+
+@parent:
+@Returns:
+
@@ -809,6 +865,14 @@ This macro sets the given state on the element.
@klass:
+
+
+
+
+
+@GST_CAPS_ALWAYS:
+@GST_CAPS_MAYBE:
+
@@ -928,6 +992,21 @@ plugin
+
+
+
+
+
+
+
+
+This macro usets the given flags.
+
+
+@src:
+@flag: Flag to set, must be a single bit in guint32.
+@obj: GstSrc to unset flag in.
+
@@ -1066,6 +1145,15 @@ 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.
+
+
+
+
+
+@type:
+@parent:
+@Returns:
+
@@ -1100,6 +1188,15 @@ This macro checks to see if the given state is set.
@obj:
+
+
+This macro sets the given flags.
+
+
+@src:
+@flag: Flag to set, can by any number of bits in guint32.
+@obj: GstSrc to set flag in.
+
@@ -1113,6 +1210,14 @@ This macro checks to see if the given state is set.
+
+
+
+
+@argc:
+@argv:
+@Returns:
+
@@ -1131,6 +1236,15 @@ This macro checks to see if the given state is set.
+
+
+
+
+
+@sinkid:
+@srcid:
+@Returns:
+
@@ -1177,6 +1291,12 @@ This macro checks to see if the given state is set.
+
+
+Query the element for the current mime type
+
+
+
@@ -1210,6 +1330,12 @@ This macro checks to see if the given state is set.
@klass:
+
+
+
+
+
+
@@ -1229,6 +1355,18 @@ This macro checks to see if the given state is set.
+
+
+
+
+
+@GST_PROPS_END_ID_NUM:
+@GST_PROPS_LIST_ID_NUM:
+@GST_PROPS_INT_ID_NUM:
+@GST_PROPS_INT_RANGE_ID_NUM:
+@GST_PROPS_FOURCC_ID_NUM:
+@GST_PROPS_BOOL_ID_NUM:
+
@@ -1338,6 +1476,12 @@ Get the size of the current file.
@Returns:
+
+
+
+
+
+
@@ -1423,6 +1567,13 @@ Get the size of the current file.
@audiosink:
@frequency:
+
+
+
+
+
+@elementfactory:
+
@@ -1540,6 +1691,14 @@ GstElement
+
+
+
+
+
+@pad:
+@pull:
+
@@ -1554,6 +1713,14 @@ GstElement
@esdsink:
@format:
+
+
+Query whether this object has multiple input pads.
+
+
+
+@obj: Element to query for multiple input pads.
+
@@ -1561,6 +1728,12 @@ GstElement
@klass:
+
+
+
+
+
+
@@ -1574,10 +1747,6 @@ GstElement
@obj:
-
-
-
-
@@ -1585,6 +1754,10 @@ GstElement
@src:
+
+
+
+
@@ -1708,15 +1881,15 @@ GstElement
@name:
@Returns:
-
-
-
-
-
-
A flag indicating that MMX instructions are supported.
+
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstsink.sgml b/docs/gst/tmpl/gstsink.sgml
index e7c8ba1264..d137fbaba8 100644
--- a/docs/gst/tmpl/gstsink.sgml
+++ b/docs/gst/tmpl/gstsink.sgml
@@ -22,6 +22,13 @@ or a video card.
+
+
+
+
+
+
+
diff --git a/docs/gst/tmpl/gstsrc.sgml b/docs/gst/tmpl/gstsrc.sgml
index 83c82fdab6..f9725af64f 100644
--- a/docs/gst/tmpl/gstsrc.sgml
+++ b/docs/gst/tmpl/gstsrc.sgml
@@ -18,56 +18,18 @@ audio source. It provides data for the next element in the graph.
-
-
-
-
-
-GST_SRC_ASYNC
-this source is assynchronous
-
-
-
+Flags for the GstSrc element
-@GST_SRC_ASYNC:
+@GST_SRC_ASYNC: Indicates that this src is asynchronous
+@GST_SRC_FLAG_LAST: subclasses can use this to number their flags
-
+
-This macro returns the entire set of flags for the object.
+Query a GstSrc for the ASYNC flag
-@obj: GstSrc to return flags for.
-
-
-
-
-This macro checks to see if the GST_SRC_ASYNC flag is set.
-
-
-@obj: GstSrc to check for flag in.
-
-
-
-
-This macro sets the given flags.
-
-
-@src:
-@flag: Flag to set, can by any number of bits in guint32.
-
-@obj: GstSrc to set flag in.
-
-
-
-
-This macro usets the given flags.
-
-
-@src:
-@flag: Flag to set, must be a single bit in guint32.
-
-@obj: GstSrc to unset flag in.
+@obj: The GstSrc to query
diff --git a/docs/gst/tmpl/gstthread.sgml b/docs/gst/tmpl/gstthread.sgml
index 68d88530e6..1a0aed88c8 100644
--- a/docs/gst/tmpl/gstthread.sgml
+++ b/docs/gst/tmpl/gstthread.sgml
@@ -20,32 +20,13 @@ to be dealt with in the separate thread.
-
-
-
-
-
-GST_THREAD_CREATE
-The thread is being created.
-
-
-
-GST_THREAD_STATE_SPINNING
-The thread is runnning
-
-
-
-GST_THREAD_STATE_REAPING
-The thread is ending.
-
-
-
-
+thread flags
-@GST_THREAD_CREATE:
-@GST_THREAD_STATE_SPINNING:
-@GST_THREAD_STATE_REAPING:
+@GST_THREAD_CREATE: The thread is being created.
+@GST_THREAD_STATE_SPINNING: The thread is runnning
+@GST_THREAD_STATE_REAPING: The thread is ending.
+@GST_THREAD_FLAG_LAST: subclass use this to start their enumeration
diff --git a/docs/gst/tmpl/gsttype.sgml b/docs/gst/tmpl/gsttype.sgml
index 959ca323db..b1a5cd9ff9 100644
--- a/docs/gst/tmpl/gsttype.sgml
+++ b/docs/gst/tmpl/gsttype.sgml
@@ -72,9 +72,6 @@ A type
@mime:
@exts:
@typefindfuncs:
-@srcs:
-@sinks:
-@converters:
@@ -112,24 +109,6 @@ The struct with the typefactory information
@Returns:
-
-
-
-
-
-@id:
-@Returns:
-
-
-
-
-
-
-
-@id:
-@Returns:
-
-
@@ -147,42 +126,6 @@ The struct with the typefactory information
@Returns:
-
-
-
-
-
-@type:
-@parent:
-@Returns:
-
-
-
-
-
-
-
-@sinkid:
-@srcid:
-@Returns:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-@parent:
-@Returns:
-
-
diff --git a/docs/gst/tmpl/gsttypefind.sgml b/docs/gst/tmpl/gsttypefind.sgml
index b02705b11c..ace6c21877 100644
--- a/docs/gst/tmpl/gsttypefind.sgml
+++ b/docs/gst/tmpl/gsttypefind.sgml
@@ -23,8 +23,8 @@ The signal to indicate the mime type was detected.
@gsttypefind: the object which received the signal.
@arg1: The mime type that was detected
-
+
-Query the element for the current mime type
+
diff --git a/docs/gst/tmpl/gstutils.sgml b/docs/gst/tmpl/gstutils.sgml
index b3bc45cd35..2550838846 100644
--- a/docs/gst/tmpl/gstutils.sgml
+++ b/docs/gst/tmpl/gstutils.sgml
@@ -24,6 +24,16 @@ Some convenience functions
@Returns:
+
+
+
+
+
+@object:
+@argname:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/gstxml.sgml b/docs/gst/tmpl/gstxml.sgml
index c543a8d283..16b34e955f 100644
--- a/docs/gst/tmpl/gstxml.sgml
+++ b/docs/gst/tmpl/gstxml.sgml
@@ -22,6 +22,7 @@ All GstElements can be serialized to an XML presentation
@object:
@elements:
+@topelements:
@@ -52,3 +53,12 @@ All GstElements can be serialized to an XML presentation
@Returns:
+
+
+
+
+
+@xml:
+@Returns:
+
+
diff --git a/docs/gst/tmpl/videoraw.sgml b/docs/gst/tmpl/videoraw.sgml
index d2518506fc..fda469c05b 100644
--- a/docs/gst/tmpl/videoraw.sgml
+++ b/docs/gst/tmpl/videoraw.sgml
@@ -22,19 +22,31 @@ Information about video buffers.
@meta:
@format:
@visual:
+@width:
@height:
+@overlay_info:
+@dga_info:
+@base:
+@swidth:
+@sheight:
+@bytes_per_line:
+@wx:
+@wy:
+@overlay_element:
+@clip_count:
+@overlay_clip:
@width:
@height:
@did_overlay:
diff --git a/gst/gstbin.c b/gst/gstbin.c
index 8b05aa559b..c8ff85dd69 100644
--- a/gst/gstbin.c
+++ b/gst/gstbin.c
@@ -17,7 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#define GST_DEBUG_ENABLED
+//#define GST_DEBUG_ENABLED
#include "gstbin.h"
#include "gstdebug.h"
@@ -45,7 +45,6 @@ static gboolean gst_bin_change_state_type (GstBin *bin,
GtkType type);
static void gst_bin_create_plan_func (GstBin *bin);
-//static void gst_bin_schedule_func (GstBin *bin);
static void gst_bin_iterate_func (GstBin *bin);
static xmlNodePtr gst_bin_save_thyself (GstElement *element, xmlNodePtr parent);
@@ -678,7 +677,7 @@ gst_bin_create_plan_func (GstBin *bin)
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
}
-void
+static void
gst_bin_iterate_func (GstBin *bin)
{
GList *chains;
diff --git a/gst/gstbin.h b/gst/gstbin.h
index 256459b8a1..bb624b441a 100644
--- a/gst/gstbin.h
+++ b/gst/gstbin.h
@@ -42,10 +42,10 @@ extern GstElementDetails gst_bin_details;
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN))
typedef enum {
- // this bin is a manager of child elements, i.e. a pipeline or thread
+ /* this bin is a manager of child elements, i.e. a pipeline or thread */
GST_BIN_FLAG_MANAGER = GST_ELEMENT_FLAG_LAST,
- // we prefer to have cothreads when its an option, over chain-based
+ /* we prefer to have cothreads when its an option, over chain-based */
GST_BIN_FLAG_PREFER_COTHREADS,
/* padding */
@@ -59,11 +59,11 @@ typedef struct __GstBinChain _GstBinChain;
struct _GstBin {
GstElement element;
- // our children
+ /* our children */
gint numchildren;
GList *children;
- // iteration state
+ /* iteration state */
gboolean need_cothreads;
GList *managed_elements;
gint num_managed_elements;
@@ -128,7 +128,7 @@ gboolean gst_bin_set_state_type (GstBin *bin,
void gst_bin_iterate (GstBin *bin);
-// hack FIXME
+/* hack FIXME */
void gst_bin_use_cothreads (GstBin *bin,
gboolean enabled);
diff --git a/gst/gstcaps.c b/gst/gstcaps.c
index db76863f5e..b8ec99f1d0 100644
--- a/gst/gstcaps.c
+++ b/gst/gstcaps.c
@@ -69,6 +69,16 @@ gst_caps_new (gchar *mime)
return caps;
}
+/**
+ * gst_caps_new_with_props:
+ * @mime: the mime type to attach to the capability
+ * @props: the properties for this capability
+ *
+ * create a new capability with the given mime type
+ * and the given properties
+ *
+ * Returns: a new capability
+ */
GstCaps*
gst_caps_new_with_props (gchar *mime, GstProps *props)
{
@@ -113,6 +123,15 @@ gst_caps_register (GstCapsFactory *factory)
return caps;
}
+/**
+ * gst_caps_set_props:
+ * @caps: the caps to attach the properties to
+ * @props: the properties to attach
+ *
+ * set the properties to the given caps
+ *
+ * Returns: The new caps structure
+ */
GstCaps*
gst_caps_set_props (GstCaps *caps, GstProps *props)
{
@@ -125,6 +144,14 @@ gst_caps_set_props (GstCaps *caps, GstProps *props)
return caps;
}
+/**
+ * gst_caps_get_props:
+ * @caps: the caps to get the properties from
+ *
+ * get the properties of the given caps
+ *
+ * Returns: The properties of the caps
+ */
GstProps*
gst_caps_get_props (GstCaps *caps)
{
@@ -170,6 +197,15 @@ gst_caps_check_compatibility (GstCaps *fromcaps, GstCaps *tocaps)
}
+/**
+ * gst_caps_save_thyself:
+ * @caps: a capabilty to save
+ * @parent: the parent XML node pointer
+ *
+ * save the capability into an XML representation
+ *
+ * Returns: a new XML node pointer
+ */
xmlNodePtr
gst_caps_save_thyself (GstCaps *caps, xmlNodePtr parent)
{
@@ -187,6 +223,14 @@ gst_caps_save_thyself (GstCaps *caps, xmlNodePtr parent)
return parent;
}
+/**
+ * gst_caps_load_thyself:
+ * @parent: the parent XML node pointer
+ *
+ * load a new caps from the XML representation
+ *
+ * Returns: a new capability
+ */
GstCaps*
gst_caps_load_thyself (xmlNodePtr parent)
{
diff --git a/gst/gstcaps.h b/gst/gstcaps.h
index 8f850c7b29..71053d5712 100644
--- a/gst/gstcaps.h
+++ b/gst/gstcaps.h
@@ -27,12 +27,6 @@
typedef struct _GstCaps GstCaps;
typedef gpointer GstCapsFactoryEntry;
typedef GstCapsFactoryEntry GstCapsFactory[];
-typedef GstCapsFactory *GstCapsListFactory[];
-
-typedef enum {
- GST_CAPS_ALWAYS = 1,
- GST_CAPS_MAYBE = 2,
-} GstCapsDefinition;
struct _GstCaps {
guint16 id; /* type id (major type) */
@@ -50,7 +44,7 @@ GstCaps* gst_caps_register (GstCapsFactory *factory);
GstCaps* gst_caps_set_props (GstCaps *caps, GstProps *props);
GstProps* gst_caps_get_props (GstCaps *caps);
-gboolean gst_caps_check_compatibility (GstCaps *caps1, GstCaps *caps2);
+gboolean gst_caps_check_compatibility (GstCaps *fromcaps, GstCaps *tocaps);
xmlNodePtr gst_caps_save_thyself (GstCaps *caps, xmlNodePtr parent);
GstCaps* gst_caps_load_thyself (xmlNodePtr parent);
diff --git a/gst/gstelement.c b/gst/gstelement.c
index 762b67ee03..f657fa6d65 100644
--- a/gst/gstelement.c
+++ b/gst/gstelement.c
@@ -795,22 +795,6 @@ gst_element_get_manager (GstElement *element)
return element->manager;
}
-// note that this casts a char ** to a GstElement *. Ick.
-int
-gst_element_loopfunc_wrapper (int argc, char **argv)
-{
- GstElement *element = GST_ELEMENT (argv);
- while (1) {
- /* if NEW_LOOPFUNC is set, clear it, we're implicitly updating */
- if (GST_FLAG_IS_SET(element,GST_ELEMENT_NEW_LOOPFUNC))
- GST_FLAG_UNSET(element,GST_ELEMENT_NEW_LOOPFUNC);
-
- /* start up the loop function */
- element->loopfunc (element);
- }
- return 0;
-}
-
/**
* gst_element_set_loop_function:
* @element: Element to set loop function of.
diff --git a/gst/gstelement.h b/gst/gstelement.h
index 027fd6736f..3dfe901758 100644
--- a/gst/gstelement.h
+++ b/gst/gstelement.h
@@ -83,21 +83,21 @@ static inline char *_gst_print_statename(int state) {
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT))
typedef enum {
- // element is complex (for some def.) and generally require a cothread
+ /* element is complex (for some def.) and generally require a cothread */
GST_ELEMENT_COMPLEX = GST_OBJECT_FLAG_LAST,
- // input and output pads aren't directly coupled to each other
- // examples: queues, multi-output async readers, etc.
+ /* input and output pads aren't directly coupled to each other
+ examples: queues, multi-output async readers, etc. */
GST_ELEMENT_DECOUPLED,
- // this element should be placed in a thread if at all possible
+ /* this element should be placed in a thread if at all possible */
GST_ELEMENT_THREAD_SUGGESTED,
- // this element is incable of seeking (FIXME: does this apply to filters?)
+ /* this element is incable of seeking (FIXME: does this apply to filters?) */
GST_ELEMENT_NO_SEEK,
- // there is a new loopfunction ready for placement
+ /* there is a new loopfunction ready for placement */
GST_ELEMENT_NEW_LOOPFUNC,
- // the cothread holding this element needs to be stopped
+ /* the cothread holding this element needs to be stopped */
GST_ELEMENT_COTHREAD_STOPPING,
- // the element has to be scheduled as a cothread for any sanity
+ /* the element has to be scheduled as a cothread for any sanity */
GST_ELEMENT_USE_COTHREAD,
/* use some padding for future expansion */
@@ -146,10 +146,6 @@ struct _GstElementClass {
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);
@@ -204,7 +200,6 @@ gint gst_element_set_state (GstElement *element, GstElementState state);
void gst_element_error (GstElement *element, gchar *error);
GstElementFactory* gst_element_get_factory (GstElement *element);
-int gst_element_loopfunc_wrapper (int argc,char **argv);
/* XML write and read */
xmlNodePtr gst_element_save_thyself (GstElement *element, xmlNodePtr parent);
@@ -221,7 +216,7 @@ GstElementFactory* gst_elementfactory_new (gchar *name,GtkType type,
void gst_elementfactory_destroy (GstElementFactory *elementfactory);
void gst_elementfactory_add_padtemplate (GstElementFactory *elementfactory,
- GstPadTemplate *pad);
+ GstPadTemplate *temp);
GstElementFactory* gst_elementfactory_find (gchar *name);
GList* gst_elementfactory_get_list (void);
@@ -233,7 +228,7 @@ gboolean gst_elementfactory_can_sink_caps (GstElementFactory *factory,
GstElement* gst_elementfactory_create (GstElementFactory *factory,
gchar *name);
-// FIXME this name is wrong, probably so is the one above it
+/* FIXME this name is wrong, probably so is the one above it */
GstElement* gst_elementfactory_make (gchar *factoryname, gchar *name);
xmlNodePtr gst_elementfactory_save_thyself (GstElementFactory *factory, xmlNodePtr parent);
diff --git a/gst/gstelementfactory.c b/gst/gstelementfactory.c
index d65c8cea77..8efdcf3579 100644
--- a/gst/gstelementfactory.c
+++ b/gst/gstelementfactory.c
@@ -34,17 +34,17 @@ _gst_elementfactory_initialize (void)
}
/**
- * gst_elementfactory_unregister:
- * @elementfactory: factory to register
+ * gst_elementfactory_destroy:
+ * @elementfactory: factory to destroy
*
* Removes the elementfactory from the global list.
*/
void
-gst_elementfactory_destroy (GstElementFactory *factory)
+gst_elementfactory_destroy (GstElementFactory *elementfactory)
{
- g_return_if_fail (factory != NULL);
+ g_return_if_fail (elementfactory != NULL);
- _gst_elementfactories = g_list_remove (_gst_elementfactories, factory);
+ _gst_elementfactories = g_list_remove (_gst_elementfactories, elementfactory);
// we don't free the struct bacause someone might have a handle to it..
}
@@ -200,20 +200,29 @@ gst_elementfactory_make (gchar *factoryname, gchar *name)
/**
* gst_elementfactory_add_padtemplate :
* @elementfactory: factory to add the src id to
- * @template: the padtemplate to add
+ * @temp: the padtemplate to add
*
* Add the given padtemplate to this elementfactory.
*/
void
gst_elementfactory_add_padtemplate (GstElementFactory *factory,
- GstPadTemplate *template)
+ GstPadTemplate *temp)
{
g_return_if_fail(factory != NULL);
- g_return_if_fail(template != NULL);
+ g_return_if_fail(temp != NULL);
- factory->padtemplates = g_list_append (factory->padtemplates, template);
+ factory->padtemplates = g_list_append (factory->padtemplates, temp);
}
+/**
+ * gst_elementfactory_can_src_caps :
+ * @factory: factory to query
+ * @caps: the caps to check
+ *
+ * Checks if the factory can source the given capability
+ *
+ * Returns: true if it can src the capability
+ */
gboolean
gst_elementfactory_can_src_caps (GstElementFactory *factory,
GstCaps *caps)
@@ -238,6 +247,15 @@ gst_elementfactory_can_src_caps (GstElementFactory *factory,
return FALSE;
}
+/**
+ * gst_elementfactory_can_sink_caps :
+ * @factory: factory to query
+ * @caps: the caps to check
+ *
+ * Checks if the factory can sink the given capability
+ *
+ * Returns: true if it can sink the capability
+ */
gboolean
gst_elementfactory_can_sink_caps (GstElementFactory *factory,
GstCaps *caps)
diff --git a/gst/gstpad.c b/gst/gstpad.c
index de6ad9b11a..1bf181f0e2 100644
--- a/gst/gstpad.c
+++ b/gst/gstpad.c
@@ -284,7 +284,7 @@ void gst_pad_set_chain_function (GstPad *pad,
}
/**
- * gst_pad_set_pull_function:
+ * gst_pad_set_get_function:
* @pad: the pad to set the get function for
* @get: the get function
*
@@ -351,7 +351,6 @@ gst_pad_push_func(GstPad *pad, GstBuffer *buf)
}
}
-
/**
* gst_pad_chain:
* @pad: the pad to chain
@@ -612,7 +611,7 @@ gst_pad_set_caps (GstPad *pad,
*
* get the capabilities of this pad
*
- * Return; the capabilities of this pad
+ * Returns: the capabilities of this pad
*/
GstCaps *
gst_pad_get_caps (GstPad *pad)
@@ -806,6 +805,14 @@ GstBuffer *gst_pad_pullregion(GstPad *pad,gulong offset,gulong size) {
*
*/
+/**
+ * gst_padtemplate_new:
+ * @factory: the padfactory to use
+ *
+ * creates a new padtemplate from the factory
+ *
+ * Returns: the new padtemplate
+ */
GstPadTemplate*
gst_padtemplate_new (GstPadFactory *factory)
{
@@ -832,6 +839,17 @@ gst_padtemplate_new (GstPadFactory *factory)
return new;
}
+/**
+ * gst_padtemplate_create:
+ * @name_template: the name template
+ * @direction: the direction for the template
+ * @presence: the presence of the pad
+ * @caps: the capabilities for the template
+ *
+ * creates a new padtemplate from the given arguments
+ *
+ * Returns: the new padtemplate
+ */
GstPadTemplate*
gst_padtemplate_create (gchar *name_template,
GstPadDirection direction, GstPadPresence presence,
@@ -850,6 +868,15 @@ gst_padtemplate_create (gchar *name_template,
}
+/**
+ * gst_padtemplate_save_thyself:
+ * @pad: the padtemplate to save
+ * @parent: the parent XML tree
+ *
+ * saves the padtemplate into XML
+ *
+ * Returns: the new XML tree
+ */
xmlNodePtr
gst_padtemplate_save_thyself (GstPadTemplate *pad, xmlNodePtr parent)
{
@@ -865,6 +892,14 @@ gst_padtemplate_save_thyself (GstPadTemplate *pad, xmlNodePtr parent)
return parent;
}
+/**
+ * gst_padtemplate_load_thyself:
+ * @parent: the source XML tree
+ *
+ * loads a padtemplate from the XML tree
+ *
+ * Returns: the new padtemplate
+ */
GstPadTemplate*
gst_padtemplate_load_thyself (xmlNodePtr parent)
{
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 573a05da37..571598ff2a 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -40,7 +40,7 @@ extern "C" {
#define GST_IS_PAD(obj) (GTK_CHECK_TYPE ((obj), GST_TYPE_PAD))
#define GST_IS_PAD_CLASS(obj) (GTK_CHECK_CLASS_TYPE ((klass), GST_TYPE_PAD))
-// quick test to see if the pad is connected
+/* quick test to see if the pad is connected */
#define GST_PAD_CONNECTED(pad) ((pad) && (pad)->peer != NULL)
#define GST_PAD_CAN_PULL(pad) ((pad) && (pad)->pullfunc != NULL)
@@ -101,7 +101,7 @@ struct _GstPad {
GstObject *parent;
GList *ghostparents;
- GstPadTemplate *padtemplate; // the template for this pad
+ GstPadTemplate *padtemplate; /* the template for this pad */
};
struct _GstPadClass {
diff --git a/gst/gstpipeline.h b/gst/gstpipeline.h
index be95eaccd3..bfbbb38681 100644
--- a/gst/gstpipeline.h
+++ b/gst/gstpipeline.h
@@ -48,8 +48,8 @@ typedef struct _GstPipelineClass GstPipelineClass;
struct _GstPipeline {
GstBin bin;
- GstElement *src; // we only allow one src element
- GList *sinks; // and multiple sinks
+ GstElement *src; /* we only allow one src element */
+ GList *sinks; /* and multiple sinks */
};
struct _GstPipelineClass {
diff --git a/gst/gstprops.c b/gst/gstprops.c
index e430641d0d..1dd465f6de 100644
--- a/gst/gstprops.c
+++ b/gst/gstprops.c
@@ -91,7 +91,7 @@ props_compare_func (gconstpointer a,
*
* Register the factory.
*
- * Returns: The registered capability
+ * Returns: The new property created from the factory
*/
GstProps *
gst_props_register (GstPropsFactory factory)
@@ -158,6 +158,15 @@ gst_props_register (GstPropsFactory factory)
return props;
}
+/**
+ * gst_props_new:
+ * @entry: the property entries for the property
+ * @...: the property entries for the property
+ *
+ * Create a new property from the list of entries
+ *
+ * Returns: The new property created from the list of entries
+ */
GstProps *
gst_props_new (GstPropsFactoryEntry entry, ...)
{
@@ -192,6 +201,15 @@ gst_props_new (GstPropsFactoryEntry entry, ...)
return gst_props_register (factory);
}
+/**
+ * gst_props_merge:
+ * @props: the property to merge into
+ * @tomerge: the property to merge
+ *
+ * Merge the properties of tomerge into props
+ *
+ * Returns: The new merged property
+ */
GstProps*
gst_props_merge (GstProps *props, GstProps *tomerge)
{
@@ -313,8 +331,8 @@ gst_props_entry_check_compatibility (GstPropsEntry *entry1, GstPropsEntry *entry
/**
* gst_props_check_compatibility:
- * @fromprops: a capabilty
- * @toprops: a capabilty
+ * @fromprops: a property
+ * @toprops: a property
*
* Checks whether two capabilities are compatible
*
@@ -411,6 +429,15 @@ gst_props_save_thyself_func (GstPropsEntry *entry, xmlNodePtr parent)
return parent;
}
+/**
+ * gst_props_save_thyself:
+ * @props: a property to save
+ * @parent: the parent XML tree
+ *
+ * saves the property into an XML representation
+ *
+ * Returns: the new XML tree
+ */
xmlNodePtr
gst_props_save_thyself (GstProps *props, xmlNodePtr parent)
{
@@ -472,6 +499,14 @@ gst_props_load_thyself_func (xmlNodePtr field)
return entry;
}
+/**
+ * gst_props_load_thyself:
+ * @parent: the XML tree to load from
+ *
+ * creates a new property out of an XML tree
+ *
+ * Returns: the new property
+ */
GstProps*
gst_props_load_thyself (xmlNodePtr parent)
{
diff --git a/gst/gstprops.h b/gst/gstprops.h
index 4ab1293742..c7311e3670 100644
--- a/gst/gstprops.h
+++ b/gst/gstprops.h
@@ -65,7 +65,7 @@ GstProps* gst_props_new (GstPropsFactoryEntry entry, ...);
GstProps* gst_props_merge (GstProps *props, GstProps *tomerge);
-gboolean gst_props_check_compatibility (GstProps *props1, GstProps *props2);
+gboolean gst_props_check_compatibility (GstProps *fromprops, GstProps *toprops);
xmlNodePtr gst_props_save_thyself (GstProps *props, xmlNodePtr parent);
GstProps* gst_props_load_thyself (xmlNodePtr parent);
diff --git a/gst/gstscheduler.c b/gst/gstscheduler.c
index 70ed58c483..40fb11d222 100644
--- a/gst/gstscheduler.c
+++ b/gst/gstscheduler.c
@@ -17,7 +17,7 @@
* Boston, MA 02111-1307, USA.
*/
-#define GST_DEBUG_ENABLED
+//#define GST_DEBUG_ENABLED
#include "gstscheduler.h"
#include "gstdebug.h"
diff --git a/gst/gstsrc.h b/gst/gstsrc.h
index 208c88ecf0..36b12c9837 100644
--- a/gst/gstsrc.h
+++ b/gst/gstsrc.h
@@ -49,7 +49,7 @@ typedef enum {
typedef struct _GstSrc GstSrc;
typedef struct _GstSrcClass GstSrcClass;
-#define GST_SRC_ASYNC(obj) (GST_FLAG_IS_SET(obj,GST_SRC_ASYNC))
+#define GST_SRC_IS_ASYNC(obj) (GST_FLAG_IS_SET(obj,GST_SRC_ASYNC))
struct _GstSrc {
GstElement element;
diff --git a/gst/gstthread.c b/gst/gstthread.c
index b419743d51..172accfd46 100644
--- a/gst/gstthread.c
+++ b/gst/gstthread.c
@@ -187,7 +187,7 @@ gst_thread_get_arg (GtkObject *object,
*
* Create a new thrad with the given name
*
- * Returns; The new thread
+ * Returns: The new thread
*/
GstElement*
gst_thread_new (guchar *name)
diff --git a/gst/meta/videoraw.h b/gst/meta/videoraw.h
index f2d9e4627d..8452eaad08 100644
--- a/gst/meta/videoraw.h
+++ b/gst/meta/videoraw.h
@@ -36,22 +36,22 @@ struct _OverlayClip {
};
struct _MetaDGA {
- // the base address of the screen
+ /* the base address of the screen */
void *base;
- // the dimensions of the screen
+ /* the dimensions of the screen */
int swidth, sheight;
- // the number of bytes in a line
+ /* the number of bytes in a line */
int bytes_per_line;
};
struct _MetaOverlay {
- // the position of the window
+ /* the position of the window */
int wx, wy;
- // a reference to the object sending overlay change events
+ /* a reference to the object sending overlay change events */
GtkWidget *overlay_element;
- // the number of overlay regions
+ /* the number of overlay regions */
int clip_count;
- // the overlay regions of the display window
+ /* the overlay regions of the display window */
struct _OverlayClip overlay_clip[32];
gint width;
@@ -67,12 +67,12 @@ struct _MetaVideoRaw {
/* formatting information */
GstColorSpaceType format;
GdkVisual *visual;
- // dimensions of the video buffer
+ /* dimensions of the video buffer */
gint width;
gint height;
- // a pointer to the overlay info if the sink supports this
+ /* a pointer to the overlay info if the sink supports this */
MetaOverlay *overlay_info;
- // a pointer to the DGA info if the sink supports this
+ /* a pointer to the DGA info if the sink supports this */
MetaDGA *dga_info;
};