From 9655c3b593a98d17a627347c12d4c2abc95a0584 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 28 Dec 2000 21:42:23 +0000 Subject: [PATCH] Updated the API docs. Original commit message from CVS: Updated the API docs. --- docs/gst/Makefile.am | 2 +- docs/gst/gstreamer-decl.txt | 625 ++++++++++++++++++++-------- docs/gst/gstreamer-docs.sgml | 6 + docs/gst/gstreamer-sections.txt | 167 ++++++-- docs/gst/tmpl/cothreads.sgml | 8 + docs/gst/tmpl/gst.sgml | 48 +++ docs/gst/tmpl/gstasyncdisksrc.sgml | 1 + docs/gst/tmpl/gstbin.sgml | 25 ++ docs/gst/tmpl/gstbuffer.sgml | 11 +- docs/gst/tmpl/gstdisksrc.sgml | 1 + docs/gst/tmpl/gstelement.sgml | 246 ++++++----- docs/gst/tmpl/gstfakesink.sgml | 7 + docs/gst/tmpl/gstfakesrc.sgml | 27 ++ docs/gst/tmpl/gstfilter.sgml | 7 + docs/gst/tmpl/gstidentity.sgml | 5 + docs/gst/tmpl/gstobject.sgml | 7 + docs/gst/tmpl/gstpad.sgml | 250 +++++++++-- docs/gst/tmpl/gstplugin.sgml | 14 +- docs/gst/tmpl/gstqueue.sgml | 5 + docs/gst/tmpl/gstreamer-unused.sgml | 193 ++++++++- docs/gst/tmpl/gstsink.sgml | 7 + docs/gst/tmpl/gstsrc.sgml | 50 +-- docs/gst/tmpl/gstthread.sgml | 29 +- docs/gst/tmpl/gsttype.sgml | 57 --- docs/gst/tmpl/gsttypefind.sgml | 4 +- docs/gst/tmpl/gstutils.sgml | 10 + docs/gst/tmpl/gstxml.sgml | 10 + docs/gst/tmpl/videoraw.sgml | 12 + gst/gstbin.c | 5 +- gst/gstbin.h | 10 +- gst/gstcaps.c | 44 ++ gst/gstcaps.h | 8 +- gst/gstelement.c | 16 - gst/gstelement.h | 25 +- gst/gstelementfactory.c | 36 +- gst/gstpad.c | 41 +- gst/gstpad.h | 4 +- gst/gstpipeline.h | 4 +- gst/gstprops.c | 41 +- gst/gstprops.h | 2 +- gst/gstscheduler.c | 2 +- gst/gstsrc.h | 2 +- gst/gstthread.c | 2 +- gst/meta/videoraw.h | 20 +- 44 files changed, 1518 insertions(+), 578 deletions(-) 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; };