[gstreamermm] Wrap GstPropertyProbe interface using newly wrapped Glib::ValueArray.



commit 690cb2374214924689a942c50774dc1e25ceb542
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Wed Jun 24 23:59:16 2009 -0400

    Wrap GstPropertyProbe interface using newly wrapped Glib::ValueArray.

 ChangeLog                                      |   12 +++++
 gstreamer/gstreamermm/value_base_type_traits.h |   54 ------------------------
 gstreamer/src/gst_signals.defs                 |   11 ++++-
 gstreamer/src/gst_signals.defs.patch           |   13 +++++-
 gstreamer/src/gst_vfuncs.defs                  |   34 +++++++++++++++
 gstreamer/src/propertyprobe.hg                 |   29 ++++++++++--
 6 files changed, 91 insertions(+), 62 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c6adfb2..c968c3a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2009-06-24  José Alburquerque  <jaalburqu svn gnome org>
+
+	* gstreamer/src/propertyprobe.hg: Wrap GstPropertyProbe interface
+	using newly wrapped Glib::ValueArray.
+	* gstreamer/gstreamermm/value_base_type_traits.h: Remove unneeded type
+	traits for Glib::ValueBase (experimentally used in
+	Gst::PropertyProbe).
+	* gstreamer/src/gst_vfuncs.defs: Added GstPropertyProbe vfuncs.
+	* gstreamer/src/gst_signals.defs.patch: Modified patch to correct
+	parameter of GstPropertyProbe's "probe-needed" signal.
+	* gstreamer/src/gst_signals.defs: Regenerated.
+
 2009-06-18  José Alburquerque  <jaalburqu svn gnome org>
 
 	* gstreamer/src/event.ccg:
diff --git a/gstreamer/src/gst_signals.defs b/gstreamer/src/gst_signals.defs
index 0683662..f64d0b5 100644
--- a/gstreamer/src/gst_signals.defs
+++ b/gstreamer/src/gst_signals.defs
@@ -3574,7 +3574,7 @@
   (return-type "void")
   (when "last")
   (parameters
-    '("gpointer" "p0")
+    '("const-GParamSpec*" "p0")
   )
 )
 
@@ -4624,6 +4624,15 @@
   (construct-only #f)
 )
 
+(define-property cache-size
+  (of-object "GstCdParanoiaSrc")
+  (prop-type "GParamInt")
+  (docs "Set CD cache size to n sectors (-1 = auto)")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GstClockOverlay
 
 (define-property name
diff --git a/gstreamer/src/gst_signals.defs.patch b/gstreamer/src/gst_signals.defs.patch
index a49f597..5e73651 100644
--- a/gstreamer/src/gst_signals.defs.patch
+++ b/gstreamer/src/gst_signals.defs.patch
@@ -1,5 +1,5 @@
---- gst_signals.defs	2009-06-17 00:37:57.000000000 -0400
-+++ gst_signals.defs.new	2009-06-17 00:37:27.000000000 -0400
+--- gst_signals.defs.orig	2009-06-24 23:05:08.000000000 -0400
++++ gst_signals.defs	2009-06-24 23:06:22.000000000 -0400
 @@ -1,3 +1,5 @@
 +;; Apply gst_signals.defs.patch after regenerating.
 +
@@ -69,3 +69,12 @@
    )
  )
  
+@@ -3572,7 +3574,7 @@
+   (return-type "void")
+   (when "last")
+   (parameters
+-    '("gpointer" "p0")
++    '("const-GParamSpec*" "p0")
+   )
+ )
+ 
diff --git a/gstreamer/src/gst_vfuncs.defs b/gstreamer/src/gst_vfuncs.defs
index a40d420..0d88f04 100644
--- a/gstreamer/src/gst_vfuncs.defs
+++ b/gstreamer/src/gst_vfuncs.defs
@@ -895,6 +895,40 @@
   )
 )
 
+; GstPropertyProbe
+
+(define-vfunc get_properties
+  (of-object "GstPropertyProbe")
+  (return-type "const-GList*")
+)
+
+(define-vfunc needs_probe
+  (of-object "GstPropertyProbe")
+  (return-type "gboolean")
+  (parameters
+   '("guint" "prop_id")
+   '("const-GParamSpec*" "pspec")
+  )
+)
+
+(define-vfunc probe_property
+  (of-object "GstPropertyProbe")
+  (return-type "void")
+  (parameters
+   '("guint" "prop_id")
+   '("const-GParamSpec*" "pspec")
+  )
+)
+
+(define-vfunc get_values
+  (of-object "GstPropertyProbe")
+  (return-type "GValueArray*")
+  (parameters
+   '("guint" "prop_id")
+   '("const-GParamSpec*" "pspec")
+  )
+)
+
 ; GstTuner
 
 (define-vfunc list_channels
diff --git a/gstreamer/src/propertyprobe.hg b/gstreamer/src/propertyprobe.hg
index 5aacad3..6842cca 100644
--- a/gstreamer/src/propertyprobe.hg
+++ b/gstreamer/src/propertyprobe.hg
@@ -19,7 +19,6 @@
 
 #include <gst/interfaces/propertyprobe.h>
 #include <glibmm/interface.h>
-#include <gstreamermm/value_base_type_traits.h>
 
 _DEFS(gstreamermm,gst)
 
@@ -39,11 +38,31 @@ class PropertyProbe : public Glib::Interface
   _CLASS_INTERFACE(PropertyProbe, GstPropertyProbe, GST_PROPERTY_PROBE, GstPropertyProbeInterface)
 
 public:
-#m4 _CONVERSION(`GValueArray*', `Glib::ArrayHandle<Glib::ValueBase>', `($3 ? Glib::ArrayHandle<Glib::ValueBase>(&($3->values), $3->n_values, Glib::OWNERSHIP_DEEP) : Glib::ArrayHandle<Glib::ValueBase>(0, 0, Glib::OWNERSHIP_NONE))')
-  _WRAP_METHOD(Glib::ArrayHandle<Glib::ValueBase> get_values(const GParamSpec* pspec), gst_property_probe_get_values)
+  //TODO: Use something other than const GList* as return:
+  _WRAP_METHOD(const GList* get_properties() const, gst_property_probe_get_properties)
 
-  //TODO: Wrap methods.
-  //TODO: Wrap vfuncs.
+  _WRAP_METHOD(const GParamSpec* get_property(const Glib::ustring& name) const, gst_property_probe_get_property)
+
+#m4 _CONVERSION(`GValueArray*', `Glib::ValueArray', `Glib::wrap($3, true)')
+  _WRAP_METHOD(Glib::ValueArray get_values(const GParamSpec* pspec) const, gst_property_probe_get_values)
+  _WRAP_METHOD(Glib::ValueArray get_values(const Glib::ustring& name) const, gst_property_probe_get_values_name)
+
+  _WRAP_METHOD(bool needs_probe(const GParamSpec* pspec) const, gst_property_probe_needs_probe)
+  _WRAP_METHOD(bool needs_probe(const Glib::ustring& name) const, gst_property_probe_needs_probe_name)
+  _WRAP_METHOD(Glib::ValueArray probe_and_get_values(const GParamSpec* pspec), gst_property_probe_probe_and_get_values)
+  _WRAP_METHOD(Glib::ValueArray probe_and_get_values(const Glib::ustring& name), gst_property_probe_probe_and_get_values_name)
+  _WRAP_METHOD(void probe_property(const GParamSpec *pspec), gst_property_probe_probe_property)
+  _WRAP_METHOD(void probe_property(const Glib::ustring& name), gst_property_probe_probe_property_name)
+
+  _WRAP_SIGNAL(void probe_needed(const GParamSpec* pspec), "probe_needed")
+
+  _WRAP_VFUNC(const GList* get_properties() const, "get_properties")
+  _WRAP_VFUNC(bool needs_probe(guint prop_id, const GParamSpec* pspec) const, "needs_probe")
+  _WRAP_VFUNC(void probe_property(guint prop_id, const GParamSpec* pspec), "probe_property")
+
+#m4 _CONVERSION(`Glib::ValueArray', `GValueArray*', `($3).gobj_copy()')
+#m4 _CONVERSION(`GValueArray*', `Glib::ValueArray', `Glib::wrap($3)')
+  _WRAP_VFUNC(Glib::ValueArray get_values(guint prop_id, const GParamSpec* pspec) const, "get_values")
 };
 
 } // namespace Gst



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