gnomemm r1361 - in gstreamermm/trunk: . gstreamer/src tools/m4



Author: murrayc
Date: Thu Feb 21 16:16:27 2008
New Revision: 1361
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1361&view=rev

Log:
Patch in bug #517208

Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/gstreamer/src/bin.hg
   gstreamermm/trunk/gstreamer/src/buffer.hg
   gstreamermm/trunk/gstreamer/src/bus.hg
   gstreamermm/trunk/gstreamer/src/caps.hg
   gstreamermm/trunk/gstreamer/src/element.ccg
   gstreamermm/trunk/gstreamer/src/element.hg
   gstreamermm/trunk/gstreamer/src/enums.hg
   gstreamermm/trunk/gstreamer/src/gst_others.defs
   gstreamermm/trunk/gstreamer/src/gst_signals.defs
   gstreamermm/trunk/gstreamer/src/pad.ccg
   gstreamermm/trunk/gstreamer/src/pad.hg
   gstreamermm/trunk/gstreamer/src/padtemplate.hg
   gstreamermm/trunk/gstreamer/src/pluginfeature.hg
   gstreamermm/trunk/gstreamer/src/xml.hg
   gstreamermm/trunk/tools/m4/convert_gst.m4

Modified: gstreamermm/trunk/gstreamer/src/bin.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bin.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/bin.hg	Thu Feb 21 16:16:27 2008
@@ -56,7 +56,7 @@
   _WRAP_METHOD(Glib::RefPtr<Element> get_element(GType interface), gst_bin_get_by_interface)
   _WRAP_METHOD(Glib::RefPtr<Pad> find_unconnected_pad(PadDirection dir), gst_bin_find_unconnected_pad)
 
-  _IGNORE(gst_bin_add, gst_bin_remove)
+  _IGNORE(gst_bin_add, gst_bin_remove, gst_bin_add_many, gst_bin_remove_many)
 
 #m4 _CONVERSION(`GstElement*',`const Glib::RefPtr<Element>&', `Glib::wrap($3, true)')
   _WRAP_SIGNAL(void element_added(const Glib::RefPtr<Element>& element), "element-added")

Modified: gstreamermm/trunk/gstreamer/src/buffer.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/buffer.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/buffer.hg	Thu Feb 21 16:16:27 2008
@@ -86,6 +86,8 @@
   _MEMBER_GET(offset, offset, guint64, guint64)
   _MEMBER_GET(offset_end, offset_end, guint64, guint64)
   _MEMBER_GET(malloc_data, malloc_data, guint8*, guint8*)
+
+  _IGNORE(gst_buffer_stamp)
 };
 
 }//namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/bus.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bus.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/bus.hg	Thu Feb 21 16:16:27 2008
@@ -54,7 +54,9 @@
   _WRAP_METHOD(Glib::RefPtr<const Message> peek() const, gst_bus_peek)
 
   _WRAP_METHOD(Glib::RefPtr<Message> pop(), gst_bus_pop)
+  _WRAP_METHOD(Glib::RefPtr<Message> pop_filtered(MessageType message_type), gst_bus_pop_filtered)
   _WRAP_METHOD(Glib::RefPtr<Message> timed_pop(ClockTime timeout), gst_bus_timed_pop)
+  _WRAP_METHOD(Glib::RefPtr<Message> timed_pop_filtered(ClockTime timeout, MessageType message_type), gst_bus_timed_pop_filtered)
 
   _WRAP_METHOD(void set_flushing(bool flushing = true), gst_bus_set_flushing)
 
@@ -67,6 +69,7 @@
 
   _WRAP_METHOD(void add_signal_watch(int priority = Glib::PRIORITY_DEFAULT), gst_bus_add_signal_watch_full)
   _WRAP_METHOD(void remove_signal_watch(), gst_bus_remove_signal_watch)
+  _WRAP_METHOD(Glib::RefPtr<Message> poll(MessageType message_type, ClockTimeDiff timeout), gst_bus_poll)
   _IGNORE(gst_bus_add_signal_watch)
 
 #m4 _CONVERSION(`GstMessage*',`const Glib::RefPtr<Message>&', `Gst::Message::wrap($3, true)')

Modified: gstreamermm/trunk/gstreamer/src/caps.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/caps.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/caps.hg	Thu Feb 21 16:16:27 2008
@@ -84,7 +84,7 @@
   _WRAP_METHOD(Glib::RefPtr<Caps> make_writable(), gst_caps_make_writable)
   _WRAP_METHOD(void truncate(), gst_caps_truncate)
   
-  _IGNORE(gst_caps_copy, gst_caps_make_writable)
+  _IGNORE(gst_caps_copy, gst_caps_set_simple, gst_caps_make_writable)
 };
 
 } //namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/element.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.ccg	(original)
+++ gstreamermm/trunk/gstreamer/src/element.ccg	Thu Feb 21 16:16:27 2008
@@ -21,11 +21,13 @@
 
 #include <stdexcept>
 #include <gst/gstelement.h>
+#include <gst/gstinterface.h>
 #include <gst/gstutils.h>
 #include <gstreamermm/bus.h>
 #include <gstreamermm/caps.h>
 #include <gstreamermm/elementfactory.h>
 #include <gstreamermm/event.h>
+#include <gstreamermm/index.h>
 #include <gstreamermm/message.h>
 #include <gstreamermm/pad.h>
 #include <gstreamermm/padtemplate.h>

Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/element.hg	Thu Feb 21 16:16:27 2008
@@ -34,6 +34,7 @@
 class Clock;
 class ElementFactory;
 class Event;
+class Index;
 class Message;
 class Pad;
 class PadTemplate;
@@ -79,6 +80,9 @@
   _WRAP_METHOD(void set_bus(const Glib::RefPtr<Bus>& bus), gst_element_set_bus)
   _WRAP_METHOD(Glib::RefPtr<Bus> get_bus(), gst_element_get_bus)
   _WRAP_METHOD(Glib::RefPtr<const Bus> get_bus() const, gst_element_get_bus, constversion)
+  _WRAP_METHOD(void set_index(const Glib::RefPtr<Index>& index), gst_element_set_index)
+  _WRAP_METHOD(Glib::RefPtr<Index> get_index(), gst_element_get_index)
+  _WRAP_METHOD(Glib::RefPtr<Index const> get_index() const, gst_element_get_index, constversion)
   _WRAP_METHOD(Glib::RefPtr<ElementFactory> get_factory(), gst_element_get_factory)
   _WRAP_METHOD(bool is_indexable() const, gst_element_is_indexable)
   _WRAP_METHOD(bool requires_clock() const, gst_element_requires_clock)
@@ -98,8 +102,9 @@
   _WRAP_METHOD(bool sync_state_with_parent(), gst_element_sync_state_with_parent)
   _WRAP_METHOD(StateChangeReturn change_state(StateChange transition), gst_element_change_state)
 
+  _WRAP_METHOD(void message_full(MessageType message_type, GQuark domain, int code, const Glib::ustring& message, const Glib::ustring& debug, const Glib::ustring& filename, const Glib::ustring& function_name, int line_number), gst_element_message_full)
   _WRAP_METHOD(bool post_message(const Glib::RefPtr<Message>& message), gst_element_post_message)
-
+  _WRAP_METHOD(const QueryType* get_query_types() const, gst_element_get_query_types)
   _WRAP_METHOD(bool query(const Glib::RefPtr<Query>& query), gst_element_query)
   _WRAP_METHOD(bool query_convert(Format src_format, gint64 src_value, Format& dst_format, gint64& dst_value) const, gst_element_query_convert)
   _WRAP_METHOD(bool query_position(Format& format, gint64& position) const, gst_element_query_position)
@@ -113,7 +118,9 @@
 
   bool send_event(const Glib::RefPtr<Event>& event);
 
-  _IGNORE(gst_element_link, gst_element_get_compatible_pad, gst_element_link_many)
+  _WRAP_METHOD(bool implements_interface(GType iface_type), gst_element_implements_interface)
+
+  _IGNORE(gst_element_link, gst_element_unlink_many, gst_element_get_compatible_pad, gst_element_get_compatible_pad_template, gst_element_link_many, gst_element_send_event)
 
   _WRAP_SIGNAL(void no_more_pads(), "no-more-pads")
 

Modified: gstreamermm/trunk/gstreamer/src/enums.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/enums.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/enums.hg	Thu Feb 21 16:16:27 2008
@@ -58,6 +58,7 @@
   EVENT_CUSTOM_BOTH_OOB = GST_EVENT_CUSTOM_BOTH_OOB
 };
 
+_WRAP_ENUM(FlowReturn, GstFlowReturn)
 _WRAP_ENUM(Format, GstFormat)
 _WRAP_ENUM(IndexCertainty, GstIndexCertainty)
 _WRAP_ENUM(IndexEntryType, GstIndexEntryType)

Modified: gstreamermm/trunk/gstreamer/src/gst_others.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_others.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_others.defs	Thu Feb 21 16:16:27 2008
@@ -47,6 +47,12 @@
   )
 )
 
+(define-method make_writable
+  (of-object "GstBuffer")
+  (c-name "gst_buffer_make_writable")
+  (return-type "GstBuffer*")
+)
+
 (define-method is_readable
   (of-object "GstIndex")
   (c-name "GST_INDEX_IS_READABLE")

Modified: gstreamermm/trunk/gstreamer/src/gst_signals.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_signals.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_signals.defs	Thu Feb 21 16:16:27 2008
@@ -1,3 +1,5 @@
+;; Note have-data signal in GstPad is modified manually
+
 ;; From GstBus
 
 (define-signal sync-message
@@ -351,7 +353,7 @@
   (return-type "gboolean")
   (when "last")
   (parameters
-    '("GstMiniObject" "p0")
+    '("GstMiniObject*" "p0")
   )
 )
 

Modified: gstreamermm/trunk/gstreamer/src/pad.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pad.ccg	(original)
+++ gstreamermm/trunk/gstreamer/src/pad.ccg	Thu Feb 21 16:16:27 2008
@@ -19,10 +19,13 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gst/gstpad.h>
-#include <gst/gstutils.h>
+#include <gstreamermm/buffer.h>
 #include <gstreamermm/caps.h>
 #include <gstreamermm/element.h>
+#include <gstreamermm/event.h>
+#include <gstreamermm/query.h>
+#include <gst/gstpad.h>
+#include <gst/gstutils.h>
 
 namespace Gst
 {
@@ -35,17 +38,61 @@
   return Glib::wrap(pad, false);
 }
 
-static void SignalProxy_SlotPadBlockCallback_gst_callback(GstPad* pad, gboolean blocked, gpointer data) 
+Glib::RefPtr<Caps> Pad::get_pad_template_caps()
 {
-  Pad::SlotPadBlockCallback * the_slot = static_cast<Pad::SlotPadBlockCallback*>(data);
- (*the_slot)(blocked);
-  delete the_slot;
+  const GstCaps* caps = gst_pad_get_pad_template_caps(gobj());
+  GstCaps* copy_caps = gst_caps_copy(caps);
+  return Glib::wrap(copy_caps, false);
 }
 
-bool Pad::set_blocked_async(bool blocked, const SlotPadBlockCallback& slot)
+FlowReturn Pad::alloc_buffer(guint64 offset, int size, const Glib::RefPtr<Caps>& caps, Glib::RefPtr<Buffer>& buffer)
 {
-  SlotPadBlockCallback* slot_copy = new SlotPadBlockCallback(slot);
-  return bool(gst_pad_set_blocked_async(GST_PAD(gobj()), gboolean(blocked), &SignalProxy_SlotPadBlockCallback_gst_callback, slot_copy));
+  GstBuffer* c_buffer;
+  GstFlowReturn result = gst_pad_alloc_buffer(gobj(), offset, size, caps->gobj(), &c_buffer);
+  buffer = wrap(c_buffer, false);
+  return FlowReturn(result);
+}
+
+FlowReturn Pad::alloc_buffer_and_set_caps(guint64 offset, int size, const Glib::RefPtr<Caps>& caps, Glib::RefPtr<Buffer>& buffer)
+{
+  GstBuffer* c_buffer;
+  GstFlowReturn result = gst_pad_alloc_buffer_and_set_caps(gobj(), offset, size, caps->gobj(), &c_buffer);
+  buffer = wrap(c_buffer, false);
+  return FlowReturn(result);
+}
+
+FlowReturn Pad::get_range(guint64 offset, guint size, Glib::RefPtr<Buffer>& buffer)
+{
+  GstBuffer* c_buffer;
+  GstFlowReturn result = gst_pad_get_range(gobj(), offset, size, &c_buffer);
+  buffer = wrap(c_buffer, false);
+  return FlowReturn(result);
+}
+
+FlowReturn Pad::push(const Glib::RefPtr<Buffer>& buffer)
+{
+  buffer->reference();
+  gst_pad_push(gobj(), buffer->gobj());
+}
+
+bool Pad::push_event(const Glib::RefPtr<Event>& event)
+{
+  event->reference();
+  gst_pad_push_event(gobj(), event->gobj());
+}
+
+FlowReturn Pad::pull_range(guint64 offset, guint size, Glib::RefPtr<Buffer>& buffer)
+{
+  GstBuffer* c_buffer;
+  GstFlowReturn result = gst_pad_pull_range(gobj(), offset, size, &c_buffer);
+  buffer = wrap(c_buffer, false);
+  return FlowReturn(result);
+}
+
+bool Pad::send_event(const Glib::RefPtr<Event>& event)
+{
+  event->reference();
+  gst_pad_send_event(gobj(), event->gobj());
 }
 
 bool Pad::query_position(Format& format) const
@@ -68,4 +115,23 @@
   return gst_pad_query_peer_duration(const_cast<GstPad*>(gobj()), reinterpret_cast<GstFormat*>(&format), NULL);
 }
 
+FlowReturn Pad::chain(const Glib::RefPtr<Buffer>& buffer)
+{
+  buffer->reference();
+  gst_pad_chain(gobj(), buffer->gobj());
+}
+
+static void SignalProxy_SlotPadBlockCallback_gst_callback(GstPad* pad, gboolean blocked, gpointer data) 
+{
+  Pad::SlotPadBlockCallback * the_slot = static_cast<Pad::SlotPadBlockCallback*>(data);
+ (*the_slot)(blocked);
+  delete the_slot;
+}
+
+bool Pad::set_blocked_async(bool blocked, const SlotPadBlockCallback& slot)
+{
+  SlotPadBlockCallback* slot_copy = new SlotPadBlockCallback(slot);
+  return bool(gst_pad_set_blocked_async(GST_PAD(gobj()), gboolean(blocked), &SignalProxy_SlotPadBlockCallback_gst_callback, slot_copy));
+}
+
 } //namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/pad.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pad.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/pad.hg	Thu Feb 21 16:16:27 2008
@@ -29,9 +29,12 @@
 namespace Gst
 {
 
+class Buffer;
 class Caps;
 class Element;
+class Event;
 class PadTemplate;
+class Query;
 
 class Pad : public Object 
 {
@@ -58,6 +61,8 @@
   _WRAP_METHOD(Glib::RefPtr<Caps> get_negotiated_caps(), gst_pad_get_negotiated_caps)
   _WRAP_METHOD(Glib::RefPtr<const Caps> get_negotiated_caps() const, gst_pad_get_negotiated_caps, constversion)
 
+  // hand coded because we need to copy the Caps
+  Glib::RefPtr<Caps> get_pad_template_caps();
   _WRAP_METHOD(bool set_caps (const Glib::RefPtr<Caps>& caps), gst_pad_set_caps)
   _WRAP_METHOD(Glib::RefPtr<Pad> get_peer(), gst_pad_get_peer)
   _WRAP_METHOD(Glib::RefPtr<const Pad> get_peer() const, gst_pad_get_peer, constversion)
@@ -73,19 +78,40 @@
   _WRAP_METHOD(void remove_buffer_probe(guint handler_id), gst_pad_remove_buffer_probe)
   _WRAP_METHOD(void remove_event_probe(guint handler_id), gst_pad_remove_event_probe)
 
+  FlowReturn alloc_buffer(guint64 offset, int size, const Glib::RefPtr<Caps>& caps, Glib::RefPtr<Buffer>& buf);
+  FlowReturn alloc_buffer_and_set_caps(guint64 offset, int size, const Glib::RefPtr<Caps>& caps, Glib::RefPtr<Buffer>& buf);
+
+  FlowReturn get_range(guint64 offset, guint size, Glib::RefPtr<Buffer>& buffer);
+
   _WRAP_METHOD(bool accept_caps(const Glib::RefPtr<Caps>& caps), gst_pad_accept_caps)
 
+  _WRAP_METHOD(Glib::RefPtr<Caps> proxy_getcaps(), gst_pad_proxy_getcaps)
+  _WRAP_METHOD(Glib::RefPtr<Caps const> proxy_getcaps() const, gst_pad_proxy_getcaps, constversion)
+
   _WRAP_METHOD(bool proxy_setcaps(const Glib::RefPtr<Caps>& caps), gst_pad_proxy_setcaps)
 
   _WRAP_METHOD(void fixate_caps(const Glib::RefPtr<Caps>& caps), gst_pad_fixate_caps)
 
   _WRAP_METHOD(bool peer_accept_caps(const Glib::RefPtr<Caps>& caps), gst_pad_peer_accept_caps)
 
-  _WRAP_METHOD(bool check_pull_range() const, gst_pad_check_pull_range)
+  // This method is written manually because an extra ref is necessary
+  FlowReturn push(const Glib::RefPtr<Buffer>& buffer);
+
+  // This method is written manually because an extra ref is necessary
+  bool push_event(const Glib::RefPtr<Event>& event);
 
+
+  _WRAP_METHOD(bool check_pull_range() const, gst_pad_check_pull_range)
+  FlowReturn pull_range(guint64 offset, guint size, Glib::RefPtr<Buffer>& buffer);
   _WRAP_METHOD(bool activate_pull(bool active = true), gst_pad_activate_pull)
   _WRAP_METHOD(bool activate_push(bool active = true), gst_pad_activate_push)
 
+  // This method is written manually because an extra ref is necessary
+  bool send_event(const Glib::RefPtr<Event>& event);
+  _WRAP_METHOD(bool event_default(const Glib::RefPtr<Event>& event), gst_pad_event_default)
+  _WRAP_METHOD(bool query(const Glib::RefPtr<Query>& query), gst_pad_query)
+  _WRAP_METHOD(bool peer_query(const Glib::RefPtr<Query>& query), gst_pad_peer_query)
+  _WRAP_METHOD(bool query_default(const Glib::RefPtr<Query>& query), gst_pad_query_default)
   bool query_position(Format& format) const;
   _WRAP_METHOD(bool query_position(Format& format, gint64& position) const, gst_pad_query_position)
   bool query_duration(Format& format) const;
@@ -96,21 +122,46 @@
   bool query_peer_duration(Format& format) const;
    _WRAP_METHOD(bool query_peer_duration(Format& format, gint64& duration) const, gst_pad_query_peer_duration)
    _WRAP_METHOD(bool query_peer_convert(Format src_format, gint64 src_value, Format& dst_format, gint64& dst_value) const, gst_pad_query_peer_convert)
+  _WRAP_METHOD(const QueryType* get_query_types() const, gst_pad_get_query_types)
+  _WRAP_METHOD(const QueryType* get_query_types_default() const, gst_pad_get_query_types_default)
+
+#m4 _CONVERSION(`GList*', `Glib::ListHandle< Glib::RefPtr<Pad> >', `$2($3, Glib::OWNERSHIP_SHALLOW)')
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Pad> > get_internal_links(), gst_pad_get_internal_links)
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Pad> > get_internal_links_default(), gst_pad_get_internal_links_default)
+
+  // This method is written manually because an extra ref is necessary
+  FlowReturn chain(const Glib::RefPtr<Buffer>& buffer);
 
   _WRAP_METHOD(bool pause_task() , gst_pad_pause_task)
   _WRAP_METHOD(bool stop_task() , gst_pad_stop_task)
   _WRAP_METHOD(bool set_active(bool active = true), gst_pad_set_active)
 
-  _IGNORE(gst_pad_set_blocked_async, gst_pad_query_position, 
-          gst_pad_query_duration, gst_pad_query_convert,
-          gst_pad_query_peer_position, gst_pad_query_peer_duration,
-          gst_pad_query_peer_convert)
+  _IGNORE(gst_pad_set_blocked_async, gst_pad_send_event,
+          gst_pad_query_position, gst_pad_query_duration,
+          gst_pad_query_convert, gst_pad_query_peer_position,
+          gst_pad_query_peer_duration, gst_pad_query_peer_convert,
+          gst_pad_push, gst_pad_push_event, gst_pad_chain,
+          gst_pad_alloc_buffer, gst_pad_alloc_buffer_and_set_caps,
+          gst_pad_get_range, gst_pad_pull_range,
+	  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, gst_pad_get_pad_template_caps)
 
   typedef sigc::slot<void, bool> SlotPadBlockCallback;
 
   bool set_blocked_async(bool blocked, const SlotPadBlockCallback& slot);
 
-  //_WRAP_SIGNAL(void have_data(const Glib::RefPtr<MiniObject>& mini_obj), "have-data")
+#m4 _CONVERSION(`GstMiniObject*',`const Glib::RefPtr<MiniObject>&',`wrap($3, false)')
+
+// TODO: this fails to compile! is there something wrong with unwrap() ?
+//#m4 _CONVERSION(`const Glib::RefPtr<MiniObject>&',`GstMiniObject*',`unwrap($3)')
+// _WRAP_SIGNAL(bool have_data(const Glib::RefPtr<MiniObject>& mini_obj), "have-data")
 
 #m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Pad>&',`Glib::wrap($3, true)')
   _WRAP_SIGNAL(void linked(const Glib::RefPtr<Pad>& peer_pad), "linked")

Modified: gstreamermm/trunk/gstreamer/src/padtemplate.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/padtemplate.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/padtemplate.hg	Thu Feb 21 16:16:27 2008
@@ -47,6 +47,8 @@
 #m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Pad>&',`Glib::wrap($3, true)')
   _WRAP_SIGNAL(void pad_created(const Glib::RefPtr<Pad>& pad), "pad-created")
 
+  _IGNORE(gst_pad_template_pad_created)
+
 };
 
 } //namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/pluginfeature.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/pluginfeature.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/pluginfeature.hg	Thu Feb 21 16:16:27 2008
@@ -55,6 +55,9 @@
   _WRAP_METHOD(Glib::RefPtr<PluginFeature> load(), gst_plugin_feature_load)
   _WRAP_METHOD(static void free(Glib::ListHandle< Glib::RefPtr<PluginFeature> >), gst_plugin_feature_list_free)
   _WRAP_METHOD(bool check_version(guint min_major, guint min_minor, guint min_micro) const, gst_plugin_feature_check_version)
+
+  _IGNORE(gst_plugin_feature_type_name_filter)
+
 };
 
 } // namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/xml.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/xml.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/xml.hg	Thu Feb 21 16:16:27 2008
@@ -45,7 +45,10 @@
   _WRAP_METHOD(bool parse_file(const std::string& filename, const std::string& root), gst_xml_parse_file)
   bool parse_memory(const std::string& buffer, const std::string& root);
   _WRAP_METHOD(Glib::RefPtr<Element> get_element(const std::string& name), gst_xml_get_element)
-  _WRAP_METHOD(Glib::RefPtr<const Element> get_element(const std::string& name) const, gst_xml_get_element)
+  _WRAP_METHOD(Glib::RefPtr<const Element> get_element(const std::string& name) const, gst_xml_get_element, constversion)
+
+#m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Element> >',`$2($3, Glib::OWNERSHIP_NONE)')
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Element> > get_topelements() const, gst_xml_get_topelements)
 
   _IGNORE(gst_xml_parse_memory)
 

Modified: gstreamermm/trunk/tools/m4/convert_gst.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/convert_gst.m4	(original)
+++ gstreamermm/trunk/tools/m4/convert_gst.m4	Thu Feb 21 16:16:27 2008
@@ -54,6 +54,8 @@
 _CONVERSION(`const Glib::RefPtr<Event>&',`GstEvent*', `Glib::unwrap($3)')
 
 #Index
+_CONVERSION(`GstIndex*',`Glib::RefPtr<Index>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<Index>&',`GstIndex*',`Glib::unwrap($3)')
 _CONVERSION(`GstIndexEntry*',`IndexEntry',`Glib::wrap($3)')
 _CONVERSION(`const IndexAssociation&',`const GstIndexAssociation*',`((GstIndexAssociation*)(&($3)))')
 _CONVERSION(`GstIndex*',`Glib::RefPtr<Index>',`Glib::wrap($3)')
@@ -95,6 +97,7 @@
 
 #General Conversions
 _CONVERSION(`guint64',`ClockTime',`(ClockTime ($3))')
+_CONVERSION(`ClockTimeDiff',`GstClockTimeDiff',`GstClockTimeDiff ($3)')
 _CONVERSION(`const URIType',`const GstURIType',`(GstURIType($3))')
 _CONVERSION(`Format&',`GstFormat*',`(($2) &($3))')
 _CONVERSION(`gint64&',`gint64*',`&($3)')
@@ -106,6 +109,7 @@
 _CONVERSION(`const xmlNodePtr&',`xmlNodePtr',`$3')
 _CONVERSION(`GQuark',`Glib::QueryQuark',`Glib::QueryQuark($3)')
 _CONVERSION(`const Glib::QueryQuark&',`GQuark',`$3')
+_CONVERSION(`const GstQueryType*',`const QueryType*',`(QueryType*)($3)')
 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3)')
 _CONVERSION(`Glib::StaticRecMutex&',`GStaticRecMutex*',`($3).gobj()')
 



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