gnomemm r1825 - in gstreamermm/trunk: . examples/element_link examples/ogg_player examples/ogg_player_gtkmm examples/optiongroup gstreamer/gstreamermm gstreamer/src gstreamerbase/gstreamerbasemm gstreamerbase/src tests tools/extra_defs_gen tools/m4



Author: jaalburqu
Date: Thu Dec  4 02:55:46 2008
New Revision: 1825
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1825&view=rev

Log:
2008-12-03  Josà Alburquerque  <jaalburqu svn gnome org>

	* gstreamer/src/generate-docs.sh:
	* gstreamer/src/generate-enums.sh:
	* gstreamer/src/generate-methods.sh:
	* gstreamerbase/src/generate-docs.sh:
	* gstreamerbase/src/generate-enums.sh:
	* gstreamerbase/src/generate-methods.sh: Modified defs generation
	scripts to use include files in the jhbuild sources and not in the
	install directory.
	* gstreamer/src/gst_enums.defs:
	* gstreamer/src/gst_enums.defs.patch:
	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_methods.defs: Regenerated defs files and
	patch files using scripts.

	* gstreamer/src/element.hg: Added Doxygen groups for core and base
	plugins.
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to
	generate code to wrap plug-in enums.  Included code to determine if an
	enum a plugin property uses is defined in the API or is plugin
	specific.  Modified to include plugins in correct Doxygen group.
	Added check that the --namespace, --main-defs and --target options are
	used.
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* tools/m4/ctocpp.m4:
	* tools/m4/ctocpp_base.m4: Added all the core plugins so that they are
	automatically generated.  For now, all properties are generated.

	* gstreamer/gstreamermm/miniobject.cc:
	* gstreamer/gstreamermm/miniobject.h: Used _gobject instead of
	gobject_ as protected member so the Glib::ObjectBase member is not
	shadowed.

Modified:
   gstreamermm/trunk/   (props changed)
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/examples/element_link/   (props changed)
   gstreamermm/trunk/examples/ogg_player/   (props changed)
   gstreamermm/trunk/examples/ogg_player_gtkmm/   (props changed)
   gstreamermm/trunk/examples/optiongroup/   (props changed)
   gstreamermm/trunk/gstreamer/gstreamermm/   (props changed)
   gstreamermm/trunk/gstreamer/gstreamermm/miniobject.cc
   gstreamermm/trunk/gstreamer/gstreamermm/miniobject.h
   gstreamermm/trunk/gstreamer/src/   (props changed)
   gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
   gstreamermm/trunk/gstreamer/src/element.hg
   gstreamermm/trunk/gstreamer/src/generate-docs.sh
   gstreamermm/trunk/gstreamer/src/generate-enums.sh
   gstreamermm/trunk/gstreamer/src/generate-methods.sh
   gstreamermm/trunk/gstreamer/src/gst_enums.defs
   gstreamermm/trunk/gstreamer/src/gst_enums.defs.patch
   gstreamermm/trunk/gstreamerbase/gstreamerbasemm/   (props changed)
   gstreamermm/trunk/gstreamerbase/src/   (props changed)
   gstreamermm/trunk/gstreamerbase/src/generate-docs.sh
   gstreamermm/trunk/gstreamerbase/src/generate-enums.sh
   gstreamermm/trunk/gstreamerbase/src/generate-methods.sh
   gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs
   gstreamermm/trunk/gstreamerbase/src/gstbase_methods.defs
   gstreamermm/trunk/tests/   (props changed)
   gstreamermm/trunk/tools/extra_defs_gen/   (props changed)
   gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
   gstreamermm/trunk/tools/m4/ctocpp.m4
   gstreamermm/trunk/tools/m4/ctocpp_base.m4

Modified: gstreamermm/trunk/gstreamer/gstreamermm/miniobject.cc
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm/miniobject.cc	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm/miniobject.cc	Thu Dec  4 02:55:46 2008
@@ -29,17 +29,17 @@
 {}
 
 MiniObject::MiniObject()
-: gobject_(0)
+: _gobject(0)
 {
 }
 
 MiniObject::MiniObject(GstMiniObject* castitem, bool take_copy)
-: gobject_(take_copy ? gst_mini_object_copy(castitem) : castitem)
+: _gobject(take_copy ? gst_mini_object_copy(castitem) : castitem)
 {
 }
 
 MiniObject::MiniObject(const MiniObject& other)
-: gobject_(gst_mini_object_copy(other.gobject_))
+: _gobject(gst_mini_object_copy(other._gobject))
 {
 }
 
@@ -53,27 +53,27 @@
 
 MiniObject::~MiniObject()
 {
-  if(gobject_)
-    gst_mini_object_unref(gobject_);
+  if(_gobject)
+    gst_mini_object_unref(_gobject);
 }
 
 void MiniObject::swap(MiniObject& other)
 {
-  GstMiniObject *const temp = gobject_;
-  gobject_ = other.gobject_;
-  other.gobject_ = temp;
+  GstMiniObject *const temp = _gobject;
+  _gobject = other._gobject;
+  other._gobject = temp;
 }
 
 void 
 MiniObject::reference() const
 {
-  gst_mini_object_ref(gobject_);
+  gst_mini_object_ref(_gobject);
 }
 
 void
 MiniObject::unreference() const
 {
-  gst_mini_object_unref(gobject_);
+  gst_mini_object_unref(_gobject);
 }
 
 guint MiniObject::get_flags() const
@@ -99,19 +99,19 @@
 Glib::RefPtr<Gst::MiniObject>
 MiniObject::copy() const
 {
-  GstMiniObject * copy = gst_mini_object_copy(gobject_);
+  GstMiniObject * copy = gst_mini_object_copy(_gobject);
   return Gst::wrap(copy, false);
 }
 
 bool
 MiniObject::is_writable() const
 {
-  return gst_mini_object_is_writable(gobject_);
+  return gst_mini_object_is_writable(_gobject);
 }
 
 Glib::RefPtr<Gst::MiniObject> MiniObject::create_writable()
 {
-  return Gst::wrap(gst_mini_object_make_writable(gobject_));
+  return Gst::wrap(gst_mini_object_make_writable(_gobject));
 }
 
 } //namespace Gst

Modified: gstreamermm/trunk/gstreamer/gstreamermm/miniobject.h
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm/miniobject.h	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm/miniobject.h	Thu Dec  4 02:55:46 2008
@@ -144,7 +144,7 @@
   void swap(MiniObject& other);
 
 protected:
-  GstMiniObject* gobject_; //TODO: Doesn't this shadow a member variable in Glib::ObjectBase?
+  GstMiniObject* _gobject;
 };
 
 } // namespace Gst
@@ -161,4 +161,3 @@
 */
 
 #endif //#ifndef _GSTREAMERMM_MINIOBJECT_H
-

Modified: gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment	(original)
+++ gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment	Thu Dec  4 02:55:46 2008
@@ -17,7 +17,9 @@
 
 files_general_deprecated_hg =
 
-files_plugin_hg = capsfilter.hg filesrc.hg
+files_plugin_hg = capsfilter.hg fakesrc.hg fakesink.hg fdsink.hg fdsrc.hg \
+		  filesrc.hg filesink.hg identity.hg multiqueue.hg queue.hg \
+		  tee.hg typefind.hg
 
 files_patched_hg = taglist.hg
 

Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/element.hg	Thu Dec  4 02:55:46 2008
@@ -33,6 +33,14 @@
 namespace Gst
 {
 
+/** @defgroup GstPlugins gstreamermm Plugins
+ *  Wrapped GStreamer core plugins.
+ */
+
+/** @defgroup GstBasePlugins gstreamerbasemm Plugins
+ *  Wrapped GStreamer base plugins.
+ */
+
 class Bus;
 class Caps;
 class Clock;

Modified: gstreamermm/trunk/gstreamer/src/generate-docs.sh
==============================================================================
--- gstreamermm/trunk/gstreamer/src/generate-docs.sh	(original)
+++ gstreamermm/trunk/gstreamer/src/generate-docs.sh	Thu Dec  4 02:55:46 2008
@@ -6,7 +6,8 @@
 # gstreamermm/gstrearmer/src.
 
 if [ -z "$JHBUILD_SOURCES" -o ! -x "`which docextract_to_xml.py`" ]; then
-  echo "JHBUILD_SOURCES must contain path to jhbuild sources and docextract_to_xml.py needs to be executable and in PATH."
+  echo -e "JHBUILD_SOURCES must contain path to jhbuild sources and \
+  docextract_to_xml.py\nneeds to be executable and in PATH."
   exit 1;
 fi
 
@@ -15,7 +16,8 @@
 
 PARAMS="-s $PREFIX/gstreamer/gst/ -s $PREFIX/gstreamer/docs/gst/tmpl -s $PREFIX/gstreamer/docs/libs/tmpl"
 
-for dir in "$PREFIX"/gstreamer/libs/gst/{base,controller,dataprotocol,net,check}/ ; do
+for dir in "$PREFIX"/gstreamer/libs/gst/{base,controller,dataprotocol,net,\
+check}; do
   PARAMS="$PARAMS -s $dir"
 done
 

Modified: gstreamermm/trunk/gstreamer/src/generate-enums.sh
==============================================================================
--- gstreamermm/trunk/gstreamer/src/generate-enums.sh	(original)
+++ gstreamermm/trunk/gstreamer/src/generate-enums.sh	Thu Dec  4 02:55:46 2008
@@ -1,19 +1,21 @@
 #!/bin/sh
 
 # Note that enum.pl should be in PATH for this script to work and
-# JHBUILD_PREFIX should be defined to contain the path to the prefix (install)
-# directory of jhbuild.  Also this script should reside in
+# JHBUILD_SOURCES should be defined to contain the path to the root of the
+# jhbuild sources.  Also this script should reside in
 # gstreamermm/gstrearmer/src.
 
-if [ -z "$JHBUILD_PREFIX" -o ! -x "`which enum.pl`" ]; then
-  echo "JHBUILD_PREFIX must contain path to jhbuild prefix and enum.pl needs to be executable and in PATH."
+if [ -z "$JHBUILD_SOURCES" -o ! -x "`which enum.pl`" ]; then
+  echo -e "JHBUILD_SOURCES must contain the path to the jhbuild sources and \
+  enum.pl\nneeds to be executable and in PATH."
   exit 1;
 fi
 
-PREFIX="$JHBUILD_PREFIX"
+PREFIX="$JHBUILD_SOURCES/gstreamer"
 DIR=`dirname "$0"`
 
-enum.pl "$PREFIX"/include/gstreamer-0.10/gst/*.h "$PREFIX"/include/gstreamer-0.10/gst/{base,controller,dataprotocol,net,check}/*.h > "$DIR/gst_enums.defs"
+enum.pl "$PREFIX"/gst/*.h "$PREFIX"/libs/gst/{base,controller,dataprotocol,\
+net,check}/*.h "$PREFIX"/plugins/elements/*.h > "$DIR/gst_enums.defs"
 
 #Patch generated file.
 (cd "$DIR" && patch -p0 < gst_enums.defs.patch)

Modified: gstreamermm/trunk/gstreamer/src/generate-methods.sh
==============================================================================
--- gstreamermm/trunk/gstreamer/src/generate-methods.sh	(original)
+++ gstreamermm/trunk/gstreamer/src/generate-methods.sh	Thu Dec  4 02:55:46 2008
@@ -1,19 +1,21 @@
 #!/bin/sh
 
 # Note that h2def.py should be in PATH for this script to work and
-# JHBUILD_PREFIX should be defined to contain the path to the prefix (install)
-# directory of jhbuild.  Also this script should reside in
+# JHBUILD_SOURCES should be defined to contain the path to the root of the
+# jhbuild sources.  Also this script should reside in
 # gstreamermm/gstrearmer/src.
 
-if [ -z "$JHBUILD_PREFIX" -o ! -x "`which h2def.py`" ]; then
-  echo "JHBUILD_PREFIX must contain path to jhbuild prefix and h2def.py needs to be executable and in PATH."
+if [ -z "$JHBUILD_SOURCES" -o ! -x "`which h2def.py`" ]; then
+  echo -e "JHBUILD_SOURCES must contain the path to the jhbuild sources and \
+  h2def.py\nneeds to be executable and in PATH."
   exit 1;
 fi
 
-PREFIX="$JHBUILD_PREFIX"
+PREFIX="$JHBUILD_SOURCES/gstreamer"
 DIR=`dirname "$0"`
 
-h2def.py "$PREFIX"/include/gstreamer-0.10/gst/*.h "$PREFIX"/include/gstreamer-0.10/gst/{base,controller,dataprotocol,net,check}/*.h > "$DIR/gst_methods.defs"
+h2def.py "$PREFIX"/gst/*.h "$PREFIX"/libs/gst/{base,controller,dataprotocol,\
+net,check}/*.h "$PREFIX"/plugins/elements/*.h > "$DIR/gst_methods.defs"
 
 #Patch generated file.
 (cd "$DIR" && patch -p0 < gst_methods.defs.patch)

Modified: gstreamermm/trunk/gstreamer/src/gst_enums.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_enums.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_enums.defs	Thu Dec  4 02:55:46 2008
@@ -1,6 +1,6 @@
 ;; Apply gst_enums.defs.patch after regenerating.
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstbin.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstbin.h
 
 (define-enum-extended BinFlags
   (in-module "Gst")
@@ -9,7 +9,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstbuffer.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstbuffer.h
 
 (define-enum-extended BufferFlag
   (in-module "Gst")
@@ -35,7 +35,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstbus.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstbus.h
 
 (define-enum-extended BusFlags
   (in-module "Gst")
@@ -56,7 +56,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstcaps.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstcaps.h
 
 (define-flags-extended CapsFlags
   (in-module "Gst")
@@ -66,7 +66,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstclock.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstclock.h
 
 (define-enum-extended ClockReturn
   (in-module "Gst")
@@ -105,7 +105,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstdebugutils.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstdebugutils.h
 
 (define-flags-extended DebugGraphDetails
   (in-module "Gst")
@@ -118,7 +118,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstelement.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstelement.h
 
 (define-enum-extended State
   (in-module "Gst")
@@ -169,7 +169,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsterror.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsterror.h
 
 (define-enum-extended CoreError
   (in-module "Gst")
@@ -250,7 +250,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstevent.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstevent.h
 
 (define-flags-extended EventTypeFlags
   (in-module "Gst")
@@ -282,10 +282,11 @@
     '("accurate" "GST_SEEK_FLAG_ACCURATE" "1 << 1")
     '("key-unit" "GST_SEEK_FLAG_KEY_UNIT" "1 << 2")
     '("segment" "GST_SEEK_FLAG_SEGMENT" "1 << 3")
+    '("skip" "GST_SEEK_FLAG_SKIP" "1 << 4")
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstformat.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstformat.h
 
 (define-enum-extended Format
   (in-module "Gst")
@@ -300,7 +301,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstindex.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstindex.h
 
 (define-enum-extended IndexCertainty
   (in-module "Gst")
@@ -364,7 +365,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstinfo.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstinfo.h
 
 (define-enum-extended DebugLevel
   (in-module "Gst")
@@ -405,7 +406,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstiterator.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstiterator.h
 
 (define-enum-extended IteratorResult
   (in-module "Gst")
@@ -428,7 +429,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstmessage.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstmessage.h
 
 (define-flags-extended MessageType
   (in-module "Gst")
@@ -470,7 +471,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstminiobject.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstminiobject.h
 
 (define-flags-extended MiniObjectFlags
   (in-module "Gst")
@@ -481,7 +482,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstobject.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstobject.h
 
 (define-flags-extended ObjectFlags
   (in-module "Gst")
@@ -493,7 +494,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstpad.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstpad.h
 
 (define-enum-extended PadLinkReturn
   (in-module "Gst")
@@ -559,7 +560,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstpadtemplate.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstpadtemplate.h
 
 (define-enum-extended PadPresence
   (in-module "Gst")
@@ -580,7 +581,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstparse.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstparse.h
 
 (define-enum-extended ParseError
   (in-module "Gst")
@@ -605,7 +606,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstpipeline.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstpipeline.h
 
 (define-enum-extended PipelineFlags
   (in-module "Gst")
@@ -614,7 +615,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstpluginfeature.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstpluginfeature.h
 
 (define-enum-extended Rank
   (in-module "Gst")
@@ -627,7 +628,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstplugin.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstplugin.h
 
 (define-enum-extended PluginError
   (in-module "Gst")
@@ -647,7 +648,68 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstquery.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstquark.h
+
+(define-enum-extended QuarkId
+  (in-module "Gst")
+  (c-name "GstQuarkId")
+  (values
+    '("format" "GST_QUARK_FORMAT" "0")
+    '("current" "GST_QUARK_CURRENT" "1")
+    '("duration" "GST_QUARK_DURATION" "2")
+    '("rate" "GST_QUARK_RATE" "3")
+    '("seekable" "GST_QUARK_SEEKABLE" "4")
+    '("segment-start" "GST_QUARK_SEGMENT_START" "5")
+    '("segment-end" "GST_QUARK_SEGMENT_END" "6")
+    '("src-format" "GST_QUARK_SRC_FORMAT" "7")
+    '("src-value" "GST_QUARK_SRC_VALUE" "8")
+    '("dest-format" "GST_QUARK_DEST_FORMAT" "9")
+    '("dest-value" "GST_QUARK_DEST_VALUE" "10")
+    '("start-format" "GST_QUARK_START_FORMAT" "11")
+    '("start-value" "GST_QUARK_START_VALUE" "12")
+    '("stop-format" "GST_QUARK_STOP_FORMAT" "13")
+    '("stop-value" "GST_QUARK_STOP_VALUE" "14")
+    '("gerror" "GST_QUARK_GERROR" "15")
+    '("debug" "GST_QUARK_DEBUG" "16")
+    '("buffer-percent" "GST_QUARK_BUFFER_PERCENT" "17")
+    '("buffering-mode" "GST_QUARK_BUFFERING_MODE" "18")
+    '("avg-in-rate" "GST_QUARK_AVG_IN_RATE" "19")
+    '("avg-out-rate" "GST_QUARK_AVG_OUT_RATE" "20")
+    '("buffering-left" "GST_QUARK_BUFFERING_LEFT" "21")
+    '("estimated-total" "GST_QUARK_ESTIMATED_TOTAL" "22")
+    '("old-state" "GST_QUARK_OLD_STATE" "23")
+    '("new-state" "GST_QUARK_NEW_STATE" "24")
+    '("pending-state" "GST_QUARK_PENDING_STATE" "25")
+    '("clock" "GST_QUARK_CLOCK" "26")
+    '("ready" "GST_QUARK_READY" "27")
+    '("position" "GST_QUARK_POSITION" "28")
+    '("new-base-time" "GST_QUARK_NEW_BASE_TIME" "29")
+    '("live" "GST_QUARK_LIVE" "30")
+    '("min-latency" "GST_QUARK_MIN_LATENCY" "31")
+    '("max-latency" "GST_QUARK_MAX_LATENCY" "32")
+    '("busy" "GST_QUARK_BUSY" "33")
+    '("type" "GST_QUARK_TYPE" "34")
+    '("owner" "GST_QUARK_OWNER" "35")
+    '("update" "GST_QUARK_UPDATE" "36")
+    '("applied-rate" "GST_QUARK_APPLIED_RATE" "37")
+    '("start" "GST_QUARK_START" "38")
+    '("stop" "GST_QUARK_STOP" "39")
+    '("minsize" "GST_QUARK_MINSIZE" "40")
+    '("maxsize" "GST_QUARK_MAXSIZE" "41")
+    '("async" "GST_QUARK_ASYNC" "42")
+    '("proportion" "GST_QUARK_PROPORTION" "43")
+    '("diff" "GST_QUARK_DIFF" "44")
+    '("timestamp" "GST_QUARK_TIMESTAMP" "45")
+    '("flags" "GST_QUARK_FLAGS" "46")
+    '("cur-type" "GST_QUARK_CUR_TYPE" "47")
+    '("cur" "GST_QUARK_CUR" "48")
+    '("stop-type" "GST_QUARK_STOP_TYPE" "49")
+    '("latency" "GST_QUARK_LATENCY" "50")
+    '("max" "GST_QUARK_MAX" "51")
+  )
+)
+
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gstquery.h
 
 (define-enum-extended QueryType
   (in-module "Gst")
@@ -664,6 +726,7 @@
     '("convert" "GST_QUERY_CONVERT" "8")
     '("formats" "GST_QUERY_FORMATS" "9")
     '("buffering" "GST_QUERY_BUFFERING" "10")
+    '("custom" "GST_QUERY_CUSTOM" "11")
   )
 )
 
@@ -678,7 +741,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsttaglist.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsttaglist.h
 
 (define-enum-extended TagMergeMode
   (in-module "Gst")
@@ -707,7 +770,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsttask.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsttask.h
 
 (define-enum-extended TaskState
   (in-module "Gst")
@@ -719,7 +782,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsttrace.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsttrace.h
 
 (define-flags-extended AllocTraceFlags
   (in-module "Gst")
@@ -730,7 +793,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsttypefind.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsttypefind.h
 
 (define-enum-extended TypeFindProbability
   (in-module "Gst")
@@ -744,7 +807,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gsturi.h
+;; From /usr/src/jhbuild-sources/gstreamer/gst/gsturi.h
 
 (define-enum-extended URIType
   (in-module "Gst")
@@ -756,7 +819,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/base/gstbasesrc.h
+;; From /usr/src/jhbuild-sources/gstreamer/libs/gst/base/gstbasesrc.h
 
 (define-enum-extended BaseSrcFlags
   (in-module "Gst")
@@ -765,7 +828,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/controller/gstinterpolationcontrolsource.h
+;; From /usr/src/jhbuild-sources/gstreamer/libs/gst/controller/gstinterpolationcontrolsource.h
 
 (define-enum-extended InterpolateMode
   (in-module "Gst")
@@ -780,7 +843,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/controller/gstlfocontrolsource.h
+;; From /usr/src/jhbuild-sources/gstreamer/libs/gst/controller/gstlfocontrolsource.h
 
 (define-enum-extended LFOWaveform
   (in-module "Gst")
@@ -794,7 +857,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/dataprotocol/dataprotocol.h
+;; From /usr/src/jhbuild-sources/gstreamer/libs/gst/dataprotocol/dataprotocol.h
 
 (define-enum-extended DPVersion
   (in-module "Gst")
@@ -826,3 +889,98 @@
   )
 )
 
+;; From /usr/src/jhbuild-sources/gstreamer/plugins/elements/gstfakesink.h
+
+(define-enum-extended FakeSinkStateError
+  (in-module "Gst")
+  (c-name "GstFakeSinkStateError")
+  (values
+    '("none" "GST_FAKE_SINK_STATE_ERROR_NONE" "0")
+    '("null-ready" "GST_FAKE_SINK_STATE_ERROR_NULL_READY" "1")
+    '("ready-paused" "GST_FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
+    '("paused-playing" "GST_FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
+    '("playing-paused" "GST_FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
+    '("paused-ready" "GST_FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
+    '("ready-null" "GST_FAKE_SINK_STATE_ERROR_READY_NULL" "6")
+  )
+)
+
+;; From /usr/src/jhbuild-sources/gstreamer/plugins/elements/gstfakesrc.h
+
+(define-enum-extended FakeSrcOutputType
+  (in-module "Gst")
+  (c-name "GstFakeSrcOutputType")
+  (values
+    '("first-last-loop" "GST_FAKE_SRC_FIRST_LAST_LOOP" "1")
+    '("last-first-loop" "GST_FAKE_SRC_LAST_FIRST_LOOP" "2")
+    '("ping-pong" "GST_FAKE_SRC_PING_PONG" "3")
+    '("ordered-random" "GST_FAKE_SRC_ORDERED_RANDOM" "4")
+    '("random" "GST_FAKE_SRC_RANDOM" "5")
+    '("pattern-loop" "GST_FAKE_SRC_PATTERN_LOOP" "6")
+    '("ping-pong-pattern" "GST_FAKE_SRC_PING_PONG_PATTERN" "7")
+    '("get-always-suceeds" "GST_FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
+  )
+)
+
+(define-enum-extended FakeSrcDataType
+  (in-module "Gst")
+  (c-name "GstFakeSrcDataType")
+  (values
+    '("allocate" "GST_FAKE_SRC_DATA_ALLOCATE" "1")
+    '("subbuffer" "GST_FAKE_SRC_DATA_SUBBUFFER" "2")
+  )
+)
+
+(define-enum-extended FakeSrcSizeType
+  (in-module "Gst")
+  (c-name "GstFakeSrcSizeType")
+  (values
+    '("empty" "GST_FAKE_SRC_SIZETYPE_EMPTY" "1")
+    '("fixed" "GST_FAKE_SRC_SIZETYPE_FIXED" "2")
+    '("random" "GST_FAKE_SRC_SIZETYPE_RANDOM" "3")
+  )
+)
+
+(define-enum-extended FakeSrcFillType
+  (in-module "Gst")
+  (c-name "GstFakeSrcFillType")
+  (values
+    '("nothing" "GST_FAKE_SRC_FILLTYPE_NOTHING" "1")
+    '("zero" "GST_FAKE_SRC_FILLTYPE_ZERO" "2")
+    '("random" "GST_FAKE_SRC_FILLTYPE_RANDOM" "3")
+    '("pattern" "GST_FAKE_SRC_FILLTYPE_PATTERN" "4")
+    '("pattern-cont" "GST_FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
+  )
+)
+
+;; From /usr/src/jhbuild-sources/gstreamer/plugins/elements/gsttee.h
+
+(define-enum-extended TeePullMode
+  (in-module "Gst")
+  (c-name "GstTeePullMode")
+  (values
+    '("never" "GST_TEE_PULL_MODE_NEVER" "0")
+    '("single" "GST_TEE_PULL_MODE_SINGLE" "1")
+  )
+)
+
+(define-enum-extended FileSinkBufferMode
+  (in-module "Gst")
+  (c-name "GstFileSinkBufferMode")
+  (values
+    '("default" "GST_FILE_SINK_BUFFER_MODE_DEFAULT" "-1")
+    '("full" "GST_FILE_SINK_BUFFER_MODE_FULL" "0")
+    '("line" "GST_FILE_SINK_BUFFER_MODE_LINE" "1")
+    '("unbuffered" "GST_FILE_SINK_BUFFER_MODE_UNBUFFERED" "2")
+  )
+)
+
+(define-enum-extended QueueLeaky
+  (in-module "Gst")
+  (c-name "GstQueueLeaky")
+  (values
+    '("no" "GST_QUEUE_LEAKY_NONE" "0")
+    '("upstream" "GST_QUEUE_LEAKY_UPSTREAM" "1")
+    '("downstream" "GST_QUEUE_LEAKY_DOWNSTREAM" "2")
+  )
+)

Modified: gstreamermm/trunk/gstreamer/src/gst_enums.defs.patch
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_enums.defs.patch	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_enums.defs.patch	Thu Dec  4 02:55:46 2008
@@ -1,11 +1,9 @@
-Index: gst_enums.defs
-===================================================================
---- gst_enums.defs	(revision 1646)
-+++ gst_enums.defs	(working copy)
+--- gst_enums.defs.gen	2008-12-03 19:04:58.000000000 -0500
++++ gst_enums.defs	2008-12-03 20:04:42.000000000 -0500
 @@ -1,3 +1,5 @@
 +;; Apply gst_enums.defs.patch after regenerating.
 +
- ;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/gstbin.h
+ ;; From /usr/src/jhbuild-sources/gstreamer/gst/gstbin.h
  
  (define-enum-extended BinFlags
 @@ -13,7 +15,13 @@
@@ -115,7 +113,7 @@
  (define-enum-extended SeekType
    (in-module "Gst")
    (c-name "GstSeekType")
-@@ -361,6 +358,9 @@
+@@ -362,6 +359,9 @@
    (in-module "Gst")
    (c-name "GstIndexFlags")
    (values
@@ -125,7 +123,7 @@
    )
  )
  
-@@ -457,7 +457,7 @@
+@@ -458,7 +458,7 @@
      '("latency" "GST_MESSAGE_LATENCY" "1 << 19")
      '("async-start" "GST_MESSAGE_ASYNC_START" "1 << 20")
      '("async-done" "GST_MESSAGE_ASYNC_DONE" "1 << 21")
@@ -134,7 +132,7 @@
    )
  )
  
-@@ -541,6 +541,12 @@
+@@ -551,6 +551,12 @@
    (in-module "Gst")
    (c-name "GstPadFlags")
    (values
@@ -147,7 +145,7 @@
    )
  )
  
-@@ -560,6 +566,8 @@
+@@ -570,6 +576,8 @@
    (in-module "Gst")
    (c-name "GstPadTemplateFlags")
    (values
@@ -156,3 +154,112 @@
    )
  )
  
+@@ -887,13 +895,13 @@
+   (in-module "Gst")
+   (c-name "GstFakeSinkStateError")
+   (values
+-    '("none" "FAKE_SINK_STATE_ERROR_NONE" "0")
+-    '("null-ready" "FAKE_SINK_STATE_ERROR_NULL_READY" "1")
+-    '("ready-paused" "FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
+-    '("paused-playing" "FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
+-    '("playing-paused" "FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
+-    '("paused-ready" "FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
+-    '("ready-null" "FAKE_SINK_STATE_ERROR_READY_NULL" "6")
++    '("none" "GST_FAKE_SINK_STATE_ERROR_NONE" "0")
++    '("null-ready" "GST_FAKE_SINK_STATE_ERROR_NULL_READY" "1")
++    '("ready-paused" "GST_FAKE_SINK_STATE_ERROR_READY_PAUSED" "2")
++    '("paused-playing" "GST_FAKE_SINK_STATE_ERROR_PAUSED_PLAYING" "3")
++    '("playing-paused" "GST_FAKE_SINK_STATE_ERROR_PLAYING_PAUSED" "4")
++    '("paused-ready" "GST_FAKE_SINK_STATE_ERROR_PAUSED_READY" "5")
++    '("ready-null" "GST_FAKE_SINK_STATE_ERROR_READY_NULL" "6")
+   )
+ )
+ 
+@@ -903,14 +911,14 @@
+   (in-module "Gst")
+   (c-name "GstFakeSrcOutputType")
+   (values
+-    '("first-last-loop" "FAKE_SRC_FIRST_LAST_LOOP" "1")
+-    '("last-first-loop" "FAKE_SRC_LAST_FIRST_LOOP" "2")
+-    '("ping-pong" "FAKE_SRC_PING_PONG" "3")
+-    '("ordered-random" "FAKE_SRC_ORDERED_RANDOM" "4")
+-    '("random" "FAKE_SRC_RANDOM" "5")
+-    '("pattern-loop" "FAKE_SRC_PATTERN_LOOP" "6")
+-    '("ping-pong-pattern" "FAKE_SRC_PING_PONG_PATTERN" "7")
+-    '("get-always-suceeds" "FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
++    '("first-last-loop" "GST_FAKE_SRC_FIRST_LAST_LOOP" "1")
++    '("last-first-loop" "GST_FAKE_SRC_LAST_FIRST_LOOP" "2")
++    '("ping-pong" "GST_FAKE_SRC_PING_PONG" "3")
++    '("ordered-random" "GST_FAKE_SRC_ORDERED_RANDOM" "4")
++    '("random" "GST_FAKE_SRC_RANDOM" "5")
++    '("pattern-loop" "GST_FAKE_SRC_PATTERN_LOOP" "6")
++    '("ping-pong-pattern" "GST_FAKE_SRC_PING_PONG_PATTERN" "7")
++    '("get-always-suceeds" "GST_FAKE_SRC_GET_ALWAYS_SUCEEDS" "8")
+   )
+ )
+ 
+@@ -918,8 +926,8 @@
+   (in-module "Gst")
+   (c-name "GstFakeSrcDataType")
+   (values
+-    '("allocate" "FAKE_SRC_DATA_ALLOCATE" "1")
+-    '("subbuffer" "FAKE_SRC_DATA_SUBBUFFER" "2")
++    '("allocate" "GST_FAKE_SRC_DATA_ALLOCATE" "1")
++    '("subbuffer" "GST_FAKE_SRC_DATA_SUBBUFFER" "2")
+   )
+ )
+ 
+@@ -927,9 +935,9 @@
+   (in-module "Gst")
+   (c-name "GstFakeSrcSizeType")
+   (values
+-    '("empty" "FAKE_SRC_SIZETYPE_EMPTY" "1")
+-    '("fixed" "FAKE_SRC_SIZETYPE_FIXED" "2")
+-    '("random" "FAKE_SRC_SIZETYPE_RANDOM" "3")
++    '("empty" "GST_FAKE_SRC_SIZETYPE_EMPTY" "1")
++    '("fixed" "GST_FAKE_SRC_SIZETYPE_FIXED" "2")
++    '("random" "GST_FAKE_SRC_SIZETYPE_RANDOM" "3")
+   )
+ )
+ 
+@@ -937,11 +945,11 @@
+   (in-module "Gst")
+   (c-name "GstFakeSrcFillType")
+   (values
+-    '("nothing" "FAKE_SRC_FILLTYPE_NOTHING" "1")
+-    '("zero" "FAKE_SRC_FILLTYPE_ZERO" "2")
+-    '("random" "FAKE_SRC_FILLTYPE_RANDOM" "3")
+-    '("pattern" "FAKE_SRC_FILLTYPE_PATTERN" "4")
+-    '("pattern-cont" "FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
++    '("nothing" "GST_FAKE_SRC_FILLTYPE_NOTHING" "1")
++    '("zero" "GST_FAKE_SRC_FILLTYPE_ZERO" "2")
++    '("random" "GST_FAKE_SRC_FILLTYPE_RANDOM" "3")
++    '("pattern" "GST_FAKE_SRC_FILLTYPE_PATTERN" "4")
++    '("pattern-cont" "GST_FAKE_SRC_FILLTYPE_PATTERN_CONT" "5")
+   )
+ )
+ 
+@@ -956,3 +964,23 @@
+   )
+ )
+ 
++(define-enum-extended FileSinkBufferMode
++  (in-module "Gst")
++  (c-name "GstFileSinkBufferMode")
++  (values
++    '("default" "GST_FILE_SINK_BUFFER_MODE_DEFAULT" "-1")
++    '("full" "GST_FILE_SINK_BUFFER_MODE_FULL" "0")
++    '("line" "GST_FILE_SINK_BUFFER_MODE_LINE" "1")
++    '("unbuffered" "GST_FILE_SINK_BUFFER_MODE_UNBUFFERED" "2")
++  )
++)
++
++(define-enum-extended QueueLeaky
++  (in-module "Gst")
++  (c-name "GstQueueLeaky")
++  (values
++    '("no" "GST_QUEUE_LEAKY_NONE" "0")
++    '("upstream" "GST_QUEUE_LEAKY_UPSTREAM" "1")
++    '("downstream" "GST_QUEUE_LEAKY_DOWNSTREAM" "2")
++  )
++)

Modified: gstreamermm/trunk/gstreamerbase/src/generate-docs.sh
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/generate-docs.sh	(original)
+++ gstreamermm/trunk/gstreamerbase/src/generate-docs.sh	Thu Dec  4 02:55:46 2008
@@ -6,7 +6,8 @@
 # gstreamermm/gstrearmerbase/src.
 
 if [ -z "$JHBUILD_SOURCES" -o ! -x "`which docextract_to_xml.py`" ]; then
-  echo "JHBUILD_SOURCES must contain path to jhbuild sources and docextract_to_xml.py needs to be executable and in PATH."
+  echo -e "JHBUILD_SOURCES must contain path to jhbuild sources and \
+  docextract_to_xml.py needs to be executable and in PATH."
   exit 1;
 fi
 
@@ -15,7 +16,8 @@
 
 PARAMS="-s $PREFIX/gst-plugins-base/docs/libs/tmpl"
 
-for dir in "$PREFIX"/gst-plugins-base/gst-libs/gst/{audio,cdda,fft,floatcast,interfaces,netbuffer,riff,rtp,rtsp,sdp,tag,pbutils,video}/; do
+for dir in "$PREFIX"/gst-plugins-base/gst-libs/gst/{audio,cdda,fft,floatcast,\
+interfaces,netbuffer,riff,rtp,rtsp,sdp,tag,pbutils,video}/; do
   PARAMS="$PARAMS -s $dir"
 done
 

Modified: gstreamermm/trunk/gstreamerbase/src/generate-enums.sh
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/generate-enums.sh	(original)
+++ gstreamermm/trunk/gstreamerbase/src/generate-enums.sh	Thu Dec  4 02:55:46 2008
@@ -1,16 +1,18 @@
 #!/bin/sh
 
 # Note that enum.pl should be in PATH for this script to work and
-# JHBUILD_PREFIX should be defined to contain the path to the prefix (install)
-# directory of jhbuild.  Also this script should reside in
+# JHBUILD_SOURCES should be defined to contain the path to the root of the
+# jhbuild sources.  Also this script should reside in
 # gstreamermm/gstrearmerbase/src.
 
-if [ -z "$JHBUILD_PREFIX" -o ! -x "`which enum.pl`" ]; then
-  echo "JHBUILD_PREFIX must contain path to jhbuild prefix and enum.pl needs to be executable and in PATH."
+if [ -z "$JHBUILD_SOURCES" -o ! -x "`which enum.pl`" ]; then
+  echo -e "JHBUILD_SOURCES must contain the path to the jhbuild sources and \
+  enum.pl\nneeds to be executable and in PATH."
   exit 1;
 fi
 
-PREFIX="$JHBUILD_PREFIX"
+PREFIX="$JHBUILD_SOURCES/gst-plugins-base"
 DIR=`dirname "$0"`
 
-enum.pl "$PREFIX"/include/gstreamer-0.10/gst/{audio,cdda,fft,floatcast,interfaces,netbuffer,riff,rtp,rtsp,sdp,tag,pbutils,video}/*.h > "$DIR/gstbase_enums.defs"
+enum.pl "$PREFIX"/gst-libs/gst/{audio,cdda,fft,floatcast,interfaces,netbuffer,\
+riff,rtp,rtsp,sdp,tag,pbutils,video}/*.h > "$DIR/gstbase_enums.defs"

Modified: gstreamermm/trunk/gstreamerbase/src/generate-methods.sh
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/generate-methods.sh	(original)
+++ gstreamermm/trunk/gstreamerbase/src/generate-methods.sh	Thu Dec  4 02:55:46 2008
@@ -1,16 +1,18 @@
 #!/bin/sh
 
 # Note that h2def.py should be in PATH for this script to work and
-# JHBUILD_PREFIX should be defined to contain the path to the prefix (install)
-# directory of jhbuild.  Also this script should reside in
+# JHBUILD_SOURCES should be defined to contain the path to the root of the
+# jhbuild sources.  Also this script should reside in
 # gstreamermm/gstrearmerbase/src.
 
-if [ -z "$JHBUILD_PREFIX" -o ! -x "`which h2def.py`" ]; then
-  echo "JHBUILD_PREFIX must contain path to jhbuild prefix and h2def.py needs to be executable and in PATH."
+if [ -z "$JHBUILD_SOURCES" -o ! -x "`which h2def.py`" ]; then
+  echo -e "JHBUILD_SOURCES must contain the path to the jhbuild sources and \
+  h2def.py\nneeds to be executable and in PATH."
   exit 1;
 fi
 
-PREFIX="$JHBUILD_PREFIX"
+PREFIX="$JHBUILD_SOURCES/gst-plugins-base"
 DIR=`dirname "$0"`
 
-h2def.py "$PREFIX"/include/gstreamer-0.10/gst/{audio,cdda,fft,floatcast,interfaces,netbuffer,riff,rtp,rtsp,sdp,tag,pbutils,video}/*.h > "$DIR/gstbase_methods.defs"
+h2def.py "$PREFIX"/gst-libs/gst/{audio,cdda,fft,floatcast,interfaces,netbuffer,\
+riff,rtp,rtsp,sdp,tag,pbutils,video}/*.h > "$DIR/gstbase_methods.defs"

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs	Thu Dec  4 02:55:46 2008
@@ -1,4 +1,4 @@
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/audio/gstbaseaudiosink.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosink.h
 
 (define-enum-extended BaseAudioSinkSlaveMethod
   (in-module "Gst")
@@ -10,7 +10,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/audio/gstbaseaudiosrc.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/audio/gstbaseaudiosrc.h
 
 (define-enum-extended BaseAudioSrcSlaveMethod
   (in-module "Gst")
@@ -23,7 +23,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/audio/gstringbuffer.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/audio/gstringbuffer.h
 
 (define-enum-extended RingBufferState
   (in-module "Gst")
@@ -111,7 +111,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/audio/multichannel.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/audio/multichannel.h
 
 (define-enum-extended AudioChannelPosition
   (in-module "Gst")
@@ -135,7 +135,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/cdda/gstcddabasesrc.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/cdda/gstcddabasesrc.h
 
 (define-enum-extended CddaBaseSrcMode
   (in-module "Gst")
@@ -146,7 +146,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/fft/gstfft.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/fft/gstfft.h
 
 (define-enum-extended FFTWindow
   (in-module "Gst")
@@ -160,7 +160,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/interfaces/colorbalance.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/interfaces/colorbalance.h
 
 (define-enum-extended ColorBalanceType
   (in-module "Gst")
@@ -171,7 +171,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/interfaces/mixer.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/interfaces/mixer.h
 
 (define-enum-extended MixerType
   (in-module "Gst")
@@ -205,7 +205,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/interfaces/mixertrack.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/interfaces/mixertrack.h
 
 (define-flags-extended MixerTrackFlags
   (in-module "Gst")
@@ -220,7 +220,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/interfaces/tunerchannel.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/interfaces/tunerchannel.h
 
 (define-flags-extended TunerChannelFlags
   (in-module "Gst")
@@ -233,7 +233,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/netbuffer/gstnetbuffer.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/netbuffer/gstnetbuffer.h
 
 (define-enum-extended NetType
   (in-module "Gst")
@@ -245,7 +245,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtp/gstrtcpbuffer.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h
 
 (define-enum-extended RTCPType
   (in-module "Gst")
@@ -277,7 +277,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtp/gstrtppayloads.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.h
 
 (define-enum-extended RTPPayload
   (in-module "Gst")
@@ -312,7 +312,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtsp/gstrtspdefs.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtsp/gstrtspdefs.h
 
 (define-enum-extended RTSPResult
   (in-module "Gst")
@@ -520,7 +520,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtsp/gstrtspmessage.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtsp/gstrtspmessage.h
 
 (define-enum-extended RTSPMsgType
   (in-module "Gst")
@@ -533,7 +533,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtsp/gstrtsprange.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtsp/gstrtsprange.h
 
 (define-enum-extended RTSPRangeUnit
   (in-module "Gst")
@@ -557,7 +557,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/rtsp/gstrtsptransport.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/rtsp/gstrtsptransport.h
 
 (define-flags-extended RTSPTransMode
   (in-module "Gst")
@@ -590,7 +590,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/sdp/gstsdp.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/sdp/gstsdp.h
 
 (define-enum-extended SDPResult
   (in-module "Gst")
@@ -601,7 +601,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/tag/gsttagdemux.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/tag/gsttagdemux.h
 
 (define-enum-extended TagDemuxResult
   (in-module "Gst")
@@ -613,7 +613,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/tag/tag.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/tag/tag.h
 
 (define-enum-extended TagImageType
   (in-module "Gst")
@@ -642,7 +642,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/pbutils/install-plugins.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/pbutils/install-plugins.h
 
 (define-enum-extended InstallPluginsReturn
   (in-module "Gst")
@@ -662,7 +662,7 @@
   )
 )
 
-;; From /opt/usr-jhbuild/include/gstreamer-0.10/gst/video/video.h
+;; From /usr/src/jhbuild-sources/gst-plugins-base/gst-libs/gst/video/video.h
 
 (define-enum-extended VideoFormat
   (in-module "Gst")

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_methods.defs
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_methods.defs	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_methods.defs	Thu Dec  4 02:55:46 2008
@@ -1144,6 +1144,18 @@
   )
 )
 
+(define-method convert
+  (of-object "GstRingBuffer")
+  (c-name "gst_ring_buffer_convert")
+  (return-type "gboolean")
+  (parameters
+    '("GstFormat" "src_fmt")
+    '("gint64" "src_val")
+    '("GstFormat" "dest_fmt")
+    '("gint64*" "dest_val")
+  )
+)
+
 (define-method open_device
   (of-object "GstRingBuffer")
   (c-name "gst_ring_buffer_open_device")
@@ -1183,6 +1195,21 @@
   (return-type "gboolean")
 )
 
+(define-method activate
+  (of-object "GstRingBuffer")
+  (c-name "gst_ring_buffer_activate")
+  (return-type "gboolean")
+  (parameters
+    '("gboolean" "active")
+  )
+)
+
+(define-method is_active
+  (of-object "GstRingBuffer")
+  (c-name "gst_ring_buffer_is_active")
+  (return-type "gboolean")
+)
+
 (define-method set_flushing
   (of-object "GstRingBuffer")
   (c-name "gst_ring_buffer_set_flushing")
@@ -1411,6 +1438,36 @@
 
 
 
+;; From sha1.h
+
+(define-function sha_init
+  (c-name "sha_init")
+  (return-type "none")
+  (parameters
+    '("SHA_INFO" "*")
+  )
+)
+
+(define-function sha_update
+  (c-name "sha_update")
+  (return-type "none")
+  (parameters
+    '("SHA_INFO" "*")
+    '("SHA_BYTE" "*")
+  )
+)
+
+(define-function sha_final
+  (c-name "sha_final")
+  (return-type "none")
+  (parameters
+    '("unsigned-char" "[20]")
+    '("SHA_INFO" "*")
+  )
+)
+
+
+
 ;; From gstfftf32.h
 
 (define-function gst_fft_f32_new
@@ -1623,6 +1680,358 @@
 
 
 
+;; From kiss_fft_f32.h
+
+(define-function kiss_fft_f32_alloc
+  (c-name "kiss_fft_f32_alloc")
+  (return-type "kiss_fft_f32_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fft_f32
+  (c-name "kiss_fft_f32")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_f32_cfg" "cfg")
+    '("const-kiss_fft_f32_cpx*" "fin")
+    '("kiss_fft_f32_cpx*" "fout")
+  )
+)
+
+(define-function kiss_fft_f32_stride
+  (c-name "kiss_fft_f32_stride")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_f32_cfg" "cfg")
+    '("const-kiss_fft_f32_cpx*" "fin")
+    '("kiss_fft_f32_cpx*" "fout")
+    '("int" "fin_stride")
+  )
+)
+
+(define-function kiss_fft_f32_cleanup
+  (c-name "kiss_fft_f32_cleanup")
+  (return-type "none")
+)
+
+(define-function kiss_fft_f32_next_fast_size
+  (c-name "kiss_fft_f32_next_fast_size")
+  (return-type "int")
+  (parameters
+    '("int" "n")
+  )
+)
+
+
+
+;; From kiss_fft_f64.h
+
+(define-function kiss_fft_f64_alloc
+  (c-name "kiss_fft_f64_alloc")
+  (return-type "kiss_fft_f64_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fft_f64
+  (c-name "kiss_fft_f64")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_f64_cfg" "cfg")
+    '("const-kiss_fft_f64_cpx*" "fin")
+    '("kiss_fft_f64_cpx*" "fout")
+  )
+)
+
+(define-function kiss_fft_f64_stride
+  (c-name "kiss_fft_f64_stride")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_f64_cfg" "cfg")
+    '("const-kiss_fft_f64_cpx*" "fin")
+    '("kiss_fft_f64_cpx*" "fout")
+    '("int" "fin_stride")
+  )
+)
+
+(define-function kiss_fft_f64_cleanup
+  (c-name "kiss_fft_f64_cleanup")
+  (return-type "none")
+)
+
+(define-function kiss_fft_f64_next_fast_size
+  (c-name "kiss_fft_f64_next_fast_size")
+  (return-type "int")
+  (parameters
+    '("int" "n")
+  )
+)
+
+
+
+;; From _kiss_fft_guts_f32.h
+
+
+
+;; From _kiss_fft_guts_f64.h
+
+
+
+;; From _kiss_fft_guts_s16.h
+
+
+
+;; From _kiss_fft_guts_s32.h
+
+
+
+;; From kiss_fftr_f32.h
+
+(define-function kiss_fftr_f32_alloc
+  (c-name "kiss_fftr_f32_alloc")
+  (return-type "kiss_fftr_f32_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fftr_f32
+  (c-name "kiss_fftr_f32")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_f32_cfg" "cfg")
+    '("const-kiss_fft_f32_scalar*" "timedata")
+    '("kiss_fft_f32_cpx*" "freqdata")
+  )
+)
+
+(define-function kiss_fftri_f32
+  (c-name "kiss_fftri_f32")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_f32_cfg" "cfg")
+    '("const-kiss_fft_f32_cpx*" "freqdata")
+    '("kiss_fft_f32_scalar*" "timedata")
+  )
+)
+
+
+
+;; From kiss_fftr_f64.h
+
+(define-function kiss_fftr_f64_alloc
+  (c-name "kiss_fftr_f64_alloc")
+  (return-type "kiss_fftr_f64_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fftr_f64
+  (c-name "kiss_fftr_f64")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_f64_cfg" "cfg")
+    '("const-kiss_fft_f64_scalar*" "timedata")
+    '("kiss_fft_f64_cpx*" "freqdata")
+  )
+)
+
+(define-function kiss_fftri_f64
+  (c-name "kiss_fftri_f64")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_f64_cfg" "cfg")
+    '("const-kiss_fft_f64_cpx*" "freqdata")
+    '("kiss_fft_f64_scalar*" "timedata")
+  )
+)
+
+
+
+;; From kiss_fftr_s16.h
+
+(define-function kiss_fftr_s16_alloc
+  (c-name "kiss_fftr_s16_alloc")
+  (return-type "kiss_fftr_s16_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fftr_s16
+  (c-name "kiss_fftr_s16")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_s16_cfg" "cfg")
+    '("const-kiss_fft_s16_scalar*" "timedata")
+    '("kiss_fft_s16_cpx*" "freqdata")
+  )
+)
+
+(define-function kiss_fftri_s16
+  (c-name "kiss_fftri_s16")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_s16_cfg" "cfg")
+    '("const-kiss_fft_s16_cpx*" "freqdata")
+    '("kiss_fft_s16_scalar*" "timedata")
+  )
+)
+
+
+
+;; From kiss_fftr_s32.h
+
+(define-function kiss_fftr_s32_alloc
+  (c-name "kiss_fftr_s32_alloc")
+  (return-type "kiss_fftr_s32_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fftr_s32
+  (c-name "kiss_fftr_s32")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_s32_cfg" "cfg")
+    '("const-kiss_fft_s32_scalar*" "timedata")
+    '("kiss_fft_s32_cpx*" "freqdata")
+  )
+)
+
+(define-function kiss_fftri_s32
+  (c-name "kiss_fftri_s32")
+  (return-type "none")
+  (parameters
+    '("kiss_fftr_s32_cfg" "cfg")
+    '("const-kiss_fft_s32_cpx*" "freqdata")
+    '("kiss_fft_s32_scalar*" "timedata")
+  )
+)
+
+
+
+;; From kiss_fft_s16.h
+
+(define-function kiss_fft_s16_alloc
+  (c-name "kiss_fft_s16_alloc")
+  (return-type "kiss_fft_s16_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fft_s16
+  (c-name "kiss_fft_s16")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_s16_cfg" "cfg")
+    '("const-kiss_fft_s16_cpx*" "fin")
+    '("kiss_fft_s16_cpx*" "fout")
+  )
+)
+
+(define-function kiss_fft_s16_stride
+  (c-name "kiss_fft_s16_stride")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_s16_cfg" "cfg")
+    '("const-kiss_fft_s16_cpx*" "fin")
+    '("kiss_fft_s16_cpx*" "fout")
+    '("int" "fin_stride")
+  )
+)
+
+(define-function kiss_fft_s16_cleanup
+  (c-name "kiss_fft_s16_cleanup")
+  (return-type "none")
+)
+
+(define-function kiss_fft_s16_next_fast_size
+  (c-name "kiss_fft_s16_next_fast_size")
+  (return-type "int")
+  (parameters
+    '("int" "n")
+  )
+)
+
+
+
+;; From kiss_fft_s32.h
+
+(define-function kiss_fft_s32_alloc
+  (c-name "kiss_fft_s32_alloc")
+  (return-type "kiss_fft_s32_cfg")
+  (parameters
+    '("int" "nfft")
+    '("int" "inverse_fft")
+    '("void*" "mem")
+    '("size_t*" "lenmem")
+  )
+)
+
+(define-function kiss_fft_s32
+  (c-name "kiss_fft_s32")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_s32_cfg" "cfg")
+    '("const-kiss_fft_s32_cpx*" "fin")
+    '("kiss_fft_s32_cpx*" "fout")
+  )
+)
+
+(define-function kiss_fft_s32_stride
+  (c-name "kiss_fft_s32_stride")
+  (return-type "none")
+  (parameters
+    '("kiss_fft_s32_cfg" "cfg")
+    '("const-kiss_fft_s32_cpx*" "fin")
+    '("kiss_fft_s32_cpx*" "fout")
+    '("int" "fin_stride")
+  )
+)
+
+(define-function kiss_fft_s32_cleanup
+  (c-name "kiss_fft_s32_cleanup")
+  (return-type "none")
+)
+
+(define-function kiss_fft_s32_next_fast_size
+  (c-name "kiss_fft_s32_next_fast_size")
+  (return-type "int")
+  (parameters
+    '("int" "n")
+  )
+)
+
+
+
 ;; From floatcast.h
 
 
@@ -1714,6 +2123,10 @@
 
 
 
+;; From interfaces-marshal.h
+
+
+
 ;; From mixer.h
 
 (define-function gst_mixer_get_type
@@ -3854,6 +4267,10 @@
 
 
 
+;; From gstrtsp.h
+
+
+
 ;; From gstrtspmessage.h
 
 (define-function gst_rtsp_message_new
@@ -4193,6 +4610,10 @@
 
 
 
+;; From rtsp-marshal.h
+
+
+
 ;; From gstsdp.h
 
 
@@ -4801,6 +5222,15 @@
 
 
 
+;; From gsttageditingprivate.h
+
+(define-function gst_vorbis_tag_get_type
+  (c-name "gst_vorbis_tag_get_type")
+  (return-type "GType")
+)
+
+
+
 ;; From tag.h
 
 (define-function gst_tag_image_type_get_type

Modified: gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	(original)
+++ gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	Thu Dec  4 02:55:46 2008
@@ -1,6 +1,6 @@
-/* $Id: generate_extra_defs.cc 740 2008-10-15 15:58:17Z jaalburqu $ */
+/* $Id: generate_plugin_gmmproc_file.cc 740 2008-10-15 15:58:17Z jaalburqu $ */
 
-/* generate_extra_defs.cc
+/* generate_plugin_gmmproc_file.cc
  *
  * Copyright (C) 2001 The Free Software Foundation
  *
@@ -26,9 +26,9 @@
 #include <glibmm.h>
 #include <iostream>
 
-static gchar* nmspace;
-static gchar* defsFile;
-static gchar* target;
+static gchar* nmspace = 0;
+static gchar* defsFile = 0;
+static gchar* target = 0;
 
 static Glib::ustring pluginName;
 static Glib::ustring cTypeName;
@@ -41,6 +41,54 @@
 
 GType type = 0;
 
+// To add an enum that is already wrapped to the list of wrapped enum, add
+// alphabetically below and increment WRAPPED_ENUMS_SIZE.
+static const int WRAPPED_ENUMS_SIZE = 41;
+static const char* wrappedEnums[WRAPPED_ENUMS_SIZE] =
+{
+  "GstActivateMode",
+  "GstAssocFlags",
+  "GstBufferCopyFlags",
+  "GstBufferFlag",
+  "GstBufferingMode",
+  "GstBusFlags",
+  "GstBusSyncReply",
+  "GstClockEntryType",
+  "GstClockFlags",
+  "GstClockReturn",
+  "GstColorBalanceType",
+  "GstElementFlags",
+  "GstEventType",
+  "GstEventTypeFlags",
+  "GstFlowReturn",
+  "GstFormat",
+  "GstIndexCertainty",
+  "GstIndexEntryType",
+  "GstIndexFlags",
+  "GstIndexLookupMethod",
+  "GstIndexResolverMethod",
+  "GstIteratorItem",
+  "GstIteratorResult",
+  "GstMessageType",
+  "GstMiniObjectFlags",
+  "GstPadDirection",
+  "GstPadFlags",
+  "GstPadLinkReturn",
+  "GstPadPresence",
+  "GstPadTemplateFlags",
+  "GstQueryType",
+  "GstRank",
+  "GstSeekFlags",
+  "GstSeekType",
+  "GstState",
+  "GstStateChange",
+  "GstStateChangeReturn",
+  "GstTagFlag",
+  "GstTagMergeMode",
+  "GstTaskState",
+  "GstURIType"
+};
+
 Glib::ustring get_cast_macro(const Glib::ustring& typeName)
 {
   Glib::ustring result;
@@ -62,12 +110,22 @@
   return result;
 }
 
-void get_property_wrap_statements(Glib::ustring& wrapStatements,
-  Glib::ustring& includeMacroCalls, Glib::ustring& enumDefinitions)
+bool is_wrapped_enum(const Glib::ustring& cTypeName)
 {
-  std::string strResult;
-  std::string strObjectName = g_type_name(type);
+  for (int i = 0; i < WRAPPED_ENUMS_SIZE &&
+    cTypeName.compare(wrappedEnums[i]) >= 0; i++)
+  {
+    if (cTypeName.compare(wrappedEnums[i]) == 0)
+      return true;
+  }
+
+  return false;
+}
 
+void get_property_wrap_statements(Glib::ustring& wrapStatements,
+  Glib::ustring& includeMacroCalls, Glib::ustring& enumWrapStatements,
+  Glib::ustring& enumGTypeFunctionDefinitions)
+{
   //Get the list of properties:
   GParamSpec** ppParamSpec = 0;
   guint iCount = 0;
@@ -96,31 +154,53 @@
     GParamSpec* pParamSpec = ppParamSpec[i];
     if(pParamSpec)
     {
-      //Name and type:
-      Glib::ustring propertyName = g_param_spec_get_name(pParamSpec);
-
-      Glib::ustring  propertyCType = g_type_name(pParamSpec->value_type) +
-              (Glib::ustring) (gst_type_is_a_pointer(pParamSpec->value_type) ?
-                              "*" : "");
-
-      wrapStatements += "  _WRAP_PROPERTY(\"" + propertyName + "\", " +
-        "_CCONVERT(" + propertyCType + ", true) )\n";
+      GType propertyGType = pParamSpec->value_type;
+      GType ownerGType = pParamSpec->owner_type;
 
-      includeMacroCalls += "_CCONVERSION_INCLUDE(" + propertyCType + ")\n";
+      if (ownerGType == type)
+      {
+        //Name and type:
+        Glib::ustring propertyName = g_param_spec_get_name(pParamSpec);
+
+        Glib::ustring  propertyCType = g_type_name(propertyGType) +
+          (Glib::ustring) (gst_type_is_a_pointer(propertyGType) ?  "*" : "");
+
+        bool enumIsWrapped = false;
+
+        if (G_TYPE_IS_ENUM(propertyGType) &&
+          !(enumIsWrapped = is_wrapped_enum(propertyCType)))
+        {
+          enumWrapStatements += "_WRAP_ENUM(" + propertyCType.substr(3) + ", " +
+            propertyCType + ")\n";
+          enumWrapStatements += "_CCONVERSION(`" + propertyCType + "',`" +
+            propertyCType.substr(3) + "')\n\n";
+
+          Glib::ustring enumGetTypeFunctionName =
+            get_cast_macro(propertyCType).lowercase() + "_get_type";
+
+          enumGTypeFunctionDefinitions +=
+            "extern \"C\" GType " + enumGetTypeFunctionName + "()\n" +
+            "{\n" +
+            "  return g_type_from_name(\"" + propertyCType + "\");\n" +
+            "}\n\n";
+        }
+
+        wrapStatements += "  _WRAP_PROPERTY(\"" + propertyName + "\", " +
+          "_CCONVERT(" + propertyCType + ", true) )\n";
+
+        if (!G_TYPE_IS_ENUM(propertyGType) || enumIsWrapped)
+          includeMacroCalls += "_CCONVERSION_INCLUDE(" + propertyCType + ")\n";
+      }
     }
   }
 
   g_free(ppParamSpec);
 }
 
-void generate_hg_file()
+void generate_hg_file(const Glib::ustring& propertyWrapStatements,
+  const Glib::ustring& includeMacroCalls,
+  const Glib::ustring& enumWrapStatements)
 {
-  Glib::ustring propertyWrapStatements;
-  Glib::ustring includeMacroCalls;
-  Glib::ustring enumDefinitions;
-
-  get_property_wrap_statements(propertyWrapStatements, includeMacroCalls, enumDefinitions);
-
   std::cout << "#include <" << includeRoot << "/" <<
     cppParentTypeName.lowercase() << ".h>" << std::endl;
 
@@ -132,8 +212,11 @@
   std::cout << "namespace " << nmspace << std::endl;
   std::cout << "{" << std::endl << std::endl;
 
+  std::cout << enumWrapStatements;
+
   std::cout << "/** " << nmspace << "::" << cppTypeName << " â " << pluginName << " plugin." << std::endl;
   std::cout << " * Please include <" << target << "/" << cppTypeName.lowercase() << ".h> to use." << std::endl;
+  std::cout << " * @ingroup " << nmspace << "Plugins" << std::endl;
   std::cout << " */" << std::endl;
   std::cout << "class " << cppTypeName << std::endl;
   std::cout << ": public " << parentNameSpace << "::" << cppParentTypeName <<
@@ -165,7 +248,7 @@
   std::cout << std::endl << "} //namespace " << nmspace << std::endl;
 }
 
-void generate_ccg_file()
+void generate_ccg_file(const Glib::ustring& enumGTypeFunctionDefinitions)
 {
   std::cout << "_PINCLUDE(" << includeRoot << "/private/" <<
     cppParentTypeName.lowercase() << "_p.h)" << std::endl;
@@ -199,6 +282,8 @@
   std::cout << "  return type;" << std::endl;
   std::cout << "}" << std::endl << std::endl;
 
+  std::cout << enumGTypeFunctionDefinitions;
+
   std::cout << "namespace " << nmspace << std::endl;
   std::cout << "{" << std::endl << std::endl;
 
@@ -266,6 +351,15 @@
     return -1;
   }
 
+  if (!nmspace || !defsFile || !target)
+  {
+    std::cout << "A namespace, a default defs file and a target directory "
+      "must be supplied" << std::endl << "with the --namespace, --main-defs "
+      "and --target options (run with -? option for " << std::endl <<
+      "details)." << std::endl;
+    return -1;
+  }
+
   GstElementFactory* factory = 0;
 
   factory = gst_element_factory_find(argv[1]);
@@ -302,10 +396,26 @@
       parentNameSpace = nmspace;
     }
 
+    Glib::ustring propertyWrapStatements;
+    Glib::ustring includeMacroCalls;
+    Glib::ustring enumWrapStatements;
+    Glib::ustring enumGTypeFunctionDeclarations;
+
+    if (hgFile || ccgFile)
+    {
+      get_property_wrap_statements(propertyWrapStatements, includeMacroCalls,
+        enumWrapStatements, enumGTypeFunctionDeclarations);
+    }
+
     if (hgFile)
-      generate_hg_file();
+    {
+      generate_hg_file(propertyWrapStatements, includeMacroCalls,
+        enumWrapStatements);
+    }
     else if (ccgFile)
-      generate_ccg_file();
+    {
+      generate_ccg_file(enumGTypeFunctionDeclarations);
+    }
     else if (suggestHg)
       std::cout << pluginName << ".hg" << std::endl;
 

Modified: gstreamermm/trunk/tools/m4/ctocpp.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/ctocpp.m4	(original)
+++ gstreamermm/trunk/tools/m4/ctocpp.m4	Thu Dec  4 02:55:46 2008
@@ -1 +1,3 @@
-_CCONVERSION(`GstCaps*',`const Glib::RefPtr<Caps>&',`Glib::RefPtr<Caps>')
+_CCONVERSION(`GstBuffer*',`const Glib::RefPtr<Gst::Buffer>&',`Glib::RefPtr<Gst::Buffer>')
+_CCONVERSION(`GstCaps*',`const Glib::RefPtr<Gst::Caps>&',`Glib::RefPtr<Gst::Caps>')
+_CCONVERSION(`GstFormat',`Gst::Format')

Modified: gstreamermm/trunk/tools/m4/ctocpp_base.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/ctocpp_base.m4	(original)
+++ gstreamermm/trunk/tools/m4/ctocpp_base.m4	Thu Dec  4 02:55:46 2008
@@ -56,8 +56,14 @@
 ')`'dnl
 ')dnl
 
+#Basic C to C++ translations
 _CCONVERSION(`gboolean',`bool')
 _CCONVERSION(`gint',`int')
+_CCONVERSION(`guint',`unsigned')
 _CCONVERSION(`gulong',`unsigned long')
+_CCONVERSION(`gint64',`gint64')
 _CCONVERSION(`guint64',`guint64')
+_CCONVERSION(`gfloat',`float')
+
+#String C to C++ translations
 _CCONVERSION(`gchararray',`const Glib::ustring&',`Glib::ustring')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]