[gstreamermm] Pad: Cleaned up _IGNORE's.



commit e69e3cec1095e7bbd14ae168d6c70b6f5c604b29
Author: José Alburquerque <jaalburqu svn gnome org>
Date:   Mon Apr 12 20:28:55 2010 -0400

    	Pad: Cleaned up _IGNORE's.
    
    	* gstreamer/src/pad.hg: Cleaned up _IGNORE's.
    	* gstreamer/src/pad.ccg (Pad::set_blocked_async): Use
    	gst_pad_set_blocked_async_full() to get destroy notification of slots.

 ChangeLog             |    8 ++++++++
 gstreamer/src/pad.ccg |    7 ++++++-
 gstreamer/src/pad.hg  |   46 ++++++++++++++++++++++++++++------------------
 3 files changed, 42 insertions(+), 19 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 795e94b..6802c52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-04-12  José Alburquerque  <jaalburqu svn gnome org>
+
+	Pad: Cleaned up _IGNORE's.
+
+	* gstreamer/src/pad.hg: Cleaned up _IGNORE's.
+	* gstreamer/src/pad.ccg (Pad::set_blocked_async): Use
+	gst_pad_set_blocked_async_full() to get destroy notification of slots.
+
 2010-04-09  José Alburquerque  <jaalburqu svn gnome org>
 
 	Wrap some new API included in recent GStreamer release.
diff --git a/gstreamer/src/pad.ccg b/gstreamer/src/pad.ccg
index 945d07b..019439e 100644
--- a/gstreamer/src/pad.ccg
+++ b/gstreamer/src/pad.ccg
@@ -54,6 +54,11 @@ static void Pad_Block_gstreamermm_callback(GstPad* pad, gboolean blocked, void*
   #endif //GLIBMM_EXCEPTIONS_ENABLED
 }
 
+static void Pad_Block_gstreamermm_callback_destroy(void* data)
+{
+  delete static_cast<Gst::Pad::SlotBlock*>(data);
+}
+
 static gboolean Pad_Data_gstreamermm_callback(GstPad* pad, GstMiniObject* mini_obj, void* data)
 {
   Gst::Pad::SlotData* the_slot = static_cast<Gst::Pad::SlotData*>(data);
@@ -207,7 +212,7 @@ FlowReturn Pad::chain(const Glib::RefPtr<Gst::Buffer>& buffer)
 bool Pad::set_blocked_async(const SlotBlock& slot, bool blocked)
 {
   SlotBlock* slot_copy = new SlotBlock(slot);
-  return bool(gst_pad_set_blocked_async(GST_PAD(gobj()), gboolean(blocked), &Pad_Block_gstreamermm_callback, slot_copy));
+  return bool(gst_pad_set_blocked_async_full(GST_PAD(gobj()), gboolean(blocked), &Pad_Block_gstreamermm_callback, slot_copy, &Pad_Block_gstreamermm_callback_destroy));
 }
 
 gulong Pad::add_data_probe(const SlotData& slot)
diff --git a/gstreamer/src/pad.hg b/gstreamer/src/pad.hg
index fc4a69a..bd259f5 100644
--- a/gstreamer/src/pad.hg
+++ b/gstreamer/src/pad.hg
@@ -164,8 +164,11 @@ public:
   _WRAP_METHOD(bool unlink(const Glib::RefPtr<Gst::Pad>& sink_pad), gst_pad_unlink)
   _WRAP_METHOD(bool is_linked() const, gst_pad_is_linked)
   _WRAP_METHOD(bool can_link(const Glib::RefPtr<const Gst::Pad>& other_pad) const, gst_pad_can_link)
+
   _WRAP_METHOD(Glib::RefPtr<Gst::Caps> get_caps(), gst_pad_get_caps)
   _WRAP_METHOD(Glib::RefPtr<const Gst::Caps> get_caps() const, gst_pad_get_caps, constversion)
+  _IGNORE(gst_pad_get_caps_reffed)
+
   _WRAP_METHOD(Glib::RefPtr<Gst::Caps> get_allowed_caps(), gst_pad_get_allowed_caps)
   _WRAP_METHOD(Glib::RefPtr<const Gst::Caps> get_allowed_caps() const, gst_pad_get_allowed_caps, constversion)
   _WRAP_METHOD(Glib::RefPtr<Gst::Caps> get_negotiated_caps(), gst_pad_get_negotiated_caps)
@@ -182,8 +185,11 @@ public:
   _WRAP_METHOD(bool set_caps(const Glib::RefPtr<Gst::Caps>& caps), gst_pad_set_caps)
   _WRAP_METHOD(Glib::RefPtr<Gst::Pad> get_peer(), gst_pad_get_peer)
   _WRAP_METHOD(Glib::RefPtr<const Gst::Pad> get_peer() const, gst_pad_get_peer, constversion)
+
   _WRAP_METHOD(Glib::RefPtr<Gst::Caps> peer_get_caps(), gst_pad_peer_get_caps)
   _WRAP_METHOD(Glib::RefPtr<const Gst::Caps> peer_get_caps() const, gst_pad_peer_get_caps, constversion)
+  _IGNORE(gst_pad_peer_get_caps_reffed)
+
   _WRAP_METHOD(void use_fixed_caps(), gst_pad_use_fixed_caps)
   _WRAP_METHOD(bool is_active() const, gst_pad_is_active)
   _WRAP_METHOD(bool set_blocked(bool blocked = true), gst_pad_set_blocked)
@@ -204,7 +210,7 @@ public:
    * pad was already in the requested state. MT safe.
    */
   bool set_blocked_async(const SlotBlock& slot, bool blocked = true);
-  _IGNORE(gst_pad_set_blocked_async)
+  _IGNORE( gst_pad_set_blocked_async, gst_pad_set_blocked_async_full)
 
   _WRAP_METHOD(bool is_blocked() const, gst_pad_is_blocked)
   _WRAP_METHOD(bool is_blocking() const, gst_pad_is_blocking)
@@ -481,23 +487,27 @@ public:
   _WRAP_METHOD(bool set_active(bool active = true), gst_pad_set_active)
 
     //C API specific pad callback setting functions are ignored.
-    _IGNORE(gst_pad_set_bufferalloc_function,
-            gst_pad_set_activatepush_function,
-	    gst_pad_set_acceptcaps_function,
-            gst_pad_set_event_function,
-	    gst_pad_set_getrange_function,
-            gst_pad_set_unlink_function,
-	    gst_pad_set_activate_function,
-            gst_pad_set_getcaps_function,
-	    gst_pad_set_setcaps_function,
-            gst_pad_set_activatepull_function,
-	    gst_pad_set_query_type_function,
-            gst_pad_set_checkgetrange_function,
-	    gst_pad_set_link_function,
-            gst_pad_set_query_function,
-	    gst_pad_set_fixatecaps_function,
-            gst_pad_set_chain_function,
-	    gst_pad_set_internal_link_function)
+    _IGNORE(
+      gst_pad_set_acceptcaps_function,
+      gst_pad_set_activate_function,
+      gst_pad_set_activatepull_function,
+      gst_pad_set_activatepush_function,
+      gst_pad_set_bufferalloc_function,
+      gst_pad_set_chain_function,
+      gst_pad_set_chain_list_function,
+      gst_pad_set_checkgetrange_function,
+      gst_pad_set_event_function,
+      gst_pad_set_fixatecaps_function,
+      gst_pad_set_getcaps_function,
+      gst_pad_set_getrange_function,
+      gst_pad_set_internal_link_function,
+      gst_pad_set_iterate_internal_links_function,
+      gst_pad_set_link_function,
+      gst_pad_set_query_function,
+      gst_pad_set_query_type_function,
+      gst_pad_set_setcaps_function,
+      gst_pad_set_unlink_function,
+    )
 
   //C API helper function gst_pad_get_fixed_caps_func ignored.
   _IGNORE(gst_pad_get_fixed_caps_func)



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