gnomemm r1870 - in gstreamermm/trunk: . gstreamerbase gstreamerbase/src tools/extra_defs_gen tools/m4



Author: jaalburqu
Date: Wed Dec 17 04:37:05 2008
New Revision: 1870
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1870&view=rev

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

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/cddabasesrc.ccg:
	* gstreamerbase/src/cddabasesrc.hg: Added cdparanoiasrc giosink giosrc
	giostreamsink giostreamsrc xvimagesink plug-ins.  They did not exist in
	jhbuild environment because gst-plugins-base module must be be built
	with '--enable-experimental' and certain dependencies did not exist on
	my system (for cdparanoiasrc and xvimagesink plug-ins).  Also added
	base class CddaBaseSrc from which cdparanoiasrc plug-in derives.
	* tools/m4/ctocpp.m4: Added C to C++ translations for gio types.
	* gstreamerbase/gstreamerbasemm.h: Added base classes to includes.

	* configure.ac:
	* gstreamerbase/gstreamerbasemm-0.10.pc.in: Added giomm-2.4 and
	gstreamer-cdda.0.10 (for CddaBaseSrc base class) dependencies to
	gstreamerbase branch.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added code to
	determine if parent type of plug-in is wrapped or will be generated as
	a plug-in; If the parent type is not public, a parent class that is
	public is used as the plug-ins parent type.

	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_enums.defs.patch:
	* gstreamerbase/src/gstbase_signals.defs:
	* gstreamerbase/src/gstbase_signals.defs.patch: Went back two weeks to
	a gst-plugins-base version that uses GstAudioresample instead of
	GstSpeexResample as the type of the audioresample plug-in and
	regenerated these files in case a release of gstreamermm is made
	before a new release of GStreamer modules because the change from
	GstAudioresample to GstSpeexResample was made just two weeks ago and
	is not reflected in current releases of GStreamer modules.  When a new
	GStreamer release is made with the change they can be regenerated
	then.  Changing type names like this in GStreamer plug-ins (I hope it
	is not a common practice) makes me worry about ABI issues (if we
	should worry about such things in gstreamermm) because the plug-in
	class type names are taken from the GStreamer types and if they change
	this would make it appear that a class has been removed and a new one
	added in gstreamermm or gstreamerbasemm when plug-ins are generated.

Added:
   gstreamermm/trunk/gstreamerbase/src/cddabasesrc.ccg
   gstreamermm/trunk/gstreamerbase/src/cddabasesrc.hg
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/configure.ac
   gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in
   gstreamermm/trunk/gstreamerbase/gstreamerbasemm.h
   gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment
   gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs
   gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs.patch
   gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs
   gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs.patch
   gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
   gstreamermm/trunk/tools/m4/ctocpp.m4

Modified: gstreamermm/trunk/configure.ac
==============================================================================
--- gstreamermm/trunk/configure.ac	(original)
+++ gstreamermm/trunk/configure.ac	Wed Dec 17 04:37:05 2008
@@ -141,8 +141,10 @@
 
 PKG_CHECK_MODULES(GSTREAMERBASEMM, \
         glibmm-2.4 >= ${gstreamermm_min_glibmm_version} \
+        giomm-2.4 >= ${gstreamermm_min_glibmm_version} \
         gstreamer-plugins-base-0.10 >= ${gstreamermm_min_gst_version} \
         gstreamer-audio-0.10 >= ${gstreamermm_min_gst_version} \
+        gstreamer-cdda-0.10 >= ${gstreamermm_min_gst_version} \
         gstreamer-interfaces-0.10 >= ${gstreamermm_min_gst_version} \
         gstreamer-video-0.10 >= ${gstreamermm_min_gst_version} \
         libxml++-2.6 >= ${gstreamermm_min_libxmlpp_version} \

Modified: gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in
==============================================================================
--- gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in	(original)
+++ gstreamermm/trunk/gstreamerbase/gstreamerbasemm-0.10.pc.in	Wed Dec 17 04:37:05 2008
@@ -5,7 +5,7 @@
 
 Name: gstreamerbasemm
 Description: C++ wrapper for gstreamer-base-plugins module
-Requires: glibmm-2.4 gstreamer-plugins-base-0.10 gstreamer-audio-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10
+Requires: glibmm-2.4 giomm-2.4 gstreamer-plugins-base-0.10 gstreamer-audio-0.10 gstreamer-cdda-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10
 Version: @VERSION@
 Libs: -L${libdir} -lgstreamerbasemm-0.10
 Cflags: -I${includedir}/gstreamerbasemm-0.10 -I${libdir}/gstreamerbasemm-0.10/include

Modified: gstreamermm/trunk/gstreamerbase/gstreamerbasemm.h
==============================================================================
--- gstreamermm/trunk/gstreamerbase/gstreamerbasemm.h	(original)
+++ gstreamermm/trunk/gstreamerbase/gstreamerbasemm.h	Wed Dec 17 04:37:05 2008
@@ -5,6 +5,12 @@
 #include <gstreamerbasemm/init.h>
 #include <gstreamerbasemm/wrap_init.h>
 #include <gstreamerbasemm/audioclock.h>
+#include <gstreamerbasemm/audiofilter.h>
+#include <gstreamerbasemm/audiosink.h>
+#include <gstreamerbasemm/audiosrc.h>
+#include <gstreamerbasemm/baseaudiosink.h>
+#include <gstreamerbasemm/baseaudiosrc.h>
+#include <gstreamerbasemm/cddabasesrc.h>
 #include <gstreamerbasemm/colorbalance.h>
 #include <gstreamerbasemm/colorbalancechannel.h>
 #include <gstreamerbasemm/xoverlay.h>

Modified: gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment	(original)
+++ gstreamermm/trunk/gstreamerbase/src/Makefile_list_of_hg.am_fragment	Wed Dec 17 04:37:05 2008
@@ -6,28 +6,26 @@
 files_win32_hg =
 
 files_general_hg = audioclock.hg audiofilter.hg audiosink.hg audiosrc.hg \
-		   baseaudiosink.hg baseaudiosrc.hg videosink.hg \
+		   baseaudiosink.hg baseaudiosrc.hg cddabasesrc.hg \
+		   videosink.hg \
 		   colorbalance.hg colorbalancechannel.hg xoverlay.hg
 
 files_general_deprecated_hg =
 
 files_plugin_hg = adder.hg alsamixer.hg alsasink.hg alsasrc.hg \
 		  audioconvert.hg audioresample.hg audiotestsrc.hg \
-		  clockoverlay.hg decodebin.hg \
-		  ffmpegcolorspace.hg \
+		  cdparanoiasrc.hg clockoverlay.hg decodebin.hg \
+		  ffmpegcolorspace.hg giosink.hg giosrc.hg giostreamsink.hg \
+		  giostreamsrc.hg \
 		  oggdemux.hg oggmux.hg playbin2.hg \
 		  textoverlay.hg \
 		  textrender.hg theoradec.hg theoraenc.hg \
 		  timeoverlay.hg videorate.hg videoscale.hg \
 		  videotestsrc.hg volume.hg vorbisdec.hg vorbisenc.hg \
-		  vorbisparse.hg vorbistag.hg ximagesink.hg
+		  vorbisparse.hg vorbistag.hg ximagesink.hg xvimagesink.hg
 
 #TODO: gdpdepay and gdppay plug-ins cause several warnings when their wrap_new() methods are registered in GstBase::wrap_init() (from GstBase::init).
 
-#TODO: The following plug-ins are not generated in jhbuild; investigate and
-# add to above list:
-# cdparanoiasrc giosink giosrc giostreamsink giostreamsrc xvimagesink.
-
 #TODO: Add decodebin2 to plugin list above.
 #TODO: Add multifdsink to plugin list above.
 #TODO: Add playbin to plugin list above.

Added: gstreamermm/trunk/gstreamerbase/src/cddabasesrc.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamerbase/src/cddabasesrc.ccg	Wed Dec 17 04:37:05 2008
@@ -0,0 +1,23 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+ #include <gst/cdda/gstcddabasesrc.h>
+_PINCLUDE(gstreamermm/private/pushsrc_p.h)

Added: gstreamermm/trunk/gstreamerbase/src/cddabasesrc.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamerbase/src/cddabasesrc.hg	Wed Dec 17 04:37:05 2008
@@ -0,0 +1,75 @@
+// -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+
+/* gstreamermm - a C++ wrapper for gstreamer
+ *
+ * Copyright 2008 The gstreamermm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+#include <gst/cdda/gstcddabasesrc.h>
+#include <gstreamermm/pushsrc.h>
+
+_DEFS(gstreamerbasemm,gstbase)
+
+namespace GstBase
+{
+
+//TODO: File a bug about enum not public:
+//_WRAP_ENUM(CddaBaseSrcMode,GstCddaBaseSrcMode)
+
+/** GstBase::CddaBaseSrc â Base class for CD digital audio (CDDA) sources.
+ * Provides a base class for CDDA sources, which handles things like seeking,
+ * querying, discid calculation, tags, and buffer timestamping.
+ *
+ * GstBase::CddaBaseSrc registers two Gst::Formats of its own, namely the
+ * "track" format and the "sector" format. Applications will usually only find
+ * the "track" format interesting. You can retrieve that Gst::Format for use in
+ * seek events or queries with Gst::get_format("track").
+ *
+ * In order to query the number of tracks, for example, an application would
+ * set the CDDA source element to READY or PAUSED state and then query the the
+ * number of tracks via Gst::Element::query_duration() using the track format
+ * acquired above. Applications can query the currently playing track in the
+ * same way.
+ *
+ * Alternatively, applications may retrieve the currently playing track and the
+ * total number of tracks from the taglist that will be posted on the bus
+ * whenever the CD is opened or the currently playing track changes. The
+ * taglist will contain Gst::Tag::TRACK_NUMBER and Gst::Tag::TRACK_COUNT tags.
+ *
+ * Applications playing back CD audio using playbin and cdda://n URIs should
+ * issue a seek command in track format to change between tracks, rather than
+ * setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
+ * involves closing and re-opening the CD device, which is much much slower).
+ *
+ * CDDA sources will automatically emit a number of tags, details about which
+ * can be found in the libgsttag documentation. Those tags are:
+ * Gst::Tag::CDDA_CDDB_DISCID, Gst::Tag::CDDA_CDDB_DISCID_FULL,
+ * Gst::Tag::CDDA_MUSICBRAINZ_DISCID, Gst::Tag::CDDA_MUSICBRAINZ_DISCID_FULL,
+ * among others.
+ *
+ * @ingroup GstBaseBaseClasses
+ */
+class CddaBaseSrc : public Gst::PushSrc
+{
+  _CLASS_GOBJECT(CddaBaseSrc, GstCddaBaseSrc, GST_CDDA_BASE_SRC, Gst::PushSrc, GstPushSrc)
+
+public:
+  //TODO: _WRAP_METHOD(bool add_track(...), gst_cdda_base_src_add_track)
+  //TODO: Wrap vfuncs.
+};
+
+} // namespace GstBase

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs	Wed Dec 17 04:37:05 2008
@@ -769,7 +769,8 @@
     '("event" "GST_GDP_DEPAY_STATE_EVENT" "4")
   )
 )
-;; Handwritten for GstGDPPay (gdppay plugin)
+;; Handwritten for GstGDPPay plugin (values taken from output of
+;; `gst-inspect gdppay' -- "version" property information)
 
 (define-enum-extended DPVersion
   (in-module "Gst")
@@ -1106,3 +1107,17 @@
   )
 )
 
+;; Handwritten for CdParanoiaSrc plugin (values taken from output of
+;; `gst-inspect cdparanoiasrc' -- "paranoia-mode" property information)
+(define-enum-extended GstCdParanoiaSrc
+  (in-module "Gst")
+  (c-name "GstCdParanoiaMode")
+  (values
+    '("disable" "GST_PARANOIA_MODE_DISABLE" "1<<0")
+    '("fragment" "GST_PARANOIA_MODE_FRAGMENT" "1<<1")
+    '("overlap" "GST_PARANOIA_MODE_OVERLAP" "1<<2")
+    '("scratch" "GST_PARANOIA_MODE_SCRATCH" "1<<3")
+    '("repair" "GST_PARANOIA_MODE_REPAIR" "1<<4")
+    '("full" "GST_PARANOIA_MODE_FULL" "0xff")
+  )
+)

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs.patch
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs.patch	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_enums.defs.patch	Wed Dec 17 04:37:05 2008
@@ -1,5 +1,5 @@
---- gstbase_enums.defs	2008-12-10 19:42:34.000000000 -0500
-+++ gstbase_enums.defs.new	2008-12-10 19:42:09.000000000 -0500
+--- gstbase_enums.defs	2008-12-16 23:00:53.000000000 -0500
++++ gstbase_enums.defs.new	2008-12-16 22:50:03.000000000 -0500
 @@ -707,10 +707,10 @@
    (in-module "Gst")
    (c-name "GstAudioConvertDithering")
@@ -15,7 +15,7 @@
    )
  )
  
-@@ -718,11 +718,11 @@
+@@ -718,24 +718,11 @@
    (in-module "Gst")
    (c-name "GstAudioConvertNoiseShaping")
    (values
@@ -24,6 +24,19 @@
 -    '("simple" "NOISE_SHAPING_SIMPLE" "2")
 -    '("medium" "NOISE_SHAPING_MEDIUM" "3")
 -    '("high" "NOISE_SHAPING_HIGH" "4")
+-  )
+-)
+-
+-;; From /usr/src/jhbuild-sources/gst-plugins-base/gst/audioresample/resample.h
+-
+-(define-enum-extended Format
+-  (in-module "Resample")
+-  (c-name "ResampleFormat")
+-  (values
+-    '("s16" "RESAMPLE_FORMAT_S16" "0")
+-    '("s32" "RESAMPLE_FORMAT_S32" "1")
+-    '("f32" "RESAMPLE_FORMAT_F32" "2")
+-    '("f64" "RESAMPLE_FORMAT_F64" "3")
 +    '("none" "GST_AUDIO_CONVERT_NOISE_SHAPING_NONE" "0")
 +    '("error-feedback" "GST_AUDIO_CONVERT_NOISE_SHAPING_ERROR_FEEDBACK" "1")
 +    '("simple" "GST_AUDIO_CONVERT_NOISE_SHAPING_SIMPLE" "2")
@@ -32,11 +45,12 @@
    )
  )
  
-@@ -769,6 +769,16 @@
+@@ -782,6 +769,17 @@
      '("event" "GST_GDP_DEPAY_STATE_EVENT" "4")
    )
  )
-+;; Handwritten for GstGDPPay (gdppay plugin)
++;; Handwritten for GstGDPPay plugin (values taken from output of
++;; `gst-inspect gdppay' -- "version" property information)
 +
 +(define-enum-extended DPVersion
 +  (in-module "Gst")
@@ -49,7 +63,7 @@
  
  ;; From /usr/src/jhbuild-sources/gst-plugins-base/gst/playback/gstfactorylists.h
  
-@@ -1041,17 +1051,6 @@
+@@ -1054,17 +1052,6 @@
    )
  )
  
@@ -67,7 +81,7 @@
  ;; From /usr/src/jhbuild-sources/gst-plugins-base/ext/pango/gsttextoverlay.h
  
  (define-enum-extended TextOverlayVAlign
-@@ -1079,9 +1078,9 @@
+@@ -1092,9 +1079,9 @@
    (c-name "GstTextOverlayWrapMode")
    (values
      '("none" "GST_TEXT_OVERLAY_WRAP_MODE_NONE" "-1")
@@ -80,7 +94,7 @@
    )
  )
  
-@@ -1089,21 +1088,21 @@
+@@ -1102,21 +1089,35 @@
    (in-module "Gst")
    (c-name "GstTextOverlayLineAlign")
    (values
@@ -112,3 +126,17 @@
    )
  )
  
++;; Handwritten for CdParanoiaSrc plugin (values taken from output of
++;; `gst-inspect cdparanoiasrc' -- "paranoia-mode" property information)
++(define-enum-extended GstCdParanoiaSrc
++  (in-module "Gst")
++  (c-name "GstCdParanoiaMode")
++  (values
++    '("disable" "GST_PARANOIA_MODE_DISABLE" "1<<0")
++    '("fragment" "GST_PARANOIA_MODE_FRAGMENT" "1<<1")
++    '("overlap" "GST_PARANOIA_MODE_OVERLAP" "1<<2")
++    '("scratch" "GST_PARANOIA_MODE_SCRATCH" "1<<3")
++    '("repair" "GST_PARANOIA_MODE_REPAIR" "1<<4")
++    '("full" "GST_PARANOIA_MODE_FULL" "0xff")
++  )
++)

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs	Wed Dec 17 04:37:05 2008
@@ -148,6 +148,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstBaseAudioSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property buffer-time
   (of-object "GstBaseAudioSink")
   (prop-type "GParamInt64")
@@ -368,6 +377,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstAudioSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property buffer-time
   (of-object "GstAudioSink")
   (prop-type "GParamInt64")
@@ -828,6 +846,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstAlsaSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property buffer-time
   (of-object "GstAlsaSink")
   (prop-type "GParamInt64")
@@ -1039,10 +1066,10 @@
   (construct-only #f)
 )
 
-;; From GstSpeexResample
+;; From GstAudioresample
 
 (define-property name
-  (of-object "GstSpeexResample")
+  (of-object "GstAudioresample")
   (prop-type "GParamString")
   (docs "The name of the object")
   (readable #t)
@@ -1051,7 +1078,7 @@
 )
 
 (define-property qos
-  (of-object "GstSpeexResample")
+  (of-object "GstAudioresample")
   (prop-type "GParamBoolean")
   (docs "Handle Quality-of-Service events")
   (readable #t)
@@ -1059,19 +1086,10 @@
   (construct-only #f)
 )
 
-(define-property quality
-  (of-object "GstSpeexResample")
-  (prop-type "GParamInt")
-  (docs "Resample quality with 0 being the lowest and 10 being the best")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property filter-length
-  (of-object "GstSpeexResample")
+  (of-object "GstAudioresample")
   (prop-type "GParamInt")
-  (docs "DEPRECATED, DON'T USE THIS! Length of the resample filter")
+  (docs "Length of the resample filter")
   (readable #t)
   (writable #t)
   (construct-only #f)
@@ -1178,6 +1196,134 @@
   (construct-only #f)
 )
 
+;; From GstCdParanoiaSrc
+
+(define-signal transport-error
+  (of-object "GstCdParanoiaSrc")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gint" "p0")
+  )
+)
+
+(define-signal uncorrected-error
+  (of-object "GstCdParanoiaSrc")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gint" "p0")
+  )
+)
+
+(define-property name
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamULong")
+  (docs "Size in bytes to read per buffer (-1 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property num-buffers
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamInt")
+  (docs "Number of buffers to output before sending EOS (-1 = unlimited)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property typefind
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamBoolean")
+  (docs "Run typefind before negotiating")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property do-timestamp
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamBoolean")
+  (docs "Apply current stream time to buffers")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property mode
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamEnum")
+  (docs "Mode")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property device
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamString")
+  (docs "CD device location")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property track
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamUInt")
+  (docs "Track")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property read-speed
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamInt")
+  (docs "Read from device at specified speed")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property paranoia-mode
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamFlags")
+  (docs "Type of checking to perform")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property search-overlap
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamInt")
+  (docs "Force minimum overlap search during verification to n sectors")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property generic-device
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamString")
+  (docs "Use specified generic scsi device")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GstClockOverlay
 
 (define-property name
@@ -1526,19 +1672,344 @@
   (construct-only #f)
 )
 
-(define-property qos
-  (of-object "GstFFMpegCsp")
-  (prop-type "GParamBoolean")
-  (docs "Handle Quality-of-Service events")
+(define-property qos
+  (of-object "GstFFMpegCsp")
+  (prop-type "GParamBoolean")
+  (docs "Handle Quality-of-Service events")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstGDPDepay
+
+(define-property name
+  (of-object "GstGDPDepay")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstGDPPay
+
+(define-property name
+  (of-object "GstGDPPay")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property crc-header
+  (of-object "GstGDPPay")
+  (prop-type "GParamBoolean")
+  (docs "Calculate and store a CRC checksum on the header")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property crc-payload
+  (of-object "GstGDPPay")
+  (prop-type "GParamBoolean")
+  (docs "Calculate and store a CRC checksum on the payload")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property version
+  (of-object "GstGDPPay")
+  (prop-type "GParamEnum")
+  (docs "Version of the GStreamer Data Protocol")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstGioSink
+
+(define-property name
+  (of-object "GstGioSink")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property preroll-queue-len
+  (of-object "GstGioSink")
+  (prop-type "GParamUInt")
+  (docs "Number of buffers to queue during preroll")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property sync
+  (of-object "GstGioSink")
+  (prop-type "GParamBoolean")
+  (docs "Sync on the clock")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-lateness
+  (of-object "GstGioSink")
+  (prop-type "GParamInt64")
+  (docs "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property qos
+  (of-object "GstGioSink")
+  (prop-type "GParamBoolean")
+  (docs "Generate Quality-of-Service events upstream")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property async
+  (of-object "GstGioSink")
+  (prop-type "GParamBoolean")
+  (docs "Go asynchronously to PAUSED")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ts-offset
+  (of-object "GstGioSink")
+  (prop-type "GParamInt64")
+  (docs "Timestamp offset in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property last-buffer
+  (of-object "GstGioSink")
+  (prop-type "GParamSpecMiniObject")
+  (docs "The last buffer received in the sink")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstGioSink")
+  (prop-type "GParamUInt")
+  (docs "Size in bytes to pull per buffer (0 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property render-delay
+  (of-object "GstGioSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property location
+  (of-object "GstGioSink")
+  (prop-type "GParamString")
+  (docs "URI location to write to")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property file
+  (of-object "GstGioSink")
+  (prop-type "GParamObject")
+  (docs "GFile to write to")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstGioSrc
+
+(define-property name
+  (of-object "GstGioSrc")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstGioSrc")
+  (prop-type "GParamULong")
+  (docs "Size in bytes to read per buffer (-1 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property num-buffers
+  (of-object "GstGioSrc")
+  (prop-type "GParamInt")
+  (docs "Number of buffers to output before sending EOS (-1 = unlimited)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property typefind
+  (of-object "GstGioSrc")
+  (prop-type "GParamBoolean")
+  (docs "Run typefind before negotiating")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property do-timestamp
+  (of-object "GstGioSrc")
+  (prop-type "GParamBoolean")
+  (docs "Apply current stream time to buffers")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property location
+  (of-object "GstGioSrc")
+  (prop-type "GParamString")
+  (docs "URI location to read from")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property file
+  (of-object "GstGioSrc")
+  (prop-type "GParamObject")
+  (docs "GFile to read from")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstGioStreamSink
+
+(define-property name
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property preroll-queue-len
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamUInt")
+  (docs "Number of buffers to queue during preroll")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property sync
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamBoolean")
+  (docs "Sync on the clock")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-lateness
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamInt64")
+  (docs "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property qos
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamBoolean")
+  (docs "Generate Quality-of-Service events upstream")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property async
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamBoolean")
+  (docs "Go asynchronously to PAUSED")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ts-offset
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamInt64")
+  (docs "Timestamp offset in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property last-buffer
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamSpecMiniObject")
+  (docs "The last buffer received in the sink")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamUInt")
+  (docs "Size in bytes to pull per buffer (0 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property render-delay
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property stream
+  (of-object "GstGioStreamSink")
+  (prop-type "GParamObject")
+  (docs "Stream to write to")
   (readable #t)
   (writable #t)
   (construct-only #f)
 )
 
-;; From GstGDPDepay
+;; From GstGioStreamSrc
 
 (define-property name
-  (of-object "GstGDPDepay")
+  (of-object "GstGioStreamSrc")
   (prop-type "GParamString")
   (docs "The name of the object")
   (readable #t)
@@ -1546,39 +2017,46 @@
   (construct-only #f)
 )
 
-;; From GstGDPPay
+(define-property blocksize
+  (of-object "GstGioStreamSrc")
+  (prop-type "GParamULong")
+  (docs "Size in bytes to read per buffer (-1 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
 
-(define-property name
-  (of-object "GstGDPPay")
-  (prop-type "GParamString")
-  (docs "The name of the object")
+(define-property num-buffers
+  (of-object "GstGioStreamSrc")
+  (prop-type "GParamInt")
+  (docs "Number of buffers to output before sending EOS (-1 = unlimited)")
   (readable #t)
   (writable #t)
   (construct-only #f)
 )
 
-(define-property crc-header
-  (of-object "GstGDPPay")
+(define-property typefind
+  (of-object "GstGioStreamSrc")
   (prop-type "GParamBoolean")
-  (docs "Calculate and store a CRC checksum on the header")
+  (docs "Run typefind before negotiating")
   (readable #t)
   (writable #t)
   (construct-only #f)
 )
 
-(define-property crc-payload
-  (of-object "GstGDPPay")
+(define-property do-timestamp
+  (of-object "GstGioStreamSrc")
   (prop-type "GParamBoolean")
-  (docs "Calculate and store a CRC checksum on the payload")
+  (docs "Apply current stream time to buffers")
   (readable #t)
   (writable #t)
   (construct-only #f)
 )
 
-(define-property version
-  (of-object "GstGDPPay")
-  (prop-type "GParamEnum")
-  (docs "Version of the GStreamer Data Protocol")
+(define-property stream
+  (of-object "GstGioStreamSrc")
+  (prop-type "GParamObject")
+  (docs "Stream to read from")
   (readable #t)
   (writable #t)
   (construct-only #f)
@@ -1676,6 +2154,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstGnomeVFSSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property location
   (of-object "GstGnomeVFSSink")
   (prop-type "GParamString")
@@ -1980,6 +2467,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstMultiFdSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property protocol
   (of-object "GstMultiFdSink")
   (prop-type "GParamEnum")
@@ -2806,6 +3302,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstTCPServerSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property protocol
   (of-object "GstTCPServerSink")
   (prop-type "GParamEnum")
@@ -4109,6 +4614,15 @@
   (construct-only #f)
 )
 
+(define-property render-delay
+  (of-object "GstXImageSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 (define-property display
   (of-object "GstXImageSink")
   (prop-type "GParamString")
@@ -4163,3 +4677,239 @@
   (construct-only #f)
 )
 
+;; From GstXvImageSink
+
+(define-property name
+  (of-object "GstXvImageSink")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property preroll-queue-len
+  (of-object "GstXvImageSink")
+  (prop-type "GParamUInt")
+  (docs "Number of buffers to queue during preroll")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property sync
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Sync on the clock")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-lateness
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt64")
+  (docs "Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property qos
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Generate Quality-of-Service events upstream")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property async
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Go asynchronously to PAUSED")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ts-offset
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt64")
+  (docs "Timestamp offset in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property last-buffer
+  (of-object "GstXvImageSink")
+  (prop-type "GParamSpecMiniObject")
+  (docs "The last buffer received in the sink")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstXvImageSink")
+  (prop-type "GParamUInt")
+  (docs "Size in bytes to pull per buffer (0 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property render-delay
+  (of-object "GstXvImageSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property contrast
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt")
+  (docs "The contrast of the video")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property brightness
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt")
+  (docs "The brightness of the video")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property hue
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt")
+  (docs "The hue of the video")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property saturation
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt")
+  (docs "The saturation of the video")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property display
+  (of-object "GstXvImageSink")
+  (prop-type "GParamString")
+  (docs "X Display name")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property synchronous
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "When enabled, runs the X display in synchronous mode. (used only for debugging)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property pixel-aspect-ratio
+  (of-object "GstXvImageSink")
+  (prop-type "GParamString")
+  (docs "The pixel aspect ratio of the device")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property force-aspect-ratio
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "When enabled, scaling will respect original aspect ratio")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property handle-events
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "When enabled, XEvents will be selected and handled")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property device
+  (of-object "GstXvImageSink")
+  (prop-type "GParamString")
+  (docs "The number of the video adaptor")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property device-name
+  (of-object "GstXvImageSink")
+  (prop-type "GParamString")
+  (docs "The name of the video adaptor")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property handle-expose
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "When enabled, the current frame will always be drawn in response to X Expose events")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property double-buffer
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Whether to double-buffer the output")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property autopaint-colorkey
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Whether to autofill overlay with colorkey")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property colorkey
+  (of-object "GstXvImageSink")
+  (prop-type "GParamInt")
+  (docs "Color to use for the overlay mask")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property draw-borders
+  (of-object "GstXvImageSink")
+  (prop-type "GParamBoolean")
+  (docs "Draw black borders to fill unused area in force-aspect-ratio mode")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+

Modified: gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs.patch
==============================================================================
--- gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs.patch	(original)
+++ gstreamermm/trunk/gstreamerbase/src/gstbase_signals.defs.patch	Wed Dec 17 04:37:05 2008
@@ -1,6 +1,6 @@
---- gstbase_signals.defs.gen	2008-12-10 18:23:54.000000000 -0500
-+++ gstbase_signals.defs	2008-12-10 18:24:41.000000000 -0500
-@@ -1782,7 +1782,7 @@
+--- gstbase_signals.defs	2008-12-16 23:09:40.000000000 -0500
++++ gstbase_signals.defs.new	2008-12-16 19:42:04.000000000 -0500
+@@ -2960,7 +2960,7 @@
  
  (define-signal convert-frame
    (of-object "GstPlayBin2")

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	Wed Dec 17 04:37:05 2008
@@ -89,6 +89,27 @@
   "GstURIType"
 };
 
+// To add a base class that is already wrapped to the list of wrapped base
+// classes, add alphabetically below and increment WRAPPED_BASE_CLASSES_SIZE.
+static const int WRAPPED_BASE_CLASSES_SIZE = 14;
+static const char* wrappedBaseClasses[WRAPPED_BASE_CLASSES_SIZE] =
+{
+  "GstAudioFilter",
+  "GstAudioSink",
+  "GstAudioSrc",
+  "GstBaseAudioSink",
+  "GstBaseAudioSrc",
+  "GstBaseSink",
+  "GstBaseSrc",
+  "GstBaseTransform",
+  "GstBin",
+  "GstCddaParanoiaSrc",
+  "GstElement",
+  "GstPipeline",
+  "GstPushSrc",
+  "GstVideoSink"
+};
+
 Glib::ustring get_cast_macro(const Glib::ustring& typeName)
 {
   Glib::ustring result;
@@ -129,6 +150,31 @@
   return false;
 }
 
+bool is_wrapped_base_class(const Glib::ustring& cTypeName)
+{
+  for (int i = 0; i < WRAPPED_BASE_CLASSES_SIZE &&
+    cTypeName.compare(wrappedBaseClasses[i]) >= 0; i++)
+  {
+    if (cTypeName.compare(wrappedBaseClasses[i]) == 0)
+      return true;
+  }
+
+  return false;
+}
+
+bool is_plugin(const Glib::ustring& cTypeName)
+{
+  GstElementFactory* fact = gst_element_factory_find(
+    cTypeName.substr(3).lowercase().c_str());
+
+  bool const result = (fact != 0);
+
+  if (fact)
+    g_object_unref(fact);
+
+  return result;
+}
+
 void get_property_wrap_statements(Glib::ustring& wrapStatements,
   Glib::ustring& includeMacroCalls, Glib::ustring& enumWrapStatements,
   Glib::ustring& enumGTypeFunctionDefinitions)
@@ -538,6 +584,14 @@
 
     cTypeName = g_type_name(type);
     cParentTypeName = g_type_name(g_type_parent(type));
+
+    while (!cParentTypeName.empty() &&
+      !is_wrapped_base_class(cParentTypeName) && !is_plugin(cParentTypeName))
+    {
+      cParentTypeName =
+        g_type_name(g_type_parent(g_type_from_name(cParentTypeName.c_str())));
+    }
+
     cppTypeName = cTypeName.substr(3);
     cppParentTypeName = cParentTypeName.substr(3);
     castMacro = get_cast_macro(cTypeName);

Modified: gstreamermm/trunk/tools/m4/ctocpp.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/ctocpp.m4	(original)
+++ gstreamermm/trunk/tools/m4/ctocpp.m4	Wed Dec 17 04:37:05 2008
@@ -1,9 +1,15 @@
 #Enums
 _CCONVERSION(`GstFormat',`Gst::Format')
 
-#Reference counted
+#giomm
+_CCONVERSION(`GFile*',`const Glib::RefPtr<Gio::File>&',`Glib::RefPtr<Gio::File>',`<giomm/file.h>')
+_CCONVERSION(`GInputStream*',`const Glib::RefPtr<Gio::InputStream>&',`Glib::RefPtr<Gio::InputStream>',`<giomm/inputstream.h>')
+_CCONVERSION(`GOutputStream*',`const Glib::RefPtr<Gio::OutputStream>&',`Glib::RefPtr<Gio::OutputStream>',`<giomm/outputstream.h>')
+
+#gstreamermm
 _CCONVERSION(`GstBuffer*',`const Glib::RefPtr<Gst::Buffer>&',`Glib::RefPtr<Gst::Buffer>',`<gstreamermm/buffer.h>')
 _CCONVERSION(`GstCaps*',`const Glib::RefPtr<Gst::Caps>&',`Glib::RefPtr<Gst::Caps>',`<gstreamermm/caps.h>')
 _CCONVERSION(`GstElement*',`const Glib::RefPtr<Gst::Element>&',`Glib::RefPtr<Gst::Element>',`<gstreamermm/element.h>')
 _CCONVERSION(`GstPad*',`const Glib::RefPtr<Gst::Pad>&',`Glib::RefPtr<Gst::Pad>',`<gstreamermm/pad.h>')
 _CCONVERSION(`GstTagList*',`Gst::TagList',,`<gstreamermm/taglist.h>')
+



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