gnomemm r1965 - in gstreamermm/trunk: . examples/ogg_player_gtkmm gstreamer gstreamer/gstreamermm gstreamer/src tools/extra_defs_gen tools/m4



Author: jaalburqu
Date: Wed Jan  7 02:45:33 2009
New Revision: 1965
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1965&view=rev

Log:
2009-01-06  Josà Alburquerque  <jaalburqu svn gnome org>

	* configure.ac:
	* gstreamer/gstreamermm-0.10.pc.in: Added all possible GStreamer
	dependencies to gstreamermm.
	* tools/extra_defs_gen/generate_defs_gst.cc:
	* gstreamer/src/gst_signals.defs: Added all possible GStreamer types
	to extra defs gen. utility and regenerated signals defs (all is
	included so no need to add things bit by bit and regenerate).


	* gstreamer/gstreamermm.h:
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* gstreamer/src/mixer.ccg:
	* gstreamer/src/mixer.hg:
	* gstreamer/src/mixeroptions.ccg:
	* gstreamer/src/mixeroptions.hg:
	* gstreamer/src/mixertrack.ccg:
	* gstreamer/src/mixertrack.hg:
	* tools/m4/convert_gst.m4: Added Gst::Mixer interface and related
	classes.

	* gstreamer/gstreamermm/object.h:
	* gstreamer/src/baseaudiosrc.hg:
	* gstreamer/src/basetransform.hg:
	* gstreamer/src/cddabasesrc.hg:
	* gstreamer/src/colorbalance.hg:
	* gstreamer/src/colorbalancechannel.ccg:
	* gstreamer/src/colorbalancechannel.hg:
	* examples/ogg_player_gtkmm/player_window.cc: Completed some TODO's,
	filed bugs about non-public enums in GStreamer and fixed some
	typos/whitespace.

Added:
   gstreamermm/trunk/gstreamer/src/mixer.ccg
   gstreamermm/trunk/gstreamer/src/mixer.hg
   gstreamermm/trunk/gstreamer/src/mixeroptions.ccg
   gstreamermm/trunk/gstreamer/src/mixeroptions.hg
   gstreamermm/trunk/gstreamer/src/mixertrack.ccg
   gstreamermm/trunk/gstreamer/src/mixertrack.hg
Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/configure.ac
   gstreamermm/trunk/examples/ogg_player_gtkmm/player_window.cc
   gstreamermm/trunk/gstreamer/gstreamermm-0.10.pc.in
   gstreamermm/trunk/gstreamer/gstreamermm.h
   gstreamermm/trunk/gstreamer/gstreamermm/object.h
   gstreamermm/trunk/gstreamer/src/Makefile_list_of_hg.am_fragment
   gstreamermm/trunk/gstreamer/src/baseaudiosrc.hg
   gstreamermm/trunk/gstreamer/src/basetransform.hg
   gstreamermm/trunk/gstreamer/src/cddabasesrc.hg
   gstreamermm/trunk/gstreamer/src/colorbalance.hg
   gstreamermm/trunk/gstreamer/src/colorbalancechannel.ccg
   gstreamermm/trunk/gstreamer/src/colorbalancechannel.hg
   gstreamermm/trunk/gstreamer/src/gst_signals.defs
   gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc
   gstreamermm/trunk/tools/m4/convert_gst.m4

Modified: gstreamermm/trunk/configure.ac
==============================================================================
--- gstreamermm/trunk/configure.ac	(original)
+++ gstreamermm/trunk/configure.ac	Wed Jan  7 02:45:33 2009
@@ -133,14 +133,18 @@
 PKG_CHECK_MODULES(GSTREAMERMM, \
         glibmm-2.4 >= ${gstreamermm_min_glibmm_version} \
         giomm-2.4 >= ${gstreamermm_min_glibmm_version} \
+        libxml++-2.6 >= ${gstreamermm_min_libxmlpp_version} \
         gstreamer-0.10 >= ${gstreamermm_min_gst_version} \
         gstreamer-base-0.10 >= ${gstreamermm_min_gst_version} \
+        gstreamer-controller-0.10 >= ${gstreamermm_min_gst_version} \
+        gstreamer-dataprotocol-0.10 >= ${gstreamermm_min_gst_version} \
+        gstreamer-net-0.10 >= ${gstreamermm_min_gst_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-rtp-0.10 >= ${gstreamermm_min_gst_version} \
         gstreamer-video-0.10 >= ${gstreamermm_min_gst_version} \
-        libxml++-2.6 >= ${gstreamermm_min_libxmlpp_version} \
         )
 AC_SUBST(GSTREAMERMM_CFLAGS)
 AC_SUBST(GSTREAMERMM_LIBS)

Modified: gstreamermm/trunk/examples/ogg_player_gtkmm/player_window.cc
==============================================================================
--- gstreamermm/trunk/examples/ogg_player_gtkmm/player_window.cc	(original)
+++ gstreamermm/trunk/examples/ogg_player_gtkmm/player_window.cc	Wed Jan  7 02:45:33 2009
@@ -288,7 +288,7 @@
   {
     working_dir = chooser.get_current_folder();
 
-    // Set filename property on the file source. 
+    // Set location property on the file source. 
     const std::string filename = chooser.get_filename(); //TODO: Can this use a URI?
     m_source_element->property_location() = filename;
     set_title( Glib::filename_display_basename(filename) );

Modified: gstreamermm/trunk/gstreamer/gstreamermm-0.10.pc.in
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm-0.10.pc.in	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm-0.10.pc.in	Wed Jan  7 02:45:33 2009
@@ -5,7 +5,11 @@
 
 Name: gstreamermm
 Description: C++ wrapper for GStreamer 
-Requires: glibmm-2.4 giomm-2.4 gstreamer-0.10 gstreamer-base-0.10 libxml++-2.6 gstreamer-plugins-base-0.10 gstreamer-audio-0.10 gstreamer-cdda-0.10 gstreamer-interfaces-0.10 gstreamer-video-0.10
+Requires: glibmm-2.4 giomm-2.4 libxml++-2.6 gstreamer-0.10 \
+gstreamer-base-0.10 gstreamer-controller-0.10 gstreamer-dataprotocol-0.10 \
+gstreamer-net-0.10 gstreamer-plugins-base-0.10 gstreamer-audio-0.10 \
+gstreamer-cdda-0.10 gstreamer-interfaces-0.10 gstreamer-rtp-0.10 \
+gstreamer-video-0.10
 Version: @VERSION@
 Libs: -L${libdir} -lgstreamermm-0.10
 Cflags: -I${includedir}/gstreamermm-0.10 -I${libdir}/gstreamermm-0.10/include

Modified: gstreamermm/trunk/gstreamer/gstreamermm.h
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm.h	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm.h	Wed Jan  7 02:45:33 2009
@@ -43,13 +43,13 @@
 #include <gstreamermm/value.h>
 #include <gstreamermm/xml.h>
 
-// Library base includes
+// Core library base includes
 #include <gstreamermm/basesrc.h>
 #include <gstreamermm/basesink.h>
 #include <gstreamermm/basetransform.h>
 #include <gstreamermm/pushsrc.h>
 
-// Base includes
+// Base library includes
 #include <gstreamermm/audioclock.h>
 #include <gstreamermm/audiofilter.h>
 #include <gstreamermm/audiosink.h>
@@ -57,8 +57,13 @@
 #include <gstreamermm/baseaudiosink.h>
 #include <gstreamermm/baseaudiosrc.h>
 #include <gstreamermm/cddabasesrc.h>
+
+// Base inteface includes
 #include <gstreamermm/colorbalance.h>
 #include <gstreamermm/colorbalancechannel.h>
+#include <gstreamermm/mixer.h>
+#include <gstreamermm/mixeroptions.h>
+#include <gstreamermm/mixertrack.h>
 #include <gstreamermm/xoverlay.h>
 
 #endif // _GSTREAMERMM_H

Modified: gstreamermm/trunk/gstreamer/gstreamermm/object.h
==============================================================================
--- gstreamermm/trunk/gstreamer/gstreamermm/object.h	(original)
+++ gstreamermm/trunk/gstreamer/gstreamermm/object.h	Wed Jan  7 02:45:33 2009
@@ -44,10 +44,6 @@
 //so that we can add code to the Object(GObject*) constructor.
 //(If this becomes difficult then we might add a _CUSTOM_CAST_CTOR() macro to gmmproc).
 
-//TODO: Paragraphs about floating references their effect on elements and how
-//to handle them using gst_object_ref() and gst_object_sink() are not included
-//in class docs below.  Should they be?
-
 /** Gst::Object â Base class for the GStreamer object hierarchy.
  * Gst::Object provides a root for the object hierarchy tree filed in by the
  * GStreamer library. It is currently a thin wrapper on top of Glib::Object.
@@ -143,8 +139,6 @@
    */
   Glib::ustring get_name() const;
   
-  //TODO: floating reference comment not included in set_parent() method docs
-  //below.
   /** Sets the parent of object to parent. The object's reference count will
    * be incremented.
    *

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	Wed Jan  7 02:45:33 2009
@@ -14,7 +14,8 @@
 	basesrc.hg basesink.hg basetransform.hg pushsrc.hg audioclock.hg \
 	audiofilter.hg audiosink.hg audiosrc.hg baseaudiosink.hg \
 	baseaudiosrc.hg cddabasesrc.hg videosink.hg \
-   	colorbalance.hg colorbalancechannel.hg xoverlay.hg
+   	colorbalance.hg colorbalancechannel.hg mixer.hg mixeroptions.hg \
+	mixertrack.hg xoverlay.hg
 
 #TODO: Add ghostpad.hg when bug #539108 is fixed (and patch in bug is applied)
 

Modified: gstreamermm/trunk/gstreamer/src/baseaudiosrc.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/baseaudiosrc.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/baseaudiosrc.hg	Wed Jan  7 02:45:33 2009
@@ -26,6 +26,8 @@
 namespace Gst
 {
 
+_WRAP_ENUM(BaseAudioSrcSlaveMethod, GstBaseAudioSrcSlaveMethod)
+
 /** Gst::BaseAudioSrc â Base class for audio sources.
  * This is the base class for audio sources. Subclasses need to implement the
  * create_ringbuffer_vfunc vmethod. This base class will then take care of
@@ -55,8 +57,7 @@
   _WRAP_PROPERTY("latency-time", gint64)
   _WRAP_PROPERTY("provide-clock", bool)
 
-  //TODO: Wrap this property when bug #564206 is resolved.
-  //_WRAP_PROPERTY("slave-method", BaseAudioSrcSlaveMethod)
+  _WRAP_PROPERTY("slave-method", BaseAudioSrcSlaveMethod)
 
   //TODO: Wrap vfuncs.
 };

Modified: gstreamermm/trunk/gstreamer/src/basetransform.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/basetransform.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/basetransform.hg	Wed Jan  7 02:45:33 2009
@@ -55,7 +55,7 @@
  *           inspect it, in which case the element should have a
  *           transform_ip_vfunc() function. If there is no transform_ip_vfunc()
  *           function in passthrough mode, the buffer is pushed intact.
- *           - TODO: Investigate the following and fix for c++ (file bug if
+ *           - TODO: Investigate the following and fix for C++ (file bug if
  *           necessary): On the GstBaseTransformClass is the
  *           passthrough_on_same_caps variable which will automatically
  *           set/unset passthrough based on whether the element negotiates the

Modified: gstreamermm/trunk/gstreamer/src/cddabasesrc.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/cddabasesrc.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/cddabasesrc.hg	Wed Jan  7 02:45:33 2009
@@ -27,7 +27,7 @@
 namespace Gst
 {
 
-//TODO: File a bug about enum not public:
+//TODO: Include when bug #566837 is resolved:
 //_WRAP_ENUM(CddaBaseSrcMode,GstCddaBaseSrcMode)
 
 /** Gst::CddaBaseSrc â Base class for CD digital audio (CDDA) sources.
@@ -69,6 +69,14 @@
 
 public:
   //TODO: _WRAP_METHOD(bool add_track(...), gst_cdda_base_src_add_track)
+
+  _WRAP_PROPERTY("device", Glib::ustring)
+
+  //TODO: Include when bug #566837 is resolved:
+  //_WRAP_PROPERTY("mode", CddaBaseSrcMode)
+
+  _WRAP_PROPERTY("track", guint)
+
   //TODO: Wrap vfuncs.
 };
 

Modified: gstreamermm/trunk/gstreamer/src/colorbalance.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/colorbalance.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/colorbalance.hg	Wed Jan  7 02:45:33 2009
@@ -27,7 +27,8 @@
 namespace Gst
 {
 
-//TODO: _WRAP_ENUM(ColorBalanceType, GstColorBalanceType)
+//TODO: Include when bug #566822 is resolved.
+//_WRAP_ENUM(ColorBalanceType, GstColorBalanceType)
 
 class ColorBalanceChannel;
 
@@ -53,4 +54,3 @@
 };
 
 } // namespace Gst
-

Modified: gstreamermm/trunk/gstreamer/src/colorbalancechannel.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/colorbalancechannel.ccg	(original)
+++ gstreamermm/trunk/gstreamer/src/colorbalancechannel.ccg	Wed Jan  7 02:45:33 2009
@@ -20,4 +20,3 @@
  */
 
 _PINCLUDE(glibmm/private/object_p.h)
-

Modified: gstreamermm/trunk/gstreamer/src/colorbalancechannel.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/colorbalancechannel.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/colorbalancechannel.hg	Wed Jan  7 02:45:33 2009
@@ -41,4 +41,3 @@
 };
 
 } // namespace Gst
-

Modified: gstreamermm/trunk/gstreamer/src/gst_signals.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_signals.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_signals.defs	Wed Jan  7 02:45:33 2009
@@ -917,6 +917,227 @@
   (construct-only #f)
 )
 
+;; From GstController
+
+(define-property control-rate
+  (of-object "GstController")
+  (prop-type "GParamUInt64")
+  (docs "Controlled properties will be updated at least every control-rate nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstControlSource
+
+;; From GstInterpolationControlSource
+
+;; From GstLFOControlSource
+
+(define-property waveform
+  (of-object "GstLFOControlSource")
+  (prop-type "GParamEnum")
+  (docs "Waveform")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property frequency
+  (of-object "GstLFOControlSource")
+  (prop-type "GParamDouble")
+  (docs "Frequency of the waveform")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timeshift
+  (of-object "GstLFOControlSource")
+  (prop-type "GParamUInt64")
+  (docs "Timeshift of the waveform to the right")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property amplitude
+  (of-object "GstLFOControlSource")
+  (prop-type "GParamBoxed")
+  (docs "Amplitude of the waveform")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property offset
+  (of-object "GstLFOControlSource")
+  (prop-type "GParamBoxed")
+  (docs "Offset of the waveform")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstNetClientClock
+
+(define-property name
+  (of-object "GstNetClientClock")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property stats
+  (of-object "GstNetClientClock")
+  (prop-type "GParamBoolean")
+  (docs "Enable clock stats (unimplemented)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property window-size
+  (of-object "GstNetClientClock")
+  (prop-type "GParamInt")
+  (docs "The size of the window used to calculate rate and offset")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property window-threshold
+  (of-object "GstNetClientClock")
+  (prop-type "GParamInt")
+  (docs "The threshold to start calculating rate and offset")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timeout
+  (of-object "GstNetClientClock")
+  (prop-type "GParamUInt64")
+  (docs "The amount of time, in nanoseconds, to sample master and slave clocks")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property address
+  (of-object "GstNetClientClock")
+  (prop-type "GParamString")
+  (docs "The address of the machine providing a time server, as a dotted quad (x.x.x.x)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property port
+  (of-object "GstNetClientClock")
+  (prop-type "GParamInt")
+  (docs "The port on which the remote server is listening")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstNetTimeProvider
+
+(define-property name
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property port
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamInt")
+  (docs "The port to receive the packets from, 0=allocate")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property address
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamString")
+  (docs "The address to bind on, as a dotted quad (x.x.x.x)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property clock
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamObject")
+  (docs "The clock to export over the network")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property active
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamBoolean")
+  (docs "TRUE if the clock will respond to queries over the network")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstNetTimeProvider
+
+(define-property name
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property port
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamInt")
+  (docs "The port to receive the packets from, 0=allocate")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property address
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamString")
+  (docs "The address to bind on, as a dotted quad (x.x.x.x)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property clock
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamObject")
+  (docs "The clock to export over the network")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property active
+  (of-object "GstNetTimeProvider")
+  (prop-type "GParamBoolean")
+  (docs "TRUE if the clock will respond to queries over the network")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GstCapsFilter
 
 (define-property name
@@ -2732,29 +2953,639 @@
   (construct-only #f)
 )
 
-;; From GstColorBalance
+;; From GstCddaBaseSrc
 
-(define-signal value-changed
-  (of-object "GstColorBalance")
-  (return-type "void")
-  (when "last")
-  (parameters
-    '("GstColorBalanceChannel*" "p0")
-    '("gint" "p1")
-  )
+(define-property name
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
 )
 
-;; From GstColorBalanceChannel
+(define-property blocksize
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamULong")
+  (docs "Size in bytes to read per buffer (-1 = default)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
 
-(define-signal value-changed
-  (of-object "GstColorBalanceChannel")
-  (return-type "void")
-  (when "last")
-  (parameters
-    '("gint" "p0")
-  )
+(define-property num-buffers
+  (of-object "GstCddaBaseSrc")
+  (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 "GstCddaBaseSrc")
+  (prop-type "GParamBoolean")
+  (docs "Run typefind before negotiating")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property do-timestamp
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamBoolean")
+  (docs "Apply current stream time to buffers")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property mode
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamEnum")
+  (docs "Mode")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property device
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamString")
+  (docs "CD device location")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property track
+  (of-object "GstCddaBaseSrc")
+  (prop-type "GParamUInt")
+  (docs "Track")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstBaseRTPAudioPayload
+
+(define-property name
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property mtu
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "Maximum size of one packet")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
 )
 
+(define-property pt
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "The payload type of the packets")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ssrc
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "The SSRC of the packets (default == random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timestamp-offset
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "Offset to add to all outgoing timestamps (default = random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property seqnum-offset
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamInt")
+  (docs "Offset to add to all outgoing seqnum (-1 = random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-ptime
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamInt64")
+  (docs "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property min-ptime
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamInt64")
+  (docs "Minimum duration of the packet data in ns (can't go above MTU)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timestamp
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "The RTP timestamp of the last processed packet")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property seqnum
+  (of-object "GstBaseRTPAudioPayload")
+  (prop-type "GParamUInt")
+  (docs "The RTP sequence number of the last processed packet")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+;; From GstBaseRTPDepayload
+
+(define-property name
+  (of-object "GstBaseRTPDepayload")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property queue-delay
+  (of-object "GstBaseRTPDepayload")
+  (prop-type "GParamUInt")
+  (docs "Amount of ms to queue/buffer, deprecated")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstBaseRTPPayload
+
+(define-property name
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property mtu
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "Maximum size of one packet")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property pt
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "The payload type of the packets")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ssrc
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "The SSRC of the packets (default == random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timestamp-offset
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "Offset to add to all outgoing timestamps (default = random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property seqnum-offset
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamInt")
+  (docs "Offset to add to all outgoing seqnum (-1 = random)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-ptime
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamInt64")
+  (docs "Maximum duration of the packet data in ns (-1 = unlimited up to MTU)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property min-ptime
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamInt64")
+  (docs "Minimum duration of the packet data in ns (can't go above MTU)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property timestamp
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "The RTP timestamp of the last processed packet")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property seqnum
+  (of-object "GstBaseRTPPayload")
+  (prop-type "GParamUInt")
+  (docs "The RTP sequence number of the last processed packet")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+;; From GstTagDemux
+
+(define-property name
+  (of-object "GstTagDemux")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstVideoSink
+
+(define-property name
+  (of-object "GstVideoSink")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property preroll-queue-len
+  (of-object "GstVideoSink")
+  (prop-type "GParamUInt")
+  (docs "Number of buffers to queue during preroll")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property sync
+  (of-object "GstVideoSink")
+  (prop-type "GParamBoolean")
+  (docs "Sync on the clock")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property max-lateness
+  (of-object "GstVideoSink")
+  (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 "GstVideoSink")
+  (prop-type "GParamBoolean")
+  (docs "Generate Quality-of-Service events upstream")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property async
+  (of-object "GstVideoSink")
+  (prop-type "GParamBoolean")
+  (docs "Go asynchronously to PAUSED")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property ts-offset
+  (of-object "GstVideoSink")
+  (prop-type "GParamInt64")
+  (docs "Timestamp offset in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property last-buffer
+  (of-object "GstVideoSink")
+  (prop-type "GParamSpecMiniObject")
+  (docs "The last buffer received in the sink")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property blocksize
+  (of-object "GstVideoSink")
+  (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 "GstVideoSink")
+  (prop-type "GParamUInt64")
+  (docs "Additional render delay of the sink in nanoseconds")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstVideoFilter
+
+(define-property name
+  (of-object "GstVideoFilter")
+  (prop-type "GParamString")
+  (docs "The name of the object")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+(define-property qos
+  (of-object "GstVideoFilter")
+  (prop-type "GParamBoolean")
+  (docs "Handle Quality-of-Service events")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
+;; From GstColorBalance
+
+(define-signal value-changed
+  (of-object "GstColorBalance")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("GstColorBalanceChannel*" "p0")
+    '("gint" "p1")
+  )
+)
+
+;; From GstColorBalanceChannel
+
+(define-signal value-changed
+  (of-object "GstColorBalanceChannel")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gint" "p0")
+  )
+)
+
+;; From GstMixer
+
+;; From GstMixerTrack
+
+(define-property label
+  (of-object "GstMixerTrack")
+  (prop-type "GParamString")
+  (docs "The label assigned to the track (may be translated)")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property untranslated-label
+  (of-object "GstMixerTrack")
+  (prop-type "GParamString")
+  (docs "The untranslated label assigned to the track (since 0.10.13)")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
+(define-property index
+  (of-object "GstMixerTrack")
+  (prop-type "GParamUInt")
+  (docs "Track index")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
+(define-property min-volume
+  (of-object "GstMixerTrack")
+  (prop-type "GParamInt")
+  (docs "The minimum possible volume level")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property max-volume
+  (of-object "GstMixerTrack")
+  (prop-type "GParamInt")
+  (docs "The maximum possible volume level")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property flags
+  (of-object "GstMixerTrack")
+  (prop-type "GParamUInt")
+  (docs "Flags indicating the type of mixer track")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property num-channels
+  (of-object "GstMixerTrack")
+  (prop-type "GParamInt")
+  (docs "The number of channels contained within the track")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+;; From GstMixerOptions
+
+(define-property label
+  (of-object "GstMixerOptions")
+  (prop-type "GParamString")
+  (docs "The label assigned to the track (may be translated)")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property untranslated-label
+  (of-object "GstMixerOptions")
+  (prop-type "GParamString")
+  (docs "The untranslated label assigned to the track (since 0.10.13)")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
+(define-property index
+  (of-object "GstMixerOptions")
+  (prop-type "GParamUInt")
+  (docs "Track index")
+  (readable #t)
+  (writable #t)
+  (construct-only #t)
+)
+
+(define-property min-volume
+  (of-object "GstMixerOptions")
+  (prop-type "GParamInt")
+  (docs "The minimum possible volume level")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property max-volume
+  (of-object "GstMixerOptions")
+  (prop-type "GParamInt")
+  (docs "The maximum possible volume level")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property flags
+  (of-object "GstMixerOptions")
+  (prop-type "GParamUInt")
+  (docs "Flags indicating the type of mixer track")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property num-channels
+  (of-object "GstMixerOptions")
+  (prop-type "GParamInt")
+  (docs "The number of channels contained within the track")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+;; From GstNavigation
+
+;; From GstPropertyProbe
+
+(define-signal probe-needed
+  (of-object "GstPropertyProbe")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gpointer" "p0")
+  )
+)
+
+;; From GstTuner
+
+(define-signal frequency-changed
+  (of-object "GstTuner")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("GstTunerChannel*" "p0")
+    '("gulong" "p1")
+  )
+)
+
+(define-signal signal-changed
+  (of-object "GstTuner")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("GstTunerChannel*" "p0")
+    '("gint" "p1")
+  )
+)
+
+(define-signal norm-changed
+  (of-object "GstTuner")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("GstTunerNorm*" "p0")
+  )
+)
+
+(define-signal channel-changed
+  (of-object "GstTuner")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("GstTunerChannel*" "p0")
+  )
+)
+
+;; From GstTunerChannel
+
+(define-signal frequency-changed
+  (of-object "GstTunerChannel")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gulong" "p0")
+  )
+)
+
+(define-signal signal-changed
+  (of-object "GstTunerChannel")
+  (return-type "void")
+  (when "last")
+  (parameters
+    '("gint" "p0")
+  )
+)
+
+;; From GstTunerNorm
+
+;; From GstVideoOrientation
+
 ;; From GstXOverlay
 
 ;; From GstPlayBaseBin

Added: gstreamermm/trunk/gstreamer/src/mixer.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixer.ccg	Wed Jan  7 02:45:33 2009
@@ -0,0 +1,39 @@
+// -*- 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 <gstreamermm/mixeroptions.h>
+ #include <gstreamermm/mixertrack.h>
+
+ namespace Gst
+ {
+
+Glib::ArrayHandle<int> Mixer::get_volume(const Glib::RefPtr<Gst::MixerTrack>& track)
+{
+  const guint32 num_channels = track->get_num_channels();
+  int* volumes = new int[num_channels];
+
+  gst_mixer_get_volume(gobj(), track->gobj(), volumes);
+
+  return Glib::ArrayHandle<int>::ArrayHandle(volumes, num_channels,
+    Glib::OWNERSHIP_DEEP);
+}
+
+ }

Added: gstreamermm/trunk/gstreamer/src/mixer.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixer.hg	Wed Jan  7 02:45:33 2009
@@ -0,0 +1,86 @@
+// -*- 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/interfaces/mixer.h>
+#include <glibmm/interface.h>
+
+_DEFS(gstreamermm,gst)
+
+namespace Gst
+{
+
+//TODO: Include enums when bug #566824 is resolved:
+//_WRAP_ENUM(MixerType, GstMixerType)
+//_WRAP_ENUM(MixerFlags, GstMixerFlags)
+//_WRAP_ENUM(MixerMessageType, GstMixerMessageType)
+
+class MixerOptions;
+class MixerTrack;
+
+/** Gst::Mixer â Interface for elements that provide mixer operations.
+ * @ingroup GstInterfaces
+ */
+class Mixer : public Glib::Interface
+{
+  _CLASS_INTERFACE(Mixer, GstMixer, GST_MIXER, GstMixerClass)
+
+public:
+#m4 _CONVERSION(`const GList*', `Glib::ListHandle< Glib::RefPtr<MixerTrack> >', `$2(const_cast<GList*>($3), Glib::OWNERSHIP_NONE)')
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<MixerTrack> > list_tracks(), gst_mixer_list_tracks)
+
+  /** Get the current volume(s) on the given track.
+   *
+   * @param track the Gst::MixerTrack to get the volume from.
+   * @return an array of integers (of size track->num_channels) to with the
+   * current volume of each channel in the given track. 
+   */
+  Glib::ArrayHandle<int> get_volume(const Glib::RefPtr<Gst::MixerTrack>& track);
+  _IGNORE(gst_mixer_get_volume)
+
+#m4 _CONVERSION(`const Glib::ArrayHandle<int>&', `gint*', `const_cast<int*>(($3).data())')
+  _WRAP_METHOD(void set_volume(const Glib::RefPtr<Gst::MixerTrack>& track, const Glib::ArrayHandle<int>& volumes), gst_mixer_set_volume)
+
+  _WRAP_METHOD(void set_mute(const Glib::RefPtr<Gst::MixerTrack>& track, bool mute), gst_mixer_set_mute)
+  _WRAP_METHOD(void set_record(const Glib::RefPtr<Gst::MixerTrack>& track, bool record), gst_mixer_set_record)
+  _WRAP_METHOD(void set_option(const Glib::RefPtr<Gst::MixerOptions>& opts, const Glib::ustring& value), gst_mixer_set_option)
+  _WRAP_METHOD(void mute_toggled(const Glib::RefPtr<Gst::MixerTrack>& track, bool mute), gst_mixer_mute_toggled)
+  _WRAP_METHOD(void record_toggled(const Glib::RefPtr<Gst::MixerTrack>& track, bool record), gst_mixer_record_toggled)
+  _WRAP_METHOD(void volume_changed(const Glib::RefPtr<Gst::MixerTrack>& track, const Glib::ArrayHandle<int>& volumes), gst_mixer_volume_changed)
+  _WRAP_METHOD(void option_changed(const Glib::RefPtr<Gst::MixerOptions>& opts, const Glib::ustring& value), gst_mixer_option_changed)
+  _WRAP_METHOD(void options_list_changed(const Glib::RefPtr<Gst::MixerOptions>& opts), gst_mixer_options_list_changed)
+  _WRAP_METHOD(Glib::ustring get_option(const Glib::RefPtr<Gst::MixerOptions>& opts), gst_mixer_get_option)
+  _WRAP_METHOD(void mixer_changed(), gst_mixer_mixer_changed)
+
+  //TODO: Include enums when bug #566824 is resolved:
+  //_WRAP_METHOD(Gst::MixerFlags get_mixer_flags(), gst_mixer_get_mixer_flags)
+
+  /* TODO:
+  _WRAP_METHOD(satic Gst::MixerMessageType message_get_type(GstMessage *message), gst_mixer_message_get_type)
+  _WRAP_METHOD(static void message_parse_mute_toggled(GstMessage *message, GstMixerTrack **track, gboolean *mute), gst_mixer_message_parse_mute_toggled)
+  _WRAP_METHOD(static void message_parse_option_changed(GstMessage *message, GstMixerOptions **options, const gchar **value), gst_mixer_message_parse_option_changed)
+  _WRAP_METHOD(static void message_parse_record_toggled(GstMessage *message, GstMixerTrack **track, gboolean *record), gst_mixer_message_parse_record_toggled)
+  _WRAP_METHOD(static void message_parse_volume_changed(GstMessage *message, GstMixerTrack **track, gint **volumes, gint *num_channels), gst_mixer_message_parse_volume_changed)
+  _WRAP_METHOD(static void message_parse_options_list_changed(GstMessage *message, GstMixerOptions **options), gst_mixer_message_parse_options_list_changed)
+  */
+
+};
+
+} // namespace Gst

Added: gstreamermm/trunk/gstreamer/src/mixeroptions.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixeroptions.ccg	Wed Jan  7 02:45:33 2009
@@ -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/interfaces/mixer.h>
+_PINCLUDE(gstreamermm/private/mixertrack_p.h)

Added: gstreamermm/trunk/gstreamer/src/mixeroptions.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixeroptions.hg	Wed Jan  7 02:45:33 2009
@@ -0,0 +1,40 @@
+// -*- 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 <gstreamermm/mixertrack.h>
+
+_DEFS(gstreamermm,gst)
+
+namespace Gst
+{
+
+/** Gst::MixerOptions â Options for elements that implement the * Gst::Mixer
+ * interface.
+ */
+class MixerOptions : public Gst::MixerTrack
+{
+  _CLASS_GOBJECT(MixerOptions, GstMixerOptions, GST_MIXER_OPTIONS, Gst::MixerTrack, GstMixerTrack)
+public:
+#m4 _CONVERSION(`GList*', `Glib::ListHandle< Glib::ustring >', `$2(const_cast<GList*>($3), Glib::OWNERSHIP_NONE)')
+  _WRAP_METHOD(Glib::ListHandle< Glib::ustring > get_values(), gst_mixer_options_get_values)
+};
+
+} // namespace Gst

Added: gstreamermm/trunk/gstreamer/src/mixertrack.ccg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixertrack.ccg	Wed Jan  7 02:45:33 2009
@@ -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/interfaces/mixer.h>
+_PINCLUDE(glibmm/private/object_p.h)

Added: gstreamermm/trunk/gstreamer/src/mixertrack.hg
==============================================================================
--- (empty file)
+++ gstreamermm/trunk/gstreamer/src/mixertrack.hg	Wed Jan  7 02:45:33 2009
@@ -0,0 +1,61 @@
+// -*- 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 <glibmm/object.h>
+
+_DEFS(gstreamermm,gst)
+
+namespace Gst
+{
+
+//TODO: Include when bug #566824 is resolved.
+//_WRAP_ENUM(MixerTrackFlags, GstMixerTrackFlags)
+
+/** Gst::MixerTrack â A track in an element that implement the Gst::Mixer
+ * interface.
+ */
+class MixerTrack : public Glib::Object
+{
+  _CLASS_GOBJECT(MixerTrack, GstMixerTrack, GST_MIXER_TRACK, Glib::Object, GObject)
+
+public:
+  /** Get the number of channels in the Gst::MixerTrack.
+   */
+  _MEMBER_GET(num_channels, num_channels, guint32, guint32)
+
+  /** Get minimum volume of in the Gst::MixerTrack.
+   */
+  _MEMBER_GET(min_volume, min_volume, guint32, guint32)
+
+  /** Get the maximum volume of the Gst::MixerTrack.
+   */
+  _MEMBER_GET(max_volume, max_volume, guint32, guint32)
+
+  _WRAP_PROPERTY("flags", guint)
+  _WRAP_PROPERTY("index", guint)
+  _WRAP_PROPERTY("label", Glib::ustring)
+  _WRAP_PROPERTY("max-volume", int)
+  _WRAP_PROPERTY("min-volume", int)
+  _WRAP_PROPERTY("num-channels", int)
+  _WRAP_PROPERTY("untranslated-label", Glib::ustring)
+};
+
+} // namespace Gst

Modified: gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc	(original)
+++ gstreamermm/trunk/tools/extra_defs_gen/generate_defs_gst.cc	Wed Jan  7 02:45:33 2009
@@ -20,9 +20,10 @@
 #include "glibmm_generate_extra_defs/generate_extra_defs.h"
 #include "get_plugin_defs.h"
 
+// Core includes
 #include <gst/gst.h>
 
-// Core includes
+// Core library includes
 #include <gst/base/gstbasesrc.h>
 #include <gst/base/gstbasesink.h>
 #include <gst/base/gstbasetransform.h>
@@ -30,8 +31,13 @@
 #include <gst/base/gstadapter.h>
 #include <gst/base/gstcollectpads.h>
 #include <gst/base/gstdataqueue.h>
+#include <gst/controller/gstcontroller.h>
+#include <gst/controller/gstcontrolsource.h>
+#include <gst/controller/gstinterpolationcontrolsource.h>
+#include <gst/controller/gstlfocontrolsource.h>
+#include <gst/net/gstnet.h>
 
-// base includes
+// Base library includes
 #include <gst/audio/gstaudioclock.h>
 #include <gst/audio/gstaudiofilter.h>
 #include <gst/audio/gstbaseaudiosink.h>
@@ -39,8 +45,22 @@
 #include <gst/audio/gstaudiosink.h>
 #include <gst/audio/gstaudiosrc.h>
 #include <gst/audio/gstringbuffer.h>
+#include <gst/cdda/gstcddabasesrc.h>
+#include <gst/rtp/gstbasertpaudiopayload.h>
+#include <gst/rtp/gstbasertpdepayload.h>
+#include <gst/rtp/gstbasertppayload.h>
+#include <gst/tag/gsttagdemux.h>
+#include <gst/video/gstvideosink.h>
+#include <gst/video/gstvideofilter.h>
+
+// Base interface includes
 #include <gst/interfaces/colorbalance.h>
 #include <gst/interfaces/colorbalancechannel.h>
+#include <gst/interfaces/mixer.h>
+#include <gst/interfaces/navigation.h>
+#include <gst/interfaces/propertyprobe.h>
+#include <gst/interfaces/tuner.h>
+#include <gst/interfaces/videoorientation.h>
 #include <gst/interfaces/xoverlay.h>
 
 int main (int argc, char *argv[])
@@ -84,7 +104,7 @@
             << get_defs(GST_TYPE_URI_HANDLER)
             << get_defs(GST_TYPE_XML)
 
-  // GStreamer library base types:
+  // GStreamer core library types:
             << get_defs(GST_TYPE_BASE_SRC)
             << get_defs(GST_TYPE_BASE_SINK)
             << get_defs(GST_TYPE_BASE_TRANSFORM)
@@ -92,6 +112,13 @@
             << get_defs(GST_TYPE_ADAPTER)
             << get_defs(GST_TYPE_COLLECT_PADS)
             << get_defs(GST_TYPE_DATA_QUEUE)
+            << get_defs(GST_TYPE_CONTROLLER)
+            << get_defs(GST_TYPE_CONTROL_SOURCE)
+            << get_defs(GST_TYPE_INTERPOLATION_CONTROL_SOURCE)
+            << get_defs(GST_TYPE_LFO_CONTROL_SOURCE)
+            << get_defs(GST_TYPE_NET_CLIENT_CLOCK)
+            << get_defs(GST_TYPE_NET_TIME_PROVIDER)
+            << get_defs(GST_TYPE_NET_TIME_PROVIDER)
 
   // GStreamer core plugin types:
             << get_plugin_defs("capsfilter")
@@ -115,10 +142,26 @@
             << get_defs(GST_TYPE_AUDIO_SINK)
             << get_defs(GST_TYPE_AUDIO_SRC)
             << get_defs(GST_TYPE_RING_BUFFER)
+            << get_defs(GST_TYPE_CDDA_BASE_SRC)
+            << get_defs(GST_TYPE_BASE_RTP_AUDIO_PAYLOAD)
+            << get_defs(GST_TYPE_BASE_RTP_DEPAYLOAD)
+            << get_defs(GST_TYPE_BASE_RTP_PAYLOAD)
+            << get_defs(GST_TYPE_TAG_DEMUX)
+            << get_defs(GST_TYPE_VIDEO_SINK)
+            << get_defs(GST_TYPE_VIDEO_FILTER)
 
   // gst-plugins-base (GStreamer base) interfaces:
             << get_defs(GST_TYPE_COLOR_BALANCE)
             << get_defs(GST_TYPE_COLOR_BALANCE_CHANNEL)
+            << get_defs(GST_TYPE_MIXER)
+            << get_defs(GST_TYPE_MIXER_TRACK)
+            << get_defs(GST_TYPE_MIXER_OPTIONS)
+            << get_defs(GST_TYPE_NAVIGATION)
+            << get_defs(GST_TYPE_PROPERTY_PROBE)
+            << get_defs(GST_TYPE_TUNER)
+            << get_defs(GST_TYPE_TUNER_CHANNEL)
+            << get_defs(GST_TYPE_TUNER_NORM)
+            << get_defs(GST_TYPE_VIDEO_ORIENTATION)
             << get_defs(GST_TYPE_X_OVERLAY)
 
    // Base class of playbin plugin:

Modified: gstreamermm/trunk/tools/m4/convert_gst.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/convert_gst.m4	(original)
+++ gstreamermm/trunk/tools/m4/convert_gst.m4	Wed Jan  7 02:45:33 2009
@@ -110,6 +110,10 @@
 _CONVERSION(`const Glib::RefPtr<Gst::Message>&',`GstMessage*', `Glib::unwrap($3)')
 _CONVERSION(`GstMessage*',`const Glib::RefPtr<Gst::Message>&',`Gst::Message::wrap($3)')
 
+#Mixer
+_CONVERSION(`const Glib::RefPtr<Gst::MixerOptions>&',`GstMixerOptions*', `Glib::unwrap($3)')
+_CONVERSION(`const Glib::RefPtr<Gst::MixerTrack>&',`GstMixerTrack*', `Glib::unwrap($3)')
+
 #Pad
 _CONVERSION(`GstPad*',`Glib::RefPtr<Gst::Pad>',`Glib::wrap($3)')
 _CONVERSION(`GstPad*',`Glib::RefPtr<const Gst::Pad>',`Glib::wrap($3)')



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