adding basetransform and iterator docs
authorThomas Vander Stichele <thomas@apestaart.org>
Mon, 27 Jun 2005 14:40:09 +0000 (14:40 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Mon, 27 Jun 2005 14:40:09 +0000 (14:40 +0000)
Original commit message from CVS:
adding basetransform and iterator docs

17 files changed:
ChangeLog
docs/gst/gstreamer-docs.sgml
docs/gst/gstreamer-sections.txt
docs/gst/gstreamer.types
docs/gst/tmpl/gstbasesink.sgml
docs/gst/tmpl/gstbasesrc.sgml
docs/gst/tmpl/gstbasetransform.sgml [new file with mode: 0644]
docs/gst/tmpl/gstelement.sgml
docs/gst/tmpl/gstiterator.sgml [new file with mode: 0644]
gst/base/gstbasesrc.c
gst/base/gstbasesrc.h
gst/base/gstbasetransform.h
gst/gstelement.c
gst/gstiterator.h
libs/gst/base/gstbasesrc.c
libs/gst/base/gstbasesrc.h
libs/gst/base/gstbasetransform.h

index a044ded..2959246 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       * docs/gst/gstreamer-docs.sgml:
+       * docs/gst/gstreamer-sections.txt:
+       * docs/gst/gstreamer.types:
+       * docs/gst/tmpl/gstbasesink.sgml:
+       * docs/gst/tmpl/gstbasesrc.sgml:
+       * docs/gst/tmpl/gstbasetransform.sgml:
+       * docs/gst/tmpl/gstelement.sgml:
+       * docs/gst/tmpl/gstiterator.sgml:
+       * gst/base/gstbasesrc.c:
+       * gst/base/gstbasesrc.h:
+       * gst/base/gstbasetransform.h:
+       * gst/gstelement.c:
+       * gst/gstiterator.h:
+         adding basetransform and iterator docs
+
 2005-06-27  Andy Wingo  <wingo@pobox.com>
 
        * docs/design/part-activation.txt: Notes on how activation should
index cc3d044..e69d89e 100644 (file)
@@ -8,7 +8,9 @@
 <!ENTITY GstBuffer SYSTEM "xml/gstbuffer.xml">
 <!ENTITY GstCaps SYSTEM "xml/gstcaps.xml">
 <!ENTITY GstClock SYSTEM "xml/gstclock.xml">
+<!--
 <!ENTITY GstCompat SYSTEM "xml/gstcompat.xml">
+-->
 <!ENTITY GstConfig SYSTEM "xml/gstconfig.xml">
 <!ENTITY GstElement SYSTEM "xml/gstelement.xml">
 <!ENTITY GstElementDetails SYSTEM "xml/gstelementdetails.xml">
@@ -22,6 +24,7 @@
 <!ENTITY GstIndex SYSTEM "xml/gstindex.xml">
 <!ENTITY GstIndexFactory SYSTEM "xml/gstindexfactory.xml">
 <!ENTITY GstInfo SYSTEM "xml/gstinfo.xml">
+<!ENTITY GstIterator SYSTEM "xml/gstiterator.xml">
 <!ENTITY GstMacros SYSTEM "xml/gstmacros.xml">
 <!ENTITY GstMemChunk SYSTEM "xml/gstmemchunk.xml">
 <!ENTITY GstObject SYSTEM "xml/gstobject.xml">
@@ -34,7 +37,6 @@
 <!ENTITY GstProbe SYSTEM "xml/gstprobe.xml">
 <!ENTITY GstQuery SYSTEM "xml/gstquery.xml">
 <!ENTITY GstQueue SYSTEM "xml/gstqueue.xml">
-<!ENTITY GstRealPad SYSTEM "xml/gstrealpad.xml">
 <!ENTITY GstRegistry SYSTEM "xml/gstregistry.xml">
 <!ENTITY GstRegistryPool SYSTEM "xml/gstregistrypool.xml">
 <!ENTITY GstScheduler SYSTEM "xml/gstscheduler.xml">
@@ -57,6 +59,7 @@
 
 <!ENTITY GstBaseSrc SYSTEM "xml/gstbasesrc.xml">
 <!ENTITY GstBaseSink SYSTEM "xml/gstbasesink.xml">
+<!ENTITY GstBaseTransform SYSTEM "xml/gstbasetransform.xml">
 
 <!ENTITY GstFakeSrc SYSTEM "xml/gstfakesrc.xml">
 <!ENTITY GstFakeSink SYSTEM "xml/gstfakesink.xml">
     &GstIndex;
     &GstIndexFactory;
     &GstInfo;
+    &GstIterator;
     &GstObject;
     &GstPad;
     &GstPadTemplate;
     &GstProbe;
     &GstQuery;
     &GstQueue;
-    &GstRealPad;
     &GstRegistry;
     &GstRegistryPool;
     &GstScheduler;
 
   </chapter>
 
+<!--
   <chapter id="gstreamer-compat">
     <title>GStreamer Core Compatibility</title>
     <para>
     &GstCompat;
 
   </chapter>
+-->
 
   <chapter id="element-types">
     <title>GStreamer Core Elements</title>
 
     &GstBaseSrc;
     &GstBaseSink;
+    &GstBaseTransform;
 
   </chapter>
 
index 99e395a..374e701 100644 (file)
@@ -323,6 +323,7 @@ gst_element_get_state
 gst_element_set_state
 gst_element_state_get_name
 gst_element_get_factory
+gst_element_get_manager
 gst_element_no_more_pads
 <SUBSECTION Standard>
 GST_ELEMENT
@@ -700,6 +701,43 @@ gst_implements_interface_get_type
 </SECTION>
 
 <SECTION>
+<FILE>gstiterator</FILE>
+<TITLE>GstIterator</TITLE>
+GstIterator
+
+GstIteratorItem
+GstIteratorResult
+
+GstIteratorDisposeFunction
+GstIteratorNextFunction
+GstIteratorItemFunction
+GstIteratorResyncFunction
+GstIteratorFreeFunction
+GstIteratorFoldFunction
+
+GST_ITERATOR
+GST_ITERATOR_LOCK
+GST_ITERATOR_COOKIE
+GST_ITERATOR_ORIG_COOKIE
+
+gst_iterator_new
+gst_iterator_new_list
+
+gst_iterator_next
+gst_iterator_resync
+gst_iterator_free
+gst_iterator_push
+gst_iterator_filter
+gst_iterator_fold
+gst_iterator_foreach
+gst_iterator_find_custom
+
+
+<SUBSECTION Standard>
+<SUBSECTION Private>
+</SECTION>
+
+<SECTION>
 <FILE>gstmacros</FILE>
 <TITLE>GstMacros</TITLE>
 <SUBSECTION Private>
@@ -1693,12 +1731,19 @@ gst_filesink_get_type
 <TITLE>GstBaseSrc</TITLE>
 GstBaseSrc
 GstBaseSrcClass
+GstBaseSrcFlags
+
+gst_basesrc_is_live
+gst_basesrc_set_live
+
+GST_BASESRC_PAD
 <SUBSECTION Standard>
 GST_BASESRC
 GST_IS_BASESRC
 GST_TYPE_BASESRC
 GST_BASESRC_CLASS
 GST_IS_BASESRC_CLASS
+GST_BASESRC_GET_CLASS
 <SUBSECTION Private>
 gst_basesrc_get_type
 </SECTION>
@@ -1708,6 +1753,10 @@ gst_basesrc_get_type
 <FILE>gstbasesink</FILE>
 <TITLE>GstBaseSink</TITLE>
 GstBaseSink
+GstBaseSinkClass
+
+GST_BASESINK_CLOCK
+GST_BASESINK_PAD
 
 <SUBSECTION Standard>
 GstBaseSinkClass
@@ -1720,3 +1769,19 @@ GST_BASESINK_GET_CLASS
 <SUBSECTION Private>
 gst_basesink_get_type
 </SECTION>
+
+<SECTION>
+<FILE>gstbasetransform</FILE>
+<TITLE>GstBaseTransform</TITLE>
+GstBaseTransform
+GstBaseTransformClass
+<SUBSECTION Standard>
+GST_BASETRANSFORM
+GST_IS_BASETRANSFORM
+GST_TYPE_BASETRANSFORM
+GST_BASETRANSFORM_CLASS
+GST_IS_BASETRANSFORM_CLASS
+GST_BASETRANSFORM_GET_CLASS
+<SUBSECTION Private>
+gst_basetransform_get_type
+</SECTION>
index 252209b..a47a631 100644 (file)
@@ -33,9 +33,11 @@ gst_xml_get_type
 
 #include <gst/base/gstbasesrc.h>
 #include <gst/base/gstbasesink.h>
+#include <gst/base/gstbasetransform.h>
 
 gst_basesrc_get_type
 gst_basesink_get_type
+gst_base_transform_get_type
 
 % elements
 
index 1c1cf46..65b2f63 100644 (file)
@@ -35,3 +35,34 @@ GstBaseSink
 
 </para>
 
+<!-- ##### STRUCT GstBaseSinkClass ##### -->
+<para>
+
+</para>
+
+@parent_class: 
+@get_caps: 
+@set_caps: 
+@buffer_alloc: 
+@get_times: 
+@unlock: 
+@event: 
+@preroll: 
+@render: 
+
+<!-- ##### MACRO GST_BASESINK_CLOCK ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
+<!-- ##### MACRO GST_BASESINK_PAD ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
index b388bf6..82b5451 100644 (file)
@@ -68,3 +68,37 @@ GstBaseSrc
 @event: 
 @create: 
 
+<!-- ##### ENUM GstBaseSrcFlags ##### -->
+<para>
+
+</para>
+
+@GST_BASESRC_STARTED: 
+@GST_BASESRC_FLAG_LAST: 
+
+<!-- ##### FUNCTION gst_basesrc_is_live ##### -->
+<para>
+
+</para>
+
+@src: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_basesrc_set_live ##### -->
+<para>
+
+</para>
+
+@src: 
+@live: 
+
+
+<!-- ##### MACRO GST_BASESRC_PAD ##### -->
+<para>
+
+</para>
+
+@obj: 
+
+
diff --git a/docs/gst/tmpl/gstbasetransform.sgml b/docs/gst/tmpl/gstbasetransform.sgml
new file mode 100644 (file)
index 0000000..ce816ed
--- /dev/null
@@ -0,0 +1,34 @@
+<!-- ##### SECTION Title ##### -->
+GstBaseTransform
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GstBaseTransform ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GstBaseTransformClass ##### -->
+<para>
+
+</para>
+
+@parent_class: 
+@set_caps: 
+@start: 
+@stop: 
+@event: 
+@transform: 
+
index 9c33422..3c20fa5 100644 (file)
@@ -711,6 +711,15 @@ Sets the parent of an element.
 @Returns: 
 
 
+<!-- ##### FUNCTION gst_element_get_manager ##### -->
+<para>
+
+</para>
+
+@element: 
+@Returns: 
+
+
 <!-- ##### FUNCTION gst_element_no_more_pads ##### -->
 <para>
 
diff --git a/docs/gst/tmpl/gstiterator.sgml b/docs/gst/tmpl/gstiterator.sgml
new file mode 100644 (file)
index 0000000..307d499
--- /dev/null
@@ -0,0 +1,245 @@
+<!-- ##### SECTION Title ##### -->
+GstIterator
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GstIterator ##### -->
+<para>
+
+</para>
+
+@next: 
+@item: 
+@resync: 
+@free: 
+@pushed: 
+@lock: 
+@cookie: 
+@master_cookie: 
+
+<!-- ##### ENUM GstIteratorItem ##### -->
+<para>
+
+</para>
+
+@GST_ITERATOR_ITEM_SKIP: 
+@GST_ITERATOR_ITEM_PASS: 
+@GST_ITERATOR_ITEM_END: 
+
+<!-- ##### ENUM GstIteratorResult ##### -->
+<para>
+
+</para>
+
+@GST_ITERATOR_DONE: 
+@GST_ITERATOR_OK: 
+@GST_ITERATOR_RESYNC: 
+@GST_ITERATOR_ERROR: 
+
+<!-- ##### USER_FUNCTION GstIteratorDisposeFunction ##### -->
+<para>
+
+</para>
+
+@owner: 
+
+
+<!-- ##### USER_FUNCTION GstIteratorNextFunction ##### -->
+<para>
+
+</para>
+
+@it: 
+@result: 
+@Returns: 
+
+
+<!-- ##### USER_FUNCTION GstIteratorItemFunction ##### -->
+<para>
+
+</para>
+
+@it: 
+@item: 
+@Returns: 
+
+
+<!-- ##### USER_FUNCTION GstIteratorResyncFunction ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### USER_FUNCTION GstIteratorFreeFunction ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### USER_FUNCTION GstIteratorFoldFunction ##### -->
+<para>
+
+</para>
+
+@item: 
+@ret: 
+@user_data: 
+@Returns: 
+
+
+<!-- ##### MACRO GST_ITERATOR ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### MACRO GST_ITERATOR_LOCK ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### MACRO GST_ITERATOR_COOKIE ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### MACRO GST_ITERATOR_ORIG_COOKIE ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### FUNCTION gst_iterator_new ##### -->
+<para>
+
+</para>
+
+@size: 
+@lock: 
+@master_cookie: 
+@next: 
+@item: 
+@resync: 
+@free: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_new_list ##### -->
+<para>
+
+</para>
+
+@lock: 
+@master_cookie: 
+@list: 
+@owner: 
+@item: 
+@free: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_next ##### -->
+<para>
+
+</para>
+
+@it: 
+@result: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_resync ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### FUNCTION gst_iterator_free ##### -->
+<para>
+
+</para>
+
+@it: 
+
+
+<!-- ##### FUNCTION gst_iterator_push ##### -->
+<para>
+
+</para>
+
+@it: 
+@other: 
+
+
+<!-- ##### FUNCTION gst_iterator_filter ##### -->
+<para>
+
+</para>
+
+@it: 
+@func: 
+@user_data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_fold ##### -->
+<para>
+
+</para>
+
+@iter: 
+@func: 
+@ret: 
+@user_data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_foreach ##### -->
+<para>
+
+</para>
+
+@iter: 
+@func: 
+@user_data: 
+@Returns: 
+
+
+<!-- ##### FUNCTION gst_iterator_find_custom ##### -->
+<para>
+
+</para>
+
+@it: 
+@func: 
+@user_data: 
+@Returns: 
+
+
index 70b58bb..6600ade 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *               2000,2005 Wim Taymans <wim@fluendo.com>
  *
- * gstbasesrc.c: 
+ * gstbasesrc.c:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
index 30c8046..76a1370 100644 (file)
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_BASESRC               (gst_basesrc_get_type())
-#define GST_BASESRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
-#define GST_BASESRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
+#define GST_TYPE_BASESRC               (gst_basesrc_get_type())
+#define GST_BASESRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
+#define GST_BASESRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
 #define GST_BASESRC_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASESRC, GstBaseSrcClass))
-#define GST_IS_BASESRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
-#define GST_IS_BASESRC_CLASS(obj)      (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
+#define GST_IS_BASESRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
+#define GST_IS_BASESRC_CLASS(obj)      (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
 
 typedef enum {
   GST_BASESRC_STARTED           = GST_ELEMENT_FLAG_LAST,
@@ -52,7 +52,7 @@ typedef enum {
 typedef struct _GstBaseSrc GstBaseSrc;
 typedef struct _GstBaseSrcClass GstBaseSrcClass;
 
-#define GST_BASESRC_PAD(obj)           (GST_BASESRC (obj)->srcpad)
+#define GST_BASESRC_PAD(obj)                  (GST_BASESRC (obj)->srcpad)
 
 #define GST_LIVE_GET_LOCK(elem)               (GST_BASESRC(elem)->live_lock)
 #define GST_LIVE_LOCK(elem)                   g_mutex_lock(GST_LIVE_GET_LOCK(elem))
@@ -70,7 +70,8 @@ struct _GstBaseSrc {
   GstElement     element;
   GstPad       *srcpad;
 
-  /* only for subclass implementations */
+  /*< public >*/
+  /* available to subclass implementations */
   /* MT-protected (with LIVE_LOCK) */
   GMutex       *live_lock;
   GCond                *live_cond;
@@ -105,6 +106,8 @@ struct _GstBaseSrcClass {
   GstElementClass parent_class;
 
   /*< public >*/
+  /* virtual methods for subclasses */
+
   /* get caps from subclass */
   GstCaps*      (*get_caps)     (GstBaseSrc *src);
   /* notify the subclass of new caps */
index b110d8e..66b4176 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2005 Wim Taymans <wim@fluendo.com>
  *
- * gstbasetransform.h: 
+ * gstbasetransform.h:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_BASE_TRANSFORM        (gst_base_transform_get_type())
-#define GST_BASE_TRANSFORM(obj)        (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
+#define GST_TYPE_BASE_TRANSFORM                (gst_base_transform_get_type())
+#define GST_BASE_TRANSFORM(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
 #define GST_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
 #define GST_BASE_TRANSFORM_GET_CLASS(obj) \
        (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
-#define GST_IS_BASE_TRANSFORM(obj)     (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
+#define GST_IS_BASE_TRANSFORM(obj)     (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
 #define GST_IS_BASE_TRANSFORM_CLASS(obj)(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
 
 /* the names of the templates for the sink and source pads */
@@ -44,26 +44,34 @@ typedef struct _GstBaseTransform GstBaseTransform;
 typedef struct _GstBaseTransformClass GstBaseTransformClass;
 
 struct _GstBaseTransform {
-  GstElement    element;
+  GstElement    element;
 
   /* source and sink pads */
-  GstPad       *sinkpad;
-  GstPad       *srcpad;
+  GstPad       *sinkpad;
+  GstPad       *srcpad;
 };
 
 struct _GstBaseTransformClass {
   GstElementClass parent_class;
 
+  /*< public >*/
+  /* virtual methods for subclasses */
+
+
+  /* notify the subclass of new caps */
   gboolean      (*set_caps)     (GstBaseTransform *trans, GstCaps *caps);
 
+  /* start and stop processing, ideal for opening/closing the resource */
   gboolean      (*start)        (GstBaseTransform *trans);
   gboolean      (*stop)         (GstBaseTransform *trans);
 
   gboolean      (*event)        (GstBaseTransform *trans, GstEvent *event);
+
+  /* transform one incoming buffer to one outgoing buffer */
   GstFlowReturn (*transform)    (GstBaseTransform *trans, GstBuffer *inbuf, GstBuffer **outbuf);
 };
 
-GType gst_base_transform_get_type(void);
+GType gst_base_transform_get_type (void);
 
 G_END_DECLS
 
index f9351a3..77ef5f2 100644 (file)
@@ -2230,7 +2230,7 @@ gst_element_set_manager (GstElement * element, GstPipeline * manager)
  * gst_element_get_manager:
  * @element: a #GstElement to get the manager of.
  *
- * Returns the manager of the element. 
+ * Returns the manager of the element.
  *
  * Returns: the element's #GstPipeline. unref after usage.
  *
index 69c2c75..cd3e3fe 100644 (file)
 G_BEGIN_DECLS
 
 typedef enum {
-  GST_ITERATOR_DONE            = 0, /* no more items in the iterator */
-  GST_ITERATOR_OK              = 1, /* item retrieved */
-  GST_ITERATOR_RESYNC          = 2, /* datastructures changed while iterating */
-  GST_ITERATOR_ERROR           = 3, /* some error happened */
+  GST_ITERATOR_DONE    = 0, /* no more items in the iterator */
+  GST_ITERATOR_OK      = 1, /* item retrieved */
+  GST_ITERATOR_RESYNC  = 2, /* datastructures changed while iterating */
+  GST_ITERATOR_ERROR   = 3, /* some error happened */
 } GstIteratorResult;
 
 typedef struct _GstIterator GstIterator;
 
 typedef enum {
-  GST_ITERATOR_ITEM_SKIP               = 0, /* skip item */
-  GST_ITERATOR_ITEM_PASS               = 1, /* return item */
-  GST_ITERATOR_ITEM_END                        = 2, /* stop after this item */
+  GST_ITERATOR_ITEM_SKIP       = 0, /* skip item */
+  GST_ITERATOR_ITEM_PASS       = 1, /* return item */
+  GST_ITERATOR_ITEM_END                = 2, /* stop after this item */
 } GstIteratorItem;
 
 typedef void             (*GstIteratorDisposeFunction) (gpointer owner);
@@ -51,10 +51,10 @@ typedef void                  (*GstIteratorFreeFunction)    (GstIterator *it);
 
 typedef gboolean         (*GstIteratorFoldFunction)    (gpointer item, GValue *ret, gpointer user_data);
 
-#define GST_ITERATOR(it)               ((GstIterator*)(it))
-#define GST_ITERATOR_LOCK(it)                  (GST_ITERATOR(it)->lock)
-#define GST_ITERATOR_COOKIE(it)        (GST_ITERATOR(it)->cookie)
-#define GST_ITERATOR_ORIG_COOKIE(it)   (GST_ITERATOR(it)->master_cookie)
+#define GST_ITERATOR(it)               ((GstIterator*)(it))
+#define GST_ITERATOR_LOCK(it)          (GST_ITERATOR(it)->lock)
+#define GST_ITERATOR_COOKIE(it)                (GST_ITERATOR(it)->cookie)
+#define GST_ITERATOR_ORIG_COOKIE(it)   (GST_ITERATOR(it)->master_cookie)
 
 struct _GstIterator {
   GstIteratorNextFunction next;
@@ -64,27 +64,27 @@ struct _GstIterator {
 
   GstIterator *pushed;         /* pushed iterator */
 
-  GMutex   *lock;      
+  GMutex   *lock;
   guint32   cookie;            /* cookie of the iterator */
   guint32  *master_cookie;     /* pointer to guint32 holding the cookie when this
                                   iterator was created */
 };
-       
+
 /* creating iterators */
-GstIterator*           gst_iterator_new                (guint size, 
-                                                        GMutex *lock, 
+GstIterator*           gst_iterator_new                (guint size,
+                                                        GMutex *lock,
                                                         guint32 *master_cookie,
-                                                        GstIteratorNextFunction next,
-                                                        GstIteratorItemFunction item,
-                                                        GstIteratorResyncFunction resync,
-                                                        GstIteratorFreeFunction free);
+                                                        GstIteratorNextFunction next,
+                                                        GstIteratorItemFunction item,
+                                                        GstIteratorResyncFunction resync,
+                                                        GstIteratorFreeFunction free);
 
-GstIterator*           gst_iterator_new_list           (GMutex *lock, 
+GstIterator*           gst_iterator_new_list           (GMutex *lock,
                                                         guint32 *master_cookie,
                                                         GList **list,
                                                         gpointer owner,
-                                                        GstIteratorItemFunction item,
-                                                        GstIteratorDisposeFunction free);
+                                                        GstIteratorItemFunction item,
+                                                        GstIteratorDisposeFunction free);
 
 /* using iterators */
 GstIteratorResult      gst_iterator_next               (GstIterator *it, gpointer *result);
@@ -101,7 +101,7 @@ GstIteratorResult   gst_iterator_fold               (GstIterator *iter,
                                                          GValue *ret, gpointer user_data);
 GstIteratorResult      gst_iterator_foreach            (GstIterator *iter,
                                                          GFunc func, gpointer user_data);
-gpointer               gst_iterator_find_custom        (GstIterator *it, GCompareFunc func,
+gpointer               gst_iterator_find_custom        (GstIterator *it, GCompareFunc func,
                                                          gpointer user_data);
 
 G_END_DECLS
index 70b58bb..6600ade 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *               2000,2005 Wim Taymans <wim@fluendo.com>
  *
- * gstbasesrc.c: 
+ * gstbasesrc.c:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
index 30c8046..76a1370 100644 (file)
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_BASESRC               (gst_basesrc_get_type())
-#define GST_BASESRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
-#define GST_BASESRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
+#define GST_TYPE_BASESRC               (gst_basesrc_get_type())
+#define GST_BASESRC(obj)               (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASESRC,GstBaseSrc))
+#define GST_BASESRC_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASESRC,GstBaseSrcClass))
 #define GST_BASESRC_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASESRC, GstBaseSrcClass))
-#define GST_IS_BASESRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
-#define GST_IS_BASESRC_CLASS(obj)      (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
+#define GST_IS_BASESRC(obj)            (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASESRC))
+#define GST_IS_BASESRC_CLASS(obj)      (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASESRC))
 
 typedef enum {
   GST_BASESRC_STARTED           = GST_ELEMENT_FLAG_LAST,
@@ -52,7 +52,7 @@ typedef enum {
 typedef struct _GstBaseSrc GstBaseSrc;
 typedef struct _GstBaseSrcClass GstBaseSrcClass;
 
-#define GST_BASESRC_PAD(obj)           (GST_BASESRC (obj)->srcpad)
+#define GST_BASESRC_PAD(obj)                  (GST_BASESRC (obj)->srcpad)
 
 #define GST_LIVE_GET_LOCK(elem)               (GST_BASESRC(elem)->live_lock)
 #define GST_LIVE_LOCK(elem)                   g_mutex_lock(GST_LIVE_GET_LOCK(elem))
@@ -70,7 +70,8 @@ struct _GstBaseSrc {
   GstElement     element;
   GstPad       *srcpad;
 
-  /* only for subclass implementations */
+  /*< public >*/
+  /* available to subclass implementations */
   /* MT-protected (with LIVE_LOCK) */
   GMutex       *live_lock;
   GCond                *live_cond;
@@ -105,6 +106,8 @@ struct _GstBaseSrcClass {
   GstElementClass parent_class;
 
   /*< public >*/
+  /* virtual methods for subclasses */
+
   /* get caps from subclass */
   GstCaps*      (*get_caps)     (GstBaseSrc *src);
   /* notify the subclass of new caps */
index b110d8e..66b4176 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2005 Wim Taymans <wim@fluendo.com>
  *
- * gstbasetransform.h: 
+ * gstbasetransform.h:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
 
 G_BEGIN_DECLS
 
-#define GST_TYPE_BASE_TRANSFORM        (gst_base_transform_get_type())
-#define GST_BASE_TRANSFORM(obj)        (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
+#define GST_TYPE_BASE_TRANSFORM                (gst_base_transform_get_type())
+#define GST_BASE_TRANSFORM(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransform))
 #define GST_BASE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
 #define GST_BASE_TRANSFORM_GET_CLASS(obj) \
        (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_TRANSFORM,GstBaseTransformClass))
-#define GST_IS_BASE_TRANSFORM(obj)     (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
+#define GST_IS_BASE_TRANSFORM(obj)     (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_TRANSFORM))
 #define GST_IS_BASE_TRANSFORM_CLASS(obj)(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_TRANSFORM))
 
 /* the names of the templates for the sink and source pads */
@@ -44,26 +44,34 @@ typedef struct _GstBaseTransform GstBaseTransform;
 typedef struct _GstBaseTransformClass GstBaseTransformClass;
 
 struct _GstBaseTransform {
-  GstElement    element;
+  GstElement    element;
 
   /* source and sink pads */
-  GstPad       *sinkpad;
-  GstPad       *srcpad;
+  GstPad       *sinkpad;
+  GstPad       *srcpad;
 };
 
 struct _GstBaseTransformClass {
   GstElementClass parent_class;
 
+  /*< public >*/
+  /* virtual methods for subclasses */
+
+
+  /* notify the subclass of new caps */
   gboolean      (*set_caps)     (GstBaseTransform *trans, GstCaps *caps);
 
+  /* start and stop processing, ideal for opening/closing the resource */
   gboolean      (*start)        (GstBaseTransform *trans);
   gboolean      (*stop)         (GstBaseTransform *trans);
 
   gboolean      (*event)        (GstBaseTransform *trans, GstEvent *event);
+
+  /* transform one incoming buffer to one outgoing buffer */
   GstFlowReturn (*transform)    (GstBaseTransform *trans, GstBuffer *inbuf, GstBuffer **outbuf);
 };
 
-GType gst_base_transform_get_type(void);
+GType gst_base_transform_get_type (void);
 
 G_END_DECLS