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)
#define GST_IS_BIN_CLASS(obj) \
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN))
</MACRO>
+<ENUM>
+<NAME>GstBinFlags</NAME>
+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;
+</ENUM>
<STRUCT>
<NAME>GstBin</NAME>
</STRUCT>
<NAME>GstBinClass</NAME>
</STRUCT>
<STRUCT>
+<NAME>_GstBinChain</NAME>
+</STRUCT>
+<STRUCT>
<NAME>GstBin</NAME>
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;
};
</STRUCT>
+<STRUCT>
+<NAME>_GstBinChain</NAME>
+struct _GstBinChain {
+ GList *elements;
+ gint num_elements;
+
+ GList *entries;
+
+ gboolean need_cothreads;
+};
+</STRUCT>
<FUNCTION>
<NAME>gst_bin_get_type</NAME>
<RETURNS>GtkType </RETURNS>
<FUNCTION>
<NAME>gst_bin_add</NAME>
<RETURNS>void </RETURNS>
-GstBin *bin, GstElement *element
+GstBin *bin,GstElement *element
</FUNCTION>
<FUNCTION>
<NAME>gst_bin_remove</NAME>
<RETURNS>void </RETURNS>
-GstBin *bin, GstElement *element
+GstBin *bin,GstElement *element
</FUNCTION>
<FUNCTION>
<NAME>gst_bin_get_by_name</NAME>
<RETURNS>GstElement *</RETURNS>
-GstBin *bin, gchar *name
+GstBin *bin,gchar *name
</FUNCTION>
<FUNCTION>
<NAME>gst_bin_get_list</NAME>
GstBin *bin
</FUNCTION>
<FUNCTION>
+<NAME>gst_bin_schedule</NAME>
+<RETURNS>void </RETURNS>
+GstBin *bin
+</FUNCTION>
+<FUNCTION>
<NAME>gst_bin_set_state_type</NAME>
<RETURNS>gboolean </RETURNS>
GstBin *bin,GstElementState state,GtkType type
<FUNCTION>
<NAME>gst_bin_use_cothreads</NAME>
<RETURNS>void </RETURNS>
-GstBin *bin, gboolean enabled
+GstBin *bin,gboolean enabled
</FUNCTION>
<MACRO>
<NAME>GST_BUFFER</NAME>
<ENUM>
<NAME>GstBufferFlags</NAME>
typedef enum {
- GST_BUFFER_READONLY = (1 << 0),
- GST_BUFFER_EOS = (1 << 1),
- GST_BUFFER_ORIGINAL = (1 << 2),
- GST_BUFFER_DONTFREE = (1 << 3),
- GST_BUFFER_FLUSH = (1 << 4),
+ GST_BUFFER_READONLY,
+ GST_BUFFER_ORIGINAL,
+ GST_BUFFER_DONTFREE,
+ GST_BUFFER_FLUSH,
+ GST_BUFFER_EOS,
} GstBufferFlags;
</ENUM>
<STRUCT>
#define GST_STATE_PENDING(obj) (GST_ELEMENT(obj)->pending_state)
</MACRO>
<MACRO>
+<NAME>GST_STATE_TRANSITION</NAME>
+#define GST_STATE_TRANSITION(obj) ((GST_STATE(obj)<<4) | GST_STATE_PENDING(obj))
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_NULL_TO_READY</NAME>
+#define GST_STATE_NULL_TO_READY ((GST_STATE_NULL<<4) | GST_STATE_READY)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_READY_TO_PLAYING</NAME>
+#define GST_STATE_READY_TO_PLAYING ((GST_STATE_READY<<4) | GST_STATE_PLAYING)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_PLAYING_TO_PAUSED</NAME>
+#define GST_STATE_PLAYING_TO_PAUSED ((GST_STATE_PLAYING<<4) | GST_STATE_PAUSED)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_PAUSED_TO_PLAYING</NAME>
+#define GST_STATE_PAUSED_TO_PLAYING ((GST_STATE_PAUSED<<4) | GST_STATE_PLAYING)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_PLAYING_TO_READY</NAME>
+#define GST_STATE_PLAYING_TO_READY ((GST_STATE_PLAYING<<4) | GST_STATE_READY)
+</MACRO>
+<MACRO>
+<NAME>GST_STATE_READY_TO_NULL</NAME>
+#define GST_STATE_READY_TO_NULL ((GST_STATE_READY<<4) | GST_STATE_NULL)
+</MACRO>
+<MACRO>
<NAME>GST_TYPE_ELEMENT</NAME>
#define GST_TYPE_ELEMENT \
(gst_element_get_type())
<ENUM>
<NAME>GstElementFlags</NAME>
typedef enum {
- GST_ELEMENT_MULTI_IN = (1 << 4),
- GST_ELEMENT_THREAD_SUGGESTED = (1 << 5),
- GST_ELEMENT_NO_SEEK = (1 << 6),
-
- GST_ELEMENT_NEW_LOOPFUNC = (1 << 16),
- GST_ELEMENT_COTHREAD_STOPPING = (1 << 17),
+ /* 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,
+
+ /* 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;
</ENUM>
<MACRO>
-<NAME>GST_ELEMENT_IS_MULTI_IN</NAME>
-#define GST_ELEMENT_IS_MULTI_IN(obj) (GST_FLAG_IS_SET(obj,GST_ELEMENT_MULTI_IN))
-</MACRO>
-<MACRO>
<NAME>GST_ELEMENT_IS_THREAD_SUGGESTED</NAME>
#define GST_ELEMENT_IS_THREAD_SUGGESTED(obj) (GST_FLAG_IS_SET(obj,GST_ELEMENT_THREAD_SUGGESTED))
</MACRO>
cothread_state *threadstate;
guint16 numpads;
+ guint16 numsrcpads;
+ guint16 numsinkpads;
GList *pads;
GstElement *manager;
GstElementDetails *details; /* pointer to details struct */
- GList *padfactories;
+ GList *padtemplates;
};
</STRUCT>
<FUNCTION>
GstElement *element
</FUNCTION>
<FUNCTION>
+<NAME>gst_element_get_padtemplate_list</NAME>
+<RETURNS>GList *</RETURNS>
+GstElement *element
+</FUNCTION>
+<FUNCTION>
<NAME>gst_element_add_ghost_pad</NAME>
<RETURNS>void </RETURNS>
GstElement *element, GstPad *pad
GstElement *element
</FUNCTION>
<FUNCTION>
-<NAME>gst_element_loopfunc_wrapper</NAME>
-<RETURNS>int </RETURNS>
-int argc,char **argv
-</FUNCTION>
-<FUNCTION>
<NAME>gst_element_save_thyself</NAME>
<RETURNS>xmlNodePtr </RETURNS>
GstElement *element, xmlNodePtr parent
gchar *name,GtkType type,GstElementDetails *details
</FUNCTION>
<FUNCTION>
-<NAME>gst_elementfactory_register</NAME>
-<RETURNS>void </RETURNS>
-GstElementFactory *elementfactory
-</FUNCTION>
-<FUNCTION>
-<NAME>gst_elementfactory_unregister</NAME>
+<NAME>gst_elementfactory_destroy</NAME>
<RETURNS>void </RETURNS>
GstElementFactory *elementfactory
</FUNCTION>
<FUNCTION>
-<NAME>gst_elementfactory_add_pad</NAME>
+<NAME>gst_elementfactory_add_padtemplate</NAME>
<RETURNS>void </RETURNS>
-GstElementFactory *elementfactory,GstPadFactory *pad
+GstElementFactory *elementfactory,GstPadTemplate *temp
</FUNCTION>
<FUNCTION>
<NAME>gst_elementfactory_find</NAME>
void
</FUNCTION>
<FUNCTION>
+<NAME>gst_elementfactory_can_src_caps</NAME>
+<RETURNS>gboolean </RETURNS>
+GstElementFactory *factory,GstCaps *caps
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_elementfactory_can_sink_caps</NAME>
+<RETURNS>gboolean </RETURNS>
+GstElementFactory *factory,GstCaps *caps
+</FUNCTION>
+<FUNCTION>
<NAME>gst_elementfactory_create</NAME>
<RETURNS>GstElement *</RETURNS>
GstElementFactory *factory,gchar *name
<STRUCT>
<NAME>GstFilterClass</NAME>
</STRUCT>
+<MACRO>
+<NAME>GST_FILTER_FLAG_LAST</NAME>
+#define GST_FILTER_FLAG_LAST GST_ELEMENT_FLAG_LAST
+</MACRO>
<STRUCT>
<NAME>GstFilter</NAME>
struct GstFilter {
<STRUCT>
<NAME>GstObjectClass</NAME>
</STRUCT>
+<MACRO>
+<NAME>GST_OBJECT_FLAG_LAST</NAME>
+#define GST_OBJECT_FLAG_LAST 4
+</MACRO>
<STRUCT>
<NAME>GstObject</NAME>
struct GstObject {
</MACRO>
<MACRO>
<NAME>GST_FLAG_IS_SET</NAME>
-#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (flag))
+#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (1<<(flag)))
</MACRO>
<MACRO>
<NAME>GST_FLAG_SET</NAME>
-#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
</MACRO>
<MACRO>
<NAME>GST_FLAG_UNSET</NAME>
-#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
</MACRO>
<MACRO>
<NAME>GST_LOCK</NAME>
<STRUCT>
<NAME>GstPadClass</NAME>
</STRUCT>
+<STRUCT>
+<NAME>GstPadTemplate</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstPadTemplateClass</NAME>
+</STRUCT>
<USER_FUNCTION>
<NAME>GstPadChainFunction</NAME>
<RETURNS>void </RETURNS>
GstPad *pad,GstBuffer *buf
</USER_FUNCTION>
<USER_FUNCTION>
-<NAME>GstPadPullFunction</NAME>
-<RETURNS>void </RETURNS>
+<NAME>GstPadGetFunction</NAME>
+<RETURNS>GstBuffer *</RETURNS>
GstPad *pad
</USER_FUNCTION>
<USER_FUNCTION>
-<NAME>GstPadPullRegionFunction</NAME>
-<RETURNS>void </RETURNS>
+<NAME>GstPadGetRegionFunction</NAME>
+<RETURNS>GstBuffer *</RETURNS>
GstPad *pad, gulong offset, gulong size
</USER_FUNCTION>
<USER_FUNCTION>
+<NAME>GstPadQoSFunction</NAME>
+<RETURNS>void </RETURNS>
+GstPad *pad, glong qos_message
+</USER_FUNCTION>
+<USER_FUNCTION>
<NAME>GstPadPushFunction</NAME>
<RETURNS>void </RETURNS>
+GstPad *pad, GstBuffer *buf
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GstPadPullFunction</NAME>
+<RETURNS>GstBuffer *</RETURNS>
GstPad *pad
</USER_FUNCTION>
<USER_FUNCTION>
-<NAME>GstPadQoSFunction</NAME>
-<RETURNS>void </RETURNS>
-GstPad *pad, glong qos_message
+<NAME>GstPadPullRegionFunction</NAME>
+<RETURNS>GstBuffer *</RETURNS>
+GstPad *pad, gulong offset, gulong size
</USER_FUNCTION>
<ENUM>
<NAME>GstPadDirection</NAME>
<ENUM>
<NAME>GstPadFlags</NAME>
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;
</ENUM>
<STRUCT>
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 */
};
</STRUCT>
+<MACRO>
+<NAME>GST_TYPE_PADTEMPLATE</NAME>
+#define GST_TYPE_PADTEMPLATE (gst_padtemplate_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GST_PADTEMPLATE</NAME>
+#define GST_PADTEMPLATE(obj) (GTK_CHECK_CAST ((obj), GST_TYPE_PADTEMPLATE,GstPad))
+</MACRO>
+<MACRO>
+<NAME>GST_PADTEMPLATE_CLASS</NAME>
+#define GST_PADTEMPLATE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GST_TYPE_PADTEMPLATE,GstPadClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PADTEMPLATE</NAME>
+#define GST_IS_PADTEMPLATE(obj) (GTK_CHECK_TYPE ((obj), GST_TYPE_PADTEMPLATE))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_PADTEMPLATE_CLASS</NAME>
+#define GST_IS_PADTEMPLATE_CLASS(obj) (GTK_CHECK_CLASS_TYPE ((klass), GST_TYPE_PADTEMPLATE))
+</MACRO>
<ENUM>
<NAME>GstPadPresence</NAME>
typedef enum {
} GstPadPresence;
</ENUM>
<STRUCT>
-<NAME>GstPadFactory</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GstPadFactory</NAME>
-struct GstPadFactory {
- gchar *nametemplate;
- GstCapsFactory *caps;
+<NAME>GstPadTemplate</NAME>
+struct GstPadTemplate {
+ GstObject object;
+
+ gchar *name_template;
GstPadDirection direction;
GstPadPresence presence;
- gpointer priv;
+ GstCaps *caps;
};
</STRUCT>
+<TYPEDEF>
+<NAME>GstPadFactoryEntry</NAME>
+typedef gpointer GstPadFactoryEntry;
+</TYPEDEF>
+<TYPEDEF>
+<NAME>GstPadFactory[]</NAME>
+typedef GstPadFactoryEntry GstPadFactory[];
+</TYPEDEF>
+<MACRO>
+<NAME>GST_PAD_FACTORY_ALWAYS</NAME>
+#define GST_PAD_FACTORY_ALWAYS GINT_TO_POINTER(GST_PAD_ALWAYS)
+</MACRO>
+<MACRO>
+<NAME>GST_PAD_FACTORY_SOMETIMES</NAME>
+#define GST_PAD_FACTORY_SOMETIMES GINT_TO_POINTER(GST_PAD_SOMETIMES)
+</MACRO>
+<MACRO>
+<NAME>GST_PAD_FACTORY_SRC</NAME>
+#define GST_PAD_FACTORY_SRC GINT_TO_POINTER(GST_PAD_SRC)
+</MACRO>
+<MACRO>
+<NAME>GST_PAD_FACTORY_SINK</NAME>
+#define GST_PAD_FACTORY_SINK GINT_TO_POINTER(GST_PAD_SINK)
+</MACRO>
<FUNCTION>
<NAME>gst_pad_get_type</NAME>
<RETURNS>GtkType </RETURNS>
#define gst_pad_destroy(pad) gst_object_destroy (GST_OBJECT (pad))
</MACRO>
<FUNCTION>
+<NAME>gst_pad_new_from_template</NAME>
+<RETURNS>GstPad *</RETURNS>
+GstPadTemplate *temp, gchar *name
+</FUNCTION>
+<FUNCTION>
<NAME>gst_pad_get_direction</NAME>
<RETURNS>GstPadDirection </RETURNS>
GstPad *pad
GstPad *pad, GstPadChainFunction chain
</FUNCTION>
<FUNCTION>
-<NAME>gst_pad_set_pull_function</NAME>
+<NAME>gst_pad_set_get_function</NAME>
<RETURNS>void </RETURNS>
-GstPad *pad, GstPadPullFunction pull
+GstPad *pad, GstPadGetFunction get
</FUNCTION>
<FUNCTION>
-<NAME>gst_pad_set_pullregion_function</NAME>
+<NAME>gst_pad_set_getregion_function</NAME>
<RETURNS>void </RETURNS>
-GstPad *pad, GstPadPullRegionFunction pullregion
+GstPad *pad, GstPadGetRegionFunction getregion
</FUNCTION>
<FUNCTION>
<NAME>gst_pad_set_qos_function</NAME>
<RETURNS>void </RETURNS>
GstPad *pad, GstBuffer *buffer
</FUNCTION>
+<MACRO>
+<NAME>gst_pad_push</NAME>
+#define gst_pad_push(pad,buf) G_STMT_START{ \
+ if ((pad)->peer->pushfunc) ((pad)->peer->pushfunc)((pad)->peer,(buf)); \
+}G_STMT_END
+</MACRO>
<FUNCTION>
<NAME>gst_pad_pull</NAME>
<RETURNS>GstBuffer *</RETURNS>
<RETURNS>GstBuffer *</RETURNS>
GstPad *pad, gulong offset, gulong size
</FUNCTION>
+<MACRO>
+<NAME>gst_pad_pull</NAME>
+#define gst_pad_pull(pad) \
+ (((pad)->peer->pullfunc) ? ((pad)->peer->pullfunc)((pad)->peer) : NULL)
+</MACRO>
+<MACRO>
+<NAME>gst_pad_pullregion</NAME>
+#define gst_pad_pullregion(pad,offset,size) \
+ (((pad)->peer->pullregionfunc) ? ((pad)->peer->pullregionfunc)((pad)->peer,(offset),(size)) : NULL)
+</MACRO>
<FUNCTION>
<NAME>gst_pad_handle_qos</NAME>
<RETURNS>void </RETURNS>
xmlNodePtr parent, GstObject *element, GHashTable *elements
</FUNCTION>
<FUNCTION>
-<NAME>gst_padfactory_create</NAME>
-<RETURNS>GstPad *</RETURNS>
-GstPadFactory *factory, gchar *name
+<NAME>gst_padtemplate_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
</FUNCTION>
<FUNCTION>
-<NAME>gst_padfactory_get_caps</NAME>
-<RETURNS>GstCaps *</RETURNS>
+<NAME>gst_padtemplate_new</NAME>
+<RETURNS>GstPadTemplate *</RETURNS>
GstPadFactory *factory
</FUNCTION>
<FUNCTION>
-<NAME>gst_padfactory_save_thyself</NAME>
+<NAME>gst_padtemplate_create</NAME>
+<RETURNS>GstPadTemplate *</RETURNS>
+gchar *name_template,GstPadDirection direction, GstPadPresence presence,GstCaps *caps
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_padtemplate_save_thyself</NAME>
<RETURNS>xmlNodePtr </RETURNS>
-GstPadFactory *pad, xmlNodePtr parent
+GstPadTemplate *pad, xmlNodePtr parent
</FUNCTION>
<FUNCTION>
-<NAME>gst_padfactory_load_thyself</NAME>
-<RETURNS>GstPadFactory *</RETURNS>
+<NAME>gst_padtemplate_load_thyself</NAME>
+<RETURNS>GstPadTemplate *</RETURNS>
xmlNodePtr parent
</FUNCTION>
<VARIABLE>
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>
<FUNCTION>
<STRUCT>
<NAME>GstSinkClass</NAME>
</STRUCT>
+<MACRO>
+<NAME>GST_SINK_FLAG_LAST</NAME>
+#define GST_SINK_FLAG_LAST GST_ELEMENT_FLAG_LAST
+</MACRO>
<STRUCT>
<NAME>GstSink</NAME>
struct GstSink {
<ENUM>
<NAME>GstSrcFlags</NAME>
typedef enum {
- GST_SRC_ASYNC = (1 << 0),
+ GST_SRC_ASYNC = GST_ELEMENT_FLAG_LAST,
+
+ GST_SRC_FLAG_LAST = GST_ELEMENT_FLAG_LAST +2,
} GstSrcFlags;
</ENUM>
-<MACRO>
-<NAME>GST_SRC_FLAGS</NAME>
-#define GST_SRC_FLAGS(obj) \
- (GST_SRC(obj)->flags)
-</MACRO>
-<MACRO>
-<NAME>GST_SRC_ASYNC</NAME>
-#define GST_SRC_ASYNC(obj) \
- ((GST_SRC_FLAGS(obj) & GST_SRC_ASYNC))
-</MACRO>
<STRUCT>
<NAME>GstSrc</NAME>
</STRUCT>
<STRUCT>
<NAME>GstSrcClass</NAME>
</STRUCT>
+<MACRO>
+<NAME>GST_SRC_IS_ASYNC</NAME>
+#define GST_SRC_IS_ASYNC(obj) (GST_FLAG_IS_SET(obj,GST_SRC_ASYNC))
+</MACRO>
<STRUCT>
<NAME>GstSrc</NAME>
struct GstSrc {
GstElement element;
- gint32 flags;
};
</STRUCT>
-<MACRO>
-<NAME>GST_SRC_SET_FLAGS</NAME>
-#define GST_SRC_SET_FLAGS(src,flag) \
- G_STMT_START{ (GST_SRC_FLAGS (src) |= (flag)); }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>GST_SRC_UNSET_FLAGS</NAME>
-#define GST_SRC_UNSET_FLAGS(src,flag) \
- G_STMT_START{ (GST_SRC_FLAGS (src) &= ~(flag)); }G_STMT_END
-</MACRO>
<FUNCTION>
<NAME>gst_src_get_type</NAME>
<RETURNS>GtkType </RETURNS>
<ENUM>
<NAME>GstThreadState</NAME>
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;
</ENUM>
<MACRO>
</MACRO>
<USER_FUNCTION>
<NAME>GstTypeFindFunc</NAME>
-<RETURNS>gboolean </RETURNS>
+<RETURNS>GstCaps *</RETURNS>
GstBuffer *buf,gpointer priv
</USER_FUNCTION>
<STRUCT>
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 */
};
</STRUCT>
<STRUCT>
gchar *ext
</FUNCTION>
<FUNCTION>
-<NAME>gst_type_get_srcs</NAME>
-<RETURNS>GList *</RETURNS>
-guint16 id
-</FUNCTION>
-<FUNCTION>
-<NAME>gst_type_get_sinks</NAME>
-<RETURNS>GList *</RETURNS>
-guint16 id
-</FUNCTION>
-<FUNCTION>
<NAME>gst_type_find_by_id</NAME>
<RETURNS>GstType *</RETURNS>
guint16 id
</FUNCTION>
<FUNCTION>
-<NAME>gst_type_get_sink_to_src</NAME>
-<RETURNS>GList *</RETURNS>
-guint16 sinkid, guint16 srcid
-</FUNCTION>
-<FUNCTION>
<NAME>gst_type_get_list</NAME>
<RETURNS>GList *</RETURNS>
void
</FUNCTION>
<FUNCTION>
-<NAME>gst_type_dump</NAME>
-<RETURNS>void </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>gst_type_save_thyself</NAME>
-<RETURNS>xmlNodePtr </RETURNS>
-GstType *type, xmlNodePtr parent
-</FUNCTION>
-<FUNCTION>
-<NAME>gst_type_load_thyself</NAME>
-<RETURNS>guint16 </RETURNS>
-xmlNodePtr parent
-</FUNCTION>
-<FUNCTION>
<NAME>gst_typefactory_save_thyself</NAME>
<RETURNS>xmlNodePtr </RETURNS>
GstTypeFactory *factory, xmlNodePtr parent
GtkObject *object, guchar *argname
</FUNCTION>
<FUNCTION>
+<NAME>gst_util_get_bool_arg</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkObject *object, guchar *argname
+</FUNCTION>
+<FUNCTION>
<NAME>gst_util_get_long_arg</NAME>
<RETURNS>glong </RETURNS>
GtkObject *object, guchar *argname
GtkObject object;
GHashTable *elements;
+ GList *topelements;
};
</STRUCT>
<FUNCTION>
<RETURNS>GstElement *</RETURNS>
GstXML *xml, const guchar *name
</FUNCTION>
+<FUNCTION>
+<NAME>gst_xml_get_topelements</NAME>
+<RETURNS>GList *</RETURNS>
+GstXML *xml
+</FUNCTION>
<STRUCT>
<NAME>GstCaps</NAME>
</STRUCT>
<NAME>GstCapsFactory[]</NAME>
typedef GstCapsFactoryEntry GstCapsFactory[];
</TYPEDEF>
-<TYPEDEF>
-<NAME>GstCapsListFactory[]</NAME>
-typedef GstCapsFactory *GstCapsListFactory[];
-</TYPEDEF>
-<ENUM>
-<NAME>GstCapsDefinition</NAME>
-typedef enum {
- GST_CAPS_ALWAYS = 1,
- GST_CAPS_MAYBE = 2,
-} GstCapsDefinition;
-</ENUM>
<STRUCT>
<NAME>GstCaps</NAME>
struct GstCaps {
};
</STRUCT>
<FUNCTION>
+<NAME>gst_caps_new</NAME>
+<RETURNS>GstCaps *</RETURNS>
+gchar *mime
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_caps_new_with_props</NAME>
+<RETURNS>GstCaps *</RETURNS>
+gchar *mime, GstProps *props
+</FUNCTION>
+<FUNCTION>
<NAME>gst_caps_register</NAME>
<RETURNS>GstCaps *</RETURNS>
GstCapsFactory *factory
</FUNCTION>
<FUNCTION>
+<NAME>gst_caps_set_props</NAME>
+<RETURNS>GstCaps *</RETURNS>
+GstCaps *caps, GstProps *props
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_caps_get_props</NAME>
+<RETURNS>GstProps *</RETURNS>
+GstCaps *caps
+</FUNCTION>
+<FUNCTION>
<NAME>gst_caps_check_compatibility</NAME>
<RETURNS>gboolean </RETURNS>
-GstCaps *caps1, GstCaps *caps2
+GstCaps *fromcaps, GstCaps *tocaps
</FUNCTION>
<FUNCTION>
<NAME>gst_caps_save_thyself</NAME>
fprintf(stderr,GST_DEBUG_PREFIX(": "format , ## args ))
</MACRO>
<MACRO>
+<NAME>DEBUG_NOPREFIX</NAME>
+#define DEBUG_NOPREFIX(format,args...) fprintf(stderr,format , ## args )
+</MACRO>
+<MACRO>
<NAME>DEBUG_ENTER</NAME>
#define DEBUG_ENTER(format, args...) \
fprintf(stderr,GST_DEBUG_PREFIX(format": entering\n" , ## args ))
#define DEBUG(format, args...)
</MACRO>
<MACRO>
+<NAME>DEBUG_NOPREFIX</NAME>
+#define DEBUG_NOPREFIX(format, args...)
+</MACRO>
+<MACRO>
<NAME>DEBUG_ENTER</NAME>
#define DEBUG_ENTER(format, args...)
</MACRO>
#define GST_DEBUG_PAD_NAME(pad) \
((pad)->parent != NULL) ? gst_element_get_name(GST_ELEMENT((pad)->parent)) : "''", gst_pad_get_name(pad)
</MACRO>
+<MACRO>
+<NAME>GST_DEBUG_FUNCPTR</NAME>
+#define GST_DEBUG_FUNCPTR(ptr) _gst_debug_register_funcptr((void *)(ptr), #ptr)
+</MACRO>
+<MACRO>
+<NAME>GST_DEBUG_FUNCPTR_NAME</NAME>
+#define GST_DEBUG_FUNCPTR_NAME(ptr) _gst_debug_nameof_funcptr((void *)ptr)
+</MACRO>
+<MACRO>
+<NAME>GST_DEBUG_FUNCPTR</NAME>
+#define GST_DEBUG_FUNCPTR(ptr) (ptr)
+</MACRO>
+<MACRO>
+<NAME>GST_DEBUG_FUNCPTR_NAME</NAME>
+#define GST_DEBUG_FUNCPTR_NAME(ptr) ""
+</MACRO>
<STRUCT>
<NAME>GstProps</NAME>
</STRUCT>
<STRUCT>
<NAME>GstProps</NAME>
struct GstProps {
- GSList *properties; /* properties for this capability */
+ GSList *properties; /* real properties for this property */
};
</STRUCT>
<FUNCTION>
GstPropsFactory factory
</FUNCTION>
<FUNCTION>
+<NAME>gst_props_new</NAME>
+<RETURNS>GstProps *</RETURNS>
+GstPropsFactoryEntry entry, ...
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_props_merge</NAME>
+<RETURNS>GstProps *</RETURNS>
+GstProps *props, GstProps *tomerge
+</FUNCTION>
+<FUNCTION>
<NAME>gst_props_check_compatibility</NAME>
<RETURNS>gboolean </RETURNS>
-GstProps *props1, GstProps *props2
+GstProps *fromprops, GstProps *toprops
</FUNCTION>
<FUNCTION>
<NAME>gst_props_save_thyself</NAME>
};
</STRUCT>
<MACRO>
+<NAME>GST_TYPE_AUTOPLUG</NAME>
+#define GST_TYPE_AUTOPLUG \
+ (gst_object_get_type())
+</MACRO>
+<MACRO>
+<NAME>GST_AUTOPLUG</NAME>
+#define GST_AUTOPLUG(obj) \
+ (GTK_CHECK_CAST((obj),GST_TYPE_AUTOPLUG,GstAutoplug))
+</MACRO>
+<MACRO>
+<NAME>GST_AUTOPLUG_CLASS</NAME>
+#define GST_AUTOPLUG_CLASS(klass) \
+ (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUTOPLUG,GstAutoplugClass))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUTOPLUG</NAME>
+#define GST_IS_AUTOPLUG(obj) \
+ (GTK_CHECK_TYPE((obj),GST_TYPE_AUTOPLUG))
+</MACRO>
+<MACRO>
+<NAME>GST_IS_AUTOPLUG_CLASS</NAME>
+#define GST_IS_AUTOPLUG_CLASS(obj) \
+ (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUTOPLUG))
+</MACRO>
+<STRUCT>
+<NAME>GstAutoplug</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GstAutoplugClass</NAME>
+</STRUCT>
+<MACRO>
+<NAME>GST_AUTOPLUG_MAX_COST</NAME>
+#define GST_AUTOPLUG_MAX_COST 999999
+</MACRO>
+<USER_FUNCTION>
+<NAME>GstAutoplugCostFunction</NAME>
+<RETURNS>guint </RETURNS>
+gpointer src, gpointer dest, gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GstAutoplugListFunction</NAME>
+<RETURNS>GList *</RETURNS>
+gpointer data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GstAutoplug</NAME>
+struct GstAutoplug {
+ GtkObject object;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gst_autoplug_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_autoplug_caps</NAME>
+<RETURNS>GList *</RETURNS>
+GstCaps *srccaps, GstCaps *sinkcaps
+</FUNCTION>
+<FUNCTION>
+<NAME>gst_bin_schedule_func</NAME>
+<RETURNS>void </RETURNS>
+GstBin *bin
+</FUNCTION>
+<MACRO>
<NAME>GST_TYPE_ASYNCDISKSRC</NAME>
#define GST_TYPE_ASYNCDISKSRC \
(gst_asyncdisksrc_get_type())
<ENUM>
<NAME>GstAsyncDiskSrcFlags</NAME>
typedef enum {
- GST_ASYNCDISKSRC_OPEN = (1 << 16),
+ GST_ASYNCDISKSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_ASYNCDISKSRC_FLAG_LAST = GST_SRC_FLAG_LAST + 2,
} GstAsyncDiskSrcFlags;
</ENUM>
<STRUCT>
<ENUM>
<NAME>GstAudioSinkFlags</NAME>
typedef enum {
- GST_AUDIOSINK_OPEN = (1 << 16),
+ GST_AUDIOSINK_OPEN = GST_SINK_FLAG_LAST,
+
+ GST_AUDIOSINK_FLAG_LAST = GST_SINK_FLAG_LAST+2,
} GstAudioSinkFlags;
</ENUM>
<STRUCT>
<ENUM>
<NAME>GstAudioSrcFlags</NAME>
typedef enum {
- GST_AUDIOSRC_OPEN = (1 < 16),
+ GST_AUDIOSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_AUDIOSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstAudioSrcFlags;
</ENUM>
<STRUCT>
<ENUM>
<NAME>GstDiskSrcFlags</NAME>
typedef enum {
- GST_DISKSRC_OPEN = (1 << 16),
+ GST_DISKSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_DISKSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstDiskSrcFlags;
</ENUM>
<STRUCT>
<RETURNS>GtkType </RETURNS>
void
</FUNCTION>
+<ENUM>
+<NAME>GstFakeSrcOutputType</NAME>
+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;
+</ENUM>
<MACRO>
<NAME>GST_TYPE_FAKESRC</NAME>
#define GST_TYPE_FAKESRC \
struct GstFakeSrc {
GstSrc src;
- GstPad *srcpad;
+ gboolean loop_based;
+ gint numsrcpads;
+ GSList *srcpads;
+ GstFakeSrcOutputType output;
+ gchar *patern;
+ GList *paternlist;
};
</STRUCT>
<FUNCTION>
<ENUM>
<NAME>GstHttpSrcFlags</NAME>
typedef enum {
- GST_HTTPSRC_OPEN = (1 << 16),
+ GST_HTTPSRC_OPEN = GST_SRC_FLAG_LAST,
+
+ GST_HTTPSRC_FLAG_LAST = GST_SRC_FLAG_LAST+2,
} GstHttpSrcFlags;
</ENUM>
<STRUCT>
GstPad *sinkpad;
GstPad *srcpad;
- gint control;
+ gboolean loop_based;
};
</STRUCT>
<FUNCTION>
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 */
GstPad *sinkpad;
- gint16 type;
+ GstCaps *caps;
};
</STRUCT>
<FUNCTION>
<ENUM>
<NAME>GstPipeFilterFlags</NAME>
typedef enum {
- GST_PIPEFILTER_OPEN = (1 << 16 ),
+ GST_PIPEFILTER_OPEN = GST_FILTER_FLAG_LAST,
+
+ GST_PIPEFILTER_FLAG_LAST = GST_FILTER_FLAG_LAST,
} GstPipeFilterFlags;
</ENUM>
<STRUCT>
<STRUCT>
<NAME>MetaDGA</NAME>
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>
<STRUCT>
<NAME>MetaOverlay</NAME>
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;
/* 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;
};
</STRUCT>
<!entity GstObject SYSTEM "sgml/gstobject.sgml">
<!entity GstPad SYSTEM "sgml/gstpad.sgml">
<!entity GstPipeline SYSTEM "sgml/gstpipeline.sgml">
+<!entity GstAutoplug SYSTEM "sgml/gstautoplug.sgml">
<!entity GstPlugin SYSTEM "sgml/gstplugin.sgml">
<!entity GstSink SYSTEM "sgml/gstsink.sgml">
<!entity GstSrc SYSTEM "sgml/gstsrc.sgml">
<!entity GstThread SYSTEM "sgml/gstthread.sgml">
<!entity GstTrace SYSTEM "sgml/gsttrace.sgml">
<!entity GstType SYSTEM "sgml/gsttype.sgml">
+<!entity GstCaps SYSTEM "sgml/gstcaps.sgml">
+<!entity GstProps SYSTEM "sgml/gstprops.sgml">
<!entity GstUtils SYSTEM "sgml/gstutils.sgml">
<!entity GstXml SYSTEM "sgml/gstxml.sgml">
<!entity cothreads SYSTEM "sgml/cothreads.sgml">
&GstElement;
&GstBin;
&GstPipeline;
+ &GstAutoplug;
&GstFilter;
&GstSink;
&GstSrc;
&GstTee;
&GstType;
+ &GstCaps;
+ &GstProps;
&GstMeta;
&GstUtils;
&GstCpu;
cothread_create
cothread_setfunc
cothread_switch
+cothread_getcurrent
cothread_main
cothread_set_data
cothread_get_data
</SECTION>
<SECTION>
+<FILE>gstscheduler</FILE>
+<TITLE>GstScheduler</TITLE>
+gst_bin_schedule_func
+</SECTION>
+
+<SECTION>
<FILE>gstbin</FILE>
<TITLE>GstBin</TITLE>
+GstBinFlags
GstBin
gst_bin_new
+gst_bin_destroy
gst_bin_add
gst_bin_remove
gst_bin_get_by_name
gst_bin_set_state_type
gst_bin_iterate
gst_bin_create_plan
+gst_bin_schedule
<SUBSECTION Standard>
GstBinClass
gst_bin_get_type
GST_IS_BIN
GST_IS_BIN_CLASS
gst_bin_details
-gst_bin_destroy
gst_bin_use_cothreads
+_GstBinChain
</SECTION>
<SECTION>
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
<SUBSECTION Standard>
GstElementClass
GST_TYPE_ELEMENT
<FILE>gstfilter</FILE>
<TITLE>GstFilter</TITLE>
GstFilter
+GST_FILTER_FLAG_LAST
gst_filter_new
<SUBSECTION Standard>
GstFilterClass
<SECTION>
<FILE>gstobject</FILE>
<TITLE>GstObject</TITLE>
+GST_OBJECT_FLAG_LAST
GstObject
GST_FLAGS
GST_FLAG_IS_SET
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
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
+
<SUBSECTION Standard>
GstPadClass
GST_TYPE_PAD
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
</SECTION>
<SECTION>
</SECTION>
<SECTION>
+<FILE>gstautoplug</FILE>
+<TITLE>GstAutoplug</TITLE>
+GST_AUTOPLUG_MAX_COST
+GstAutoplugCostFunction
+GstAutoplugListFunction
+gst_autoplug_caps
+<SUBSECTION Standard>
+GstAutoplug
+GST_AUTOPLUG
+GST_IS_AUTOPLUG
+GST_TYPE_AUTOPLUG
+gst_autoplug_get_type
+GST_AUTOPLUG_CLASS
+GST_IS_AUTOPLUG_CLASS
+</SECTION>
+
+<SECTION>
<FILE>gstplugin</FILE>
<TITLE>GstPlugin</TITLE>
GstPlugin
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
<FILE>gstsink</FILE>
<TITLE>GstSink</TITLE>
GstSink
+GST_SINK_FLAG_LAST
gst_sink_new
<SUBSECTION Standard>
GstSinkClass
<FILE>gstsrc</FILE>
<TITLE>GstSrc</TITLE>
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
<SUBSECTION Standard>
gst_src_get_type
GstSrcClass
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
<SUBSECTION Standard>
</SECTION>
<SECTION>
+<FILE>gstcaps</FILE>
+<TITLE>GstCaps</TITLE>
+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
+<SUBSECTION Standard>
+</SECTION>
+
+<SECTION>
+<FILE>gstprops</FILE>
+<TITLE>GstProps</TITLE>
+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
+<SUBSECTION Standard>
+GstPropsEntry
+GstPropsListFactory[]
+GstPropsId
+GST_PROPS_LIST_ID
+GST_PROPS_INT_ID
+GST_PROPS_INT_RANGE_ID
+GST_PROPS_FOURCC_ID
+GST_PROPS_BOOL_ID
+</SECTION>
+
+<SECTION>
<FILE>gstutils</FILE>
<TITLE>GstUtils</TITLE>
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
gst_xml_new
gst_xml_write
gst_xml_get_element
+gst_xml_get_topelements
<SUBSECTION Standard>
gst_xml_get_type
GST_XML
<TITLE>GstFakeSrc</TITLE>
<SUBSECTION Standard>
GstFakeSrc
+GstFakeSrcOutputType
gst_fakesrc_get_type
GstFakeSrcClass
GST_TYPE_FAKESRC
@thread:
+<!-- ##### FUNCTION cothread_getcurrent ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
<!-- ##### FUNCTION cothread_main ##### -->
<para>
@args...: arguments
+<!-- ##### MACRO GST_DEBUG_ENABLED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEBUG_SET_STRING ##### -->
+<para>
+
+</para>
+
+@format:
+@args...:
+
+
+<!-- ##### MACRO DEBUG_ENTER_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEBUG_ENTER ##### -->
+<para>
+
+</para>
+
+@format:
+@args...:
+
+
+<!-- ##### MACRO DEBUG_LEAVE_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO DEBUG_LEAVE ##### -->
+<para>
+
+</para>
+
+@format:
+@args...:
+
+
</para>
@GST_ASYNCDISKSRC_OPEN:
+@GST_ASYNCDISKSRC_FLAG_LAST:
<!-- ##### ARG GstAsyncDiskSrc:location ##### -->
<para>
</para>
+<!-- ##### ENUM GstBinFlags ##### -->
+<para>
+Flags for a bin
+</para>
+
+@GST_BIN_FLAG_MANAGER:
+@GST_BIN_FLAG_PREFER_COTHREADS:
+@GST_BIN_FLAG_LAST:
+
<!-- ##### STRUCT GstBin ##### -->
<para>
@Returns:
+<!-- ##### MACRO gst_bin_destroy ##### -->
+<para>
+
+</para>
+
+@bin:
+
+
<!-- ##### FUNCTION gst_bin_add ##### -->
<para>
@bin:
+<!-- ##### FUNCTION gst_bin_schedule ##### -->
+<para>
+
+</para>
+
+@bin:
+
+
<!-- ##### SIGNAL GstBin::object-added ##### -->
<para>
is signaled whenever a new <classname>GstElement</classname> is added to the <classname>GstBin</classname>
</para>
-@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
<!-- ##### STRUCT GstBuffer ##### -->
<para>
</para>
@GST_DISKSRC_OPEN:
+@GST_DISKSRC_FLAG_LAST:
<!-- ##### ARG GstDiskSrc:location ##### -->
<para>
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.
-<informaltable pgwide=1 frame="none" role="enum">
-<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
-<tbody>
-<row>
-<entry>GST_STATE_NONE_PENDING</entry>
-<entry>The element is in the desired state.</entry>
-</row>
-
-<row>
-<entry>GST_STATE_NULL</entry>
-<entry>Reset the state of an element.</entry>
-</row>
-
-<row>
-<entry>GST_STATE_READY</entry>
-<entry>will make the element ready to start processing data. some
-elements might have a non trivial way to initialize themselves.
-</entry>
-</row>
-
-<row>
-<entry>GST_STATE_PLAYING</entry>
-<entry>means there really is data flowing through the graph.
-</entry>
-</row>
-
-<row>
-<entry>GST_STATE_PAUSED</entry>
-<entry>means there really is data flowing
-temporary stops the data flow.
-</entry>
-</row>
-
-</tbody></tgroup></informaltable>
</para>
-@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.
<!-- ##### ENUM GstElementStateReturn ##### -->
<para>
This enum defines the standard return values that an element
can return after a state change.
-<informaltable pgwide=1 frame="none" role="enum">
-<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
-<tbody>
-<row>
-<entry>GST_STATE_FAILURE</entry>
-<entry>the element could not perform the state change</entry>
-</row>
-
-<row>
-<entry>GST_STATE_SUCCESS</entry>
-<entry>the element successfully changed its state</entry>
-</row>
-
-<row>
-<entry>GST_STATE_ASYNC</entry>
-<entry>the element will asynchronously change its state as soon as possible
-</entry>
-</row>
-
-</tbody></tgroup></informaltable>
-
</para>
-@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
<!-- ##### MACRO GST_STATE ##### -->
<para>
@obj: Element to return the pending state for.
-<!-- ##### ENUM GstElementFlags ##### -->
+<!-- ##### MACRO GST_STATE_TRANSITION ##### -->
<para>
-This enum defines the standard flags that an element
-may have.
+Returns the state transition this object is going through
+</para>
+
+@obj: the Element to return the tate transition for
+
-<informaltable pgwide=1 frame="none" role="enum">
-<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
-<tbody>
-<row>
-<entry>GST_ELEMENT_MULTI_IN</entry>
-<entry>the element has multiple input pads</entry>
-</row>
+<!-- ##### MACRO GST_STATE_NULL_TO_READY ##### -->
+<para>
+The Element is going from the NULL state to the READY state
+</para>
-</tbody></tgroup></informaltable>
+
+<!-- ##### MACRO GST_STATE_READY_TO_PLAYING ##### -->
+<para>
+The Element is going from the READY state to the PLAYING state
</para>
-@GST_ELEMENT_MULTI_IN:
+
+
+<!-- ##### MACRO GST_STATE_PLAYING_TO_PAUSED ##### -->
+<para>
+The Element is going from the PLAYING state to the PAUSED state
+</para>
+
+
+
+<!-- ##### MACRO GST_STATE_PAUSED_TO_PLAYING ##### -->
+<para>
+The Element is going from the PAUSED state to the PLAYING state
+</para>
+
+
+
+<!-- ##### MACRO GST_STATE_PLAYING_TO_READY ##### -->
+<para>
+The Element is going from the PLAYING state to the READY state
+</para>
+
+
+
+<!-- ##### MACRO GST_STATE_READY_TO_NULL ##### -->
+<para>
+The Element is going from the READY state to the NULL state
+</para>
+
+
+
+<!-- ##### ENUM GstElementFlags ##### -->
+<para>
+This enum defines the standard flags that an element
+may have.
+</para>
+
+@GST_ELEMENT_COMPLEX:
+@GST_ELEMENT_DECOUPLED:
@GST_ELEMENT_THREAD_SUGGESTED:
@GST_ELEMENT_NO_SEEK:
@GST_ELEMENT_NEW_LOOPFUNC:
@GST_ELEMENT_COTHREAD_STOPPING:
+@GST_ELEMENT_USE_COTHREAD:
+@GST_ELEMENT_FLAG_LAST:
-<!-- ##### MACRO GST_ELEMENT_IS_MULTI_IN ##### -->
+<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
<para>
-Query whether this object has multiple input pads.
-
+Queries whether the Element should be placed in a thread
</para>
-@obj: Element to query for multiple input pads.
+@obj: The element to query
-<!-- ##### MACRO GST_ELEMENT_IS_THREAD_SUGGESTED ##### -->
+<!-- ##### MACRO GST_ELEMENT_IS_COTHREAD_STOPPING ##### -->
<para>
-
+Queries whether the cothread holding this element needs to be stopped
</para>
-@obj:
+@obj: The element to query
<!-- ##### STRUCT GstElement ##### -->
@name:
@type:
@details:
-@padfactories:
+@padtemplates:
<!-- ##### USER_FUNCTION GstElementLoopFunction ##### -->
<para>
@Returns:
+<!-- ##### MACRO gst_element_destroy ##### -->
+<para>
+
+</para>
+
+@element: the element to destroy
+
+
<!-- ##### FUNCTION gst_element_set_loop_function ##### -->
<para>
@pad:
-<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_pad ##### -->
<para>
</para>
@element:
-@pad:
+@name:
+@Returns: GList of pads
-<!-- ##### FUNCTION gst_element_get_pad ##### -->
+<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
<para>
</para>
@element:
-@name:
-@Returns: GList of pads
+@Returns:
-<!-- ##### FUNCTION gst_element_get_pad_list ##### -->
+<!-- ##### FUNCTION gst_element_get_padtemplate_list ##### -->
<para>
</para>
@Returns:
+<!-- ##### FUNCTION gst_element_add_ghost_pad ##### -->
+<para>
+
+</para>
+
+@element:
+@pad:
+
+
<!-- ##### FUNCTION gst_element_connect ##### -->
<para>
@Returns:
-<!-- ##### MACRO gst_element_destroy ##### -->
-<para>
-
-</para>
-
-@element: the element to destroy
-
-
<!-- ##### FUNCTION gst_element_save_thyself ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gst_elementfactory_register ##### -->
+<!-- ##### FUNCTION gst_elementfactory_destroy ##### -->
+<para>
+
+</para>
+
+@elementfactory:
+
+
+<!-- ##### FUNCTION gst_elementfactory_add_padtemplate ##### -->
<para>
</para>
@elementfactory:
+@temp:
+<!-- # Unused Parameters # -->
+@pad:
<!-- ##### FUNCTION gst_elementfactory_find ##### -->
@Returns:
+<!-- ##### FUNCTION gst_elementfactory_can_src_caps ##### -->
+<para>
+
+</para>
+
+@factory:
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_elementfactory_can_sink_caps ##### -->
+<para>
+
+</para>
+
+@factory:
+@caps:
+@Returns:
+
+
<!-- ##### FUNCTION gst_elementfactory_create ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gst_element_loopfunc_wrapper ##### -->
-<para>
-</para>
-
-@argc:
-@argv:
-@Returns:
-
-
<!-- ##### SIGNAL GstElement::state-change ##### -->
<para>
Is trigered whenever the state of an element changes
</para>
+<!-- ##### SIGNAL GstFakeSink::handoff ##### -->
+<para>
+
+</para>
+
+@gstfakesink: the object which received the signal.
+
</para>
+<!-- ##### SIGNAL GstFakeSrc::handoff ##### -->
+<para>
+
+</para>
+
+@gstfakesrc: the object which received the signal.
+
+<!-- ##### ARG GstFakeSrc:num_sources ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstFakeSrc:loop_based ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstFakeSrc:output ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GstFakeSrc:patern ##### -->
+<para>
+
+</para>
+
</para>
+<!-- ##### MACRO GST_FILTER_FLAG_LAST ##### -->
+<para>
+subclass use this to start their flag enumeration
+</para>
+
+
+
<!-- ##### FUNCTION gst_filter_new ##### -->
<para>
</para>
+<!-- ##### ARG GstIdentity:loop_based ##### -->
+<para>
+
+</para>
+
</para>
+<!-- ##### MACRO GST_OBJECT_FLAG_LAST ##### -->
+<para>
+subclasses can use this value to start the enumeration of their flags
+</para>
+
+
+
<!-- ##### STRUCT GstObject ##### -->
<para>
@buf: the buffer that is chained
-<!-- ##### USER_FUNCTION GstPadPullFunction ##### -->
+<!-- ##### USER_FUNCTION GstPadGetFunction ##### -->
<para>
-The function that will be called when pulling buffers.
+The function that will be called when pulling a buffer.
</para>
-@pad: the pad to pull
+@pad: the pad to get a buffer from
+@Returns: a GstBuffer
-<!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
+<!-- ##### USER_FUNCTION GstPadGetRegionFunction ##### -->
<para>
The function that will be called when pulling a region buffer.
</para>
-@pad: the pad to pull
-@offset: the offset of the region to pull
-@size: the size of the region to pull
+@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
+
+
+<!-- ##### USER_FUNCTION GstPadQoSFunction ##### -->
+<para>
+the function that will be called when a QoS message is sent.
+</para>
+
+@pad: the pad that sent the QoS message
+@qos_message: the message
<!-- ##### USER_FUNCTION GstPadPushFunction ##### -->
<para>
-The function that will be called when pulling buffers.
+The function that will be called when pushing a buffers.
</para>
@pad: the pad to push
+@buf: a GstBuffer to push
-<!-- ##### USER_FUNCTION GstPadQoSFunction ##### -->
+<!-- ##### USER_FUNCTION GstPadPullFunction ##### -->
<para>
-the function that will be called when a QoS message is sent.
+The function that will be called when pulling buffers.
</para>
-@pad: the pad that sent the QoS message
-@qos_message: the message
+@pad: the pad to pull
+@Returns: a GstBuffer
+
+
+<!-- ##### USER_FUNCTION GstPadPullRegionFunction ##### -->
+<para>
+The function that will be called when pulling a region buffer.
+</para>
+
+@pad: the pad to pull
+@offset: the offset of the region to pull
+@size: the size of the region to pull
+@Returns: a GstBuffer
<!-- ##### ENUM GstPadDirection ##### -->
<para>
+The direction this pad is
+</para>
+
+@GST_PAD_UNKNOWN: direction is unknown
+@GST_PAD_SRC: this is a source pad
+@GST_PAD_SINK: this is a sink pad
+<!-- ##### ENUM GstPadFlags ##### -->
+<para>
+Flags for the pad
</para>
-@GST_PAD_UNKNOWN:
-@GST_PAD_SRC:
-@GST_PAD_SINK:
+@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
<!-- ##### FUNCTION gst_pad_new ##### -->
<para>
<!-- ##### MACRO gst_pad_destroy ##### -->
<para>
+Destroy the pad
+</para>
+
+@pad: the pad to destroy
+
+
+<!-- ##### FUNCTION gst_pad_new_from_template ##### -->
+<para>
</para>
-@pad:
+@temp:
+@name:
+@Returns:
<!-- ##### FUNCTION gst_pad_get_direction ##### -->
@chain:
-<!-- ##### FUNCTION gst_pad_set_pull_function ##### -->
+<!-- ##### FUNCTION gst_pad_set_get_function ##### -->
+<para>
+
+</para>
+
+@pad:
+@get:
+
+
+<!-- ##### FUNCTION gst_pad_set_getregion_function ##### -->
+<para>
+
+</para>
+
+@pad:
+@getregion:
+
+
+<!-- ##### FUNCTION gst_pad_set_qos_function ##### -->
+<para>
+
+</para>
+
+@pad:
+@qos:
+
+
+<!-- ##### FUNCTION gst_pad_set_caps ##### -->
+<para>
+
+</para>
+
+@pad:
+@caps:
+
+
+<!-- ##### FUNCTION gst_pad_get_caps ##### -->
<para>
</para>
@pad:
-@pull:
+@Returns:
<!-- ##### FUNCTION gst_pad_set_name ##### -->
@parent:
-<!-- ##### FUNCTION gst_pad_add_ghost_parent ##### -->
+<!-- ##### FUNCTION gst_pad_get_parent ##### -->
<para>
</para>
@pad:
-@parent:
+@Returns:
-<!-- ##### FUNCTION gst_pad_remove_ghost_parent ##### -->
+<!-- ##### FUNCTION gst_pad_add_ghost_parent ##### -->
<para>
</para>
@parent:
-<!-- ##### FUNCTION gst_pad_get_parent ##### -->
+<!-- ##### FUNCTION gst_pad_remove_ghost_parent ##### -->
<para>
</para>
@pad:
-@Returns:
+@parent:
<!-- ##### FUNCTION gst_pad_get_ghost_parents ##### -->
@Returns:
-<!-- ##### FUNCTION gst_pad_set_qos_function ##### -->
+<!-- ##### MACRO gst_pad_pullregion ##### -->
<para>
</para>
@pad:
-@qos:
+@offset:
+@size:
<!-- ##### FUNCTION gst_pad_handle_qos ##### -->
@elements:
-<!-- ##### ARG GstPad:active ##### -->
+<!-- ##### TYPEDEF GstPadFactoryEntry ##### -->
+<para>
+Defines an entry for a padfactory
+</para>
+
+
+<!-- ##### TYPEDEF GstPadFactory[] ##### -->
+<para>
+The padfactory
+</para>
+
+
+<!-- ##### MACRO GST_PAD_FACTORY_SOMETIMES ##### -->
+<para>
+Indicate that this pad will become available depending
+on the media type. Use this in the factory definition
+</para>
+
+
+
+<!-- ##### MACRO GST_PAD_FACTORY_ALWAYS ##### -->
+<para>
+Indicate that this pad will always be available.
+Use this in the factory definition
+</para>
+
+
+
+<!-- ##### MACRO GST_PAD_FACTORY_SINK ##### -->
+<para>
+Indicates a sinkpad for the padfactory.
+</para>
+
+
+
+<!-- ##### MACRO GST_PAD_FACTORY_SRC ##### -->
+<para>
+Indicates a srcpad for the padfactory.
+</para>
+
+
+
+<!-- ##### ENUM GstPadPresence ##### -->
+<para>
+Indicates when this pad will become available
+</para>
+
+@GST_PAD_ALWAYS: the pad is always available
+@GST_PAD_SOMETIMES: the pad will become available depending on the media stream
+
+<!-- ##### STRUCT GstPadTemplate ##### -->
+<para>
+
+</para>
+
+@object:
+@name_template:
+@direction:
+@presence:
+@caps:
+
+<!-- ##### FUNCTION gst_padtemplate_new ##### -->
+<para>
+
+</para>
+
+@factory:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_create ##### -->
+<para>
+
+</para>
+
+@name_template:
+@direction:
+@presence:
+@caps:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_load_thyself ##### -->
+<para>
+
+</para>
+
+@parent:
+@Returns:
+
+
+<!-- ##### FUNCTION gst_padtemplate_save_thyself ##### -->
<para>
</para>
+@pad:
+@parent:
+@Returns:
+
+
+<!-- ##### ARG GstPad:active ##### -->
+<para>
+Indicates this pad is active
+</para>
+
@Returns:
-<!-- ##### FUNCTION gst_plugin_add_type ##### -->
+<!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
<para>
</para>
-@plugin:
-@factory:
+@name:
+@Returns:
<!-- ##### FUNCTION gst_library_load ##### -->
@Returns:
-<!-- ##### FUNCTION gst_plugin_load_absolute ##### -->
+<!-- ##### FUNCTION gst_plugin_add_factory ##### -->
<para>
</para>
-@name:
-@Returns:
+@plugin:
+@factory:
-<!-- ##### FUNCTION gst_plugin_add_factory ##### -->
+<!-- ##### FUNCTION gst_plugin_add_type ##### -->
<para>
</para>
blocks.
</para>
+<!-- ##### ARG GstQueue:block ##### -->
+<para>
+
+</para>
+
@Returns:
+<!-- ##### MACRO GST_PROPS_INT_RANGE_ID ##### -->
+<para>
+
+</para>
+
+
<!-- ##### MACRO GST_SINESRC ##### -->
<para>
</para>
+<!-- ##### MACRO GST_PROPS_LIST_ID ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION plugin_load ##### -->
<para>
@connection:
+<!-- ##### MACRO GST_SRC_ASYNC ##### -->
+<para>
+This macro checks to see if the GST_SRC_ASYNC flag is set.
+</para>
+
+@obj: GstSrc to check for flag in.
+
<!-- ##### MACRO GST_TYPE_ASYNCDISKSRC ##### -->
<para>
@Returns:
+<!-- ##### MACRO GST_PROPS_INT_ID ##### -->
+<para>
+
+</para>
+
+
<!-- ##### STRUCT GstDiskSrcClass ##### -->
<para>
@pad:
@buf:
+<!-- ##### FUNCTION gst_type_get_sinks ##### -->
+<para>
+
+</para>
+
+@id:
+@Returns:
+
<!-- ##### MACRO GST_TYPE_HTTPSRC ##### -->
<para>
@obj:
+<!-- ##### FUNCTION gst_type_get_srcs ##### -->
+<para>
+
+</para>
+
+@id:
+@Returns:
+
<!-- ##### FUNCTION plugin_load_absolute ##### -->
<para>
</para>
+<!-- ##### MACRO GST_SRC_FLAGS ##### -->
+<para>
+This macro returns the entire set of flags for the object.
+</para>
+
+@obj: GstSrc to return flags for.
+
<!-- ##### FUNCTION gst_sink_get_type ##### -->
<para>
</para>
+<!-- ##### FUNCTION gst_type_load_thyself ##### -->
+<para>
+
+</para>
+
+@parent:
+@Returns:
+
<!-- ##### FUNCTION gst_plugin_init ##### -->
<para>
@klass:
+<!-- ##### ENUM GstCapsDefinition ##### -->
+<para>
+
+</para>
+
+@GST_CAPS_ALWAYS:
+@GST_CAPS_MAYBE:
+
<!-- ##### MACRO GST_DISKSRC ##### -->
<para>
</para>
+<!-- ##### MACRO GST_PROPS_FOURCC_ID ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GST_SRC_UNSET_FLAGS ##### -->
+<para>
+This macro usets the given flags.
+</para>
+
+@src:
+@flag: Flag to set, must be a single bit in guint32.
+@obj: GstSrc to unset flag in.
+
<!-- ##### FUNCTION gst_audiosink_sync_parms ##### -->
<para>
@obj: Element to check for state.
@flag: State to check for, must be a single bit in guint32.
+<!-- ##### FUNCTION gst_type_save_thyself ##### -->
+<para>
+
+</para>
+
+@type:
+@parent:
+@Returns:
+
<!-- ##### MACRO GST_IS_SINESRC ##### -->
<para>
@obj:
+<!-- ##### MACRO GST_SRC_SET_FLAGS ##### -->
+<para>
+This macro sets the given flags.
+</para>
+
+@src:
+@flag: Flag to set, can by any number of bits in guint32.
+@obj: GstSrc to set flag in.
+
<!-- ##### FUNCTION gst_fdsink_get_type ##### -->
<para>
</para>
+<!-- ##### FUNCTION gst_element_loopfunc_wrapper ##### -->
+<para>
+</para>
+
+@argc:
+@argv:
+@Returns:
+
<!-- ##### MACRO GST_TYPE_FDSRC ##### -->
<para>
</para>
+<!-- ##### FUNCTION gst_type_get_sink_to_src ##### -->
+<para>
+
+</para>
+
+@sinkid:
+@srcid:
+@Returns:
+
<!-- ##### MACRO GST_TYPE_FAKESRC ##### -->
<para>
</para>
+<!-- ##### ARG GstTypeFind:type ##### -->
+<para>
+Query the element for the current mime type
+</para>
+
+
<!-- ##### SECTION ./tmpl/GstElement.sgml:Short_Description ##### -->
@klass:
+<!-- ##### FUNCTION gst_type_dump ##### -->
+<para>
+
+</para>
+
+
<!-- ##### STRUCT GstAudioSinkClass ##### -->
<para>
</para>
+<!-- ##### ENUM GstPropsId ##### -->
+<para>
+
+</para>
+
+@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:
+
<!-- ##### STRUCT GstEsdSinkClass ##### -->
<para>
@Returns:
+<!-- ##### TYPEDEF GstPropsListFactory[] ##### -->
+<para>
+
+</para>
+
+
<!-- ##### FUNCTION gst_pad_get_type_id ##### -->
<para>
@audiosink:
@frequency:
+<!-- ##### FUNCTION gst_elementfactory_register ##### -->
+<para>
+
+</para>
+
+@elementfactory:
+
<!-- ##### MACRO GST_TYPE_QUEUE ##### -->
<para>
</para>
+<!-- ##### FUNCTION gst_pad_set_pull_function ##### -->
+<para>
+
+</para>
+
+@pad:
+@pull:
+
<!-- ##### STRUCT GstFakeSinkClass ##### -->
<para>
@esdsink:
@format:
+<!-- ##### MACRO GST_ELEMENT_IS_MULTI_IN ##### -->
+<para>
+Query whether this object has multiple input pads.
+
+</para>
+
+@obj: Element to query for multiple input pads.
+
<!-- ##### MACRO GST_DISKSRC_CLASS ##### -->
<para>
@klass:
-<!-- ##### MACRO GST_TYPE_FAKESINK ##### -->
+<!-- ##### MACRO GST_PROPS_BOOL_ID ##### -->
<para>
</para>
-<!-- ##### MACRO GST_CONNECTION ##### -->
+<!-- ##### MACRO GST_TYPE_FAKESINK ##### -->
<para>
</para>
-@obj:
-<!-- ##### SECTION ./tmpl/plugin.sgml:Short_Description ##### -->
+<!-- ##### MACRO GST_CONNECTION ##### -->
+<para>
+</para>
+@obj:
<!-- ##### FUNCTION gst_audiosrc_push ##### -->
<para>
@src:
+<!-- ##### SECTION ./tmpl/plugin.sgml:Short_Description ##### -->
+
+
+
<!-- ##### MACRO GST_HTTPSRC_CLASS ##### -->
<para>
@name:
@Returns:
-<!-- ##### MACRO GST_TYPE_ESDSINK ##### -->
+<!-- ##### MACRO GST_CPU_FLAG_MMX ##### -->
<para>
-
+A flag indicating that MMX instructions are supported.
</para>
-<!-- ##### MACRO GST_CPU_FLAG_MMX ##### -->
+<!-- ##### MACRO GST_TYPE_ESDSINK ##### -->
<para>
-A flag indicating that MMX instructions are supported.
+
</para>
</para>
+<!-- ##### MACRO GST_SINK_FLAG_LAST ##### -->
+<para>
+
+</para>
+
+
+
<!-- ##### FUNCTION gst_sink_new ##### -->
<para>
<!-- ##### ENUM GstSrcFlags ##### -->
<para>
-
-<informaltable pgwide=1 frame="none" role="enum">
-<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
-<tbody>
-<row>
-<entry>GST_SRC_ASYNC</entry>
-<entry>this source is assynchronous </entry>
-</row>
-
-</tbody></tgroup></informaltable>
+Flags for the GstSrc element
</para>
-@GST_SRC_ASYNC:
+@GST_SRC_ASYNC: Indicates that this src is asynchronous
+@GST_SRC_FLAG_LAST: subclasses can use this to number their flags
-<!-- ##### MACRO GST_SRC_FLAGS ##### -->
+<!-- ##### MACRO GST_SRC_IS_ASYNC ##### -->
<para>
-This macro returns the entire set of flags for the object.
+Query a GstSrc for the ASYNC flag
</para>
-@obj: GstSrc to return flags for.
-
-
-<!-- ##### MACRO GST_SRC_ASYNC ##### -->
-<para>
-This macro checks to see if the GST_SRC_ASYNC flag is set.
-</para>
-
-@obj: GstSrc to check for flag in.
-
-
-<!-- ##### MACRO GST_SRC_SET_FLAGS ##### -->
-<para>
-This macro sets the given flags.
-</para>
-
-@src:
-@flag: Flag to set, can by any number of bits in guint32.
-<!-- # Unused Parameters # -->
-@obj: GstSrc to set flag in.
-
-
-<!-- ##### MACRO GST_SRC_UNSET_FLAGS ##### -->
-<para>
-This macro usets the given flags.
-</para>
-
-@src:
-@flag: Flag to set, must be a single bit in guint32.
-<!-- # Unused Parameters # -->
-@obj: GstSrc to unset flag in.
+@obj: The GstSrc to query
<!-- ##### STRUCT GstSrc ##### -->
<!-- ##### ENUM GstThreadState ##### -->
<para>
-
-<informaltable pgwide=1 frame="none" role="enum">
-<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
-<tbody>
-<row>
-<entry>GST_THREAD_CREATE</entry>
-<entry>The thread is being created. </entry>
-</row>
-
-<row>
-<entry>GST_THREAD_STATE_SPINNING</entry>
-<entry>The thread is runnning</entry>
-</row>
-
-<row>
-<entry>GST_THREAD_STATE_REAPING</entry>
-<entry>The thread is ending.</entry>
-</row>
-
-</tbody></tgroup></informaltable>
-
+thread flags
</para>
-@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
<!-- ##### STRUCT GstThread ##### -->
<para>
@mime:
@exts:
@typefindfuncs:
-@srcs:
-@sinks:
-@converters:
<!-- ##### STRUCT GstTypeFactory ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gst_type_get_srcs ##### -->
-<para>
-
-</para>
-
-@id:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_type_get_sinks ##### -->
-<para>
-
-</para>
-
-@id:
-@Returns:
-
-
<!-- ##### FUNCTION gst_type_find_by_id ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gst_type_save_thyself ##### -->
-<para>
-
-</para>
-
-@type:
-@parent:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_type_get_sink_to_src ##### -->
-<para>
-
-</para>
-
-@sinkid:
-@srcid:
-@Returns:
-
-
-<!-- ##### FUNCTION gst_type_dump ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION gst_type_load_thyself ##### -->
-<para>
-
-</para>
-
-@parent:
-@Returns:
-
-
<!-- ##### FUNCTION gst_typefactory_load_thyself ##### -->
<para>
@gsttypefind: the object which received the signal.
@arg1: The mime type that was detected
-<!-- ##### ARG GstTypeFind:type ##### -->
+<!-- ##### ARG GstTypeFind:caps ##### -->
<para>
-Query the element for the current mime type
+
</para>
@Returns:
+<!-- ##### FUNCTION gst_util_get_bool_arg ##### -->
+<para>
+
+</para>
+
+@object:
+@argname:
+@Returns:
+
+
<!-- ##### FUNCTION gst_util_get_long_arg ##### -->
<para>
@object:
@elements:
+@topelements:
<!-- ##### FUNCTION gst_xml_new ##### -->
<para>
@Returns:
+<!-- ##### FUNCTION gst_xml_get_topelements ##### -->
+<para>
+
+</para>
+
+@xml:
+@Returns:
+
+
@meta:
@format:
@visual:
+@width:
@height:
+@overlay_info:
+@dga_info:
<!-- ##### STRUCT MetaDGA ##### -->
<para>
</para>
+@base:
+@swidth:
+@sheight:
+@bytes_per_line:
<!-- ##### STRUCT MetaOverlay ##### -->
<para>
</para>
+@wx:
+@wy:
+@overlay_element:
+@clip_count:
+@overlay_clip:
@width:
@height:
@did_overlay:
* Boston, MA 02111-1307, USA.
*/
-#define GST_DEBUG_ENABLED
+//#define GST_DEBUG_ENABLED
#include "gstbin.h"
#include "gstdebug.h"
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);
DEBUG_LEAVE("(\"%s\")",gst_element_get_name(GST_ELEMENT(bin)));
}
-void
+static void
gst_bin_iterate_func (GstBin *bin)
{
GList *chains;
(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 */
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;
void gst_bin_iterate (GstBin *bin);
-// hack FIXME
+/* hack FIXME */
void gst_bin_use_cothreads (GstBin *bin,
gboolean enabled);
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)
{
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)
{
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)
{
}
+/**
+ * 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)
{
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)
{
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) */
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);
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.
(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 */
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);
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);
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);
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);
}
/**
- * 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..
}
/**
* 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)
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)
}
/**
- * gst_pad_set_pull_function:
+ * gst_pad_set_get_function:
* @pad: the pad to set the get function for
* @get: the get function
*
}
}
-
/**
* gst_pad_chain:
* @pad: the pad to chain
*
* 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)
*
*/
+/**
+ * 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)
{
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,
}
+/**
+ * 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)
{
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)
{
#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)
GstObject *parent;
GList *ghostparents;
- GstPadTemplate *padtemplate; // the template for this pad
+ GstPadTemplate *padtemplate; /* the template for this pad */
};
struct _GstPadClass {
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 {
*
* Register the factory.
*
- * Returns: The registered capability
+ * Returns: The new property created from the factory
*/
GstProps *
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, ...)
{
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)
{
/**
* gst_props_check_compatibility:
- * @fromprops: a capabilty
- * @toprops: a capabilty
+ * @fromprops: a property
+ * @toprops: a property
*
* Checks whether two capabilities are compatible
*
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)
{
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)
{
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);
* Boston, MA 02111-1307, USA.
*/
-#define GST_DEBUG_ENABLED
+//#define GST_DEBUG_ENABLED
#include "gstscheduler.h"
#include "gstdebug.h"
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;
*
* Create a new thrad with the given name
*
- * Returns; The new thread
+ * Returns: The new thread
*/
GstElement*
gst_thread_new (guchar *name)
};
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;
/* 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;
};