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



Author: jaalburqu
Date: Thu Apr 17 03:22:34 2008
New Revision: 1466
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1466&view=rev

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

	* gstreamer/src/element.hg:
	* gstreamer/src/gst_vfuncs.defs: Added vfuncs, docs for signals and
	docs for Gst::get_name() methods (in element.hg)
	* tools/m4/convert_gst.m4: Added conversions needed for Gst::Element
	vfuncs

	* gstreamer/src/buffer.ccg:
	* gstreamer/src/buffer.hg: Wrapped create() (with no parameters); Used
	_WRAP_METHOD for create(guint size) (modified parameter type from
	reference to value); Added docs to _MEMBER_GET generated methods

	* gstreamer/src/bin.ccg: Added comments to add() and remove() methods
	* gstreamer/src/bin.hg: Added missing method docs
	* gstreamer/src/caps.hg: Corrected class docs (typo)

	* gstreamer/src/bus.hg:
	* gstreamer/src/childproxy.hg:
	* gstreamer/src/clock.hg: Added signal, vfunc and create() method docs

Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/gstreamer/src/bin.ccg
   gstreamermm/trunk/gstreamer/src/bin.hg
   gstreamermm/trunk/gstreamer/src/buffer.ccg
   gstreamermm/trunk/gstreamer/src/buffer.hg
   gstreamermm/trunk/gstreamer/src/bus.hg
   gstreamermm/trunk/gstreamer/src/caps.hg
   gstreamermm/trunk/gstreamer/src/childproxy.hg
   gstreamermm/trunk/gstreamer/src/clock.hg
   gstreamermm/trunk/gstreamer/src/element.hg
   gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
   gstreamermm/trunk/tools/m4/convert_gst.m4

Modified: gstreamermm/trunk/gstreamer/src/bin.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bin.ccg	(original)
+++ gstreamermm/trunk/gstreamer/src/bin.ccg	Thu Apr 17 03:22:34 2008
@@ -34,6 +34,8 @@
 {
   bool result = gst_bin_add(gobj(), element->gobj());
 
+  // If addition successful, return RefPtr<..> to this bin, otherwise return
+  // NULL RefPtr<...>
   if(result) {
 
     // When adding an element to a bin, an extra ref is needed because bin
@@ -55,6 +57,8 @@
 {
   bool result = gst_bin_remove(gobj(), element->gobj());
 
+  // If removal successful, return RefPtr<..> to this bin, otherwise return
+  // NULL RefPtr<...>
   if(result) {
     return Glib::wrap(gobj(), true);
   }

Modified: gstreamermm/trunk/gstreamer/src/bin.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bin.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/bin.hg	Thu Apr 17 03:22:34 2008
@@ -130,9 +130,41 @@
   _WRAP_CTOR(Bin(const Glib::ustring& name), gst_bin_new)
 
 public:
+  /** Creates a new bin with the given name.
+   *
+   * @param name the name of the new bin
+   * @return a new Gst::Bin
+   */
   _WRAP_CREATE(const Glib::ustring& name)
 
+  /** Adds the given element to the bin. Sets the element's parent, and thus
+   * takes ownership of the element. An element can only be added to one bin.
+   *
+   * If the element's pads are linked to other pads, the pads will be unlinked
+   * before the element is added to the bin.
+   *
+   * MT safe.
+   *
+   * @param element the Gst::Element to add
+   * @return this Gst::Bin (for further adding if wanted) if successful, NULL
+   * otherwise
+   */
   Glib::RefPtr<Bin> add(const Glib::RefPtr<Element>& element);
+
+  /** Removes the element from the bin, unparenting it as well. Unparenting the
+   * element means that the element will be dereferenced, so if the bin holds
+   * the only reference to the element, the element will be freed in the
+   * process of removing it from the bin.
+   *
+   * If the element's pads are linked to other pads, the pads will be unlinked
+   * before the element is removed from the bin.
+   *
+   * MT safe.
+   *
+   * element the Gst::Element to remove
+   * Returns this Gst::Bin (for further removing if wanted) if successful, NULL
+   * otherwise
+   */
   Glib::RefPtr<Bin> remove(const Glib::RefPtr<Element>& element);
 
   _WRAP_METHOD(Glib::RefPtr<Element> get_element(const Glib::ustring& name), gst_bin_get_by_name)
@@ -143,13 +175,27 @@
   _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)')
+
+  /** Will be emitted after the element was added to the bin.
+   */
   _WRAP_SIGNAL(void element_added(const Glib::RefPtr<Element>& element), "element-added")
+
+  /** Will be emitted after the element was removed from the bin.
+   */
   _WRAP_SIGNAL(void element_removed(const Glib::RefPtr<Element>& element), "element-removed")
 
   _WRAP_PROPERTY("async-handling", bool)
 
+  /** method to add an element to a bin
+   */
   _WRAP_VFUNC(bool add_element(const Glib::RefPtr<Element>& element), "add_element")
+
+  /** method to remove an element from a bin
+   */
   _WRAP_VFUNC(bool remove_element(const Glib::RefPtr<Element>& element), "remove_element")
+
+  /** method to handle a message from the children
+   */
   _WRAP_VFUNC(void handle_message(const Glib::RefPtr<Message>& message), "handle_message")
 };
 

Modified: gstreamermm/trunk/gstreamer/src/buffer.ccg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/buffer.ccg	(original)
+++ gstreamermm/trunk/gstreamer/src/buffer.ccg	Thu Apr 17 03:22:34 2008
@@ -24,18 +24,3 @@
 #include <gst/gstenumtypes.h>
 
 _PINCLUDE(gstreamermm/private/miniobject_p.h)
-
-namespace Gst
-{
-
-Glib::RefPtr<Buffer> Buffer::create(const guint& size)
-{
-  GstBuffer* buffer = gst_buffer_try_new_and_alloc(size);
-
-  if(buffer != NULL)
-    return wrap(buffer, false);
-  else
-    throw std::runtime_error("not enough memory to allocate the buffer");
-}
-
-}//namespace Gst

Modified: gstreamermm/trunk/gstreamer/src/buffer.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/buffer.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/buffer.hg	Thu Apr 17 03:22:34 2008
@@ -50,7 +50,8 @@
   _CLASS_GSTMINIOBJECT(Buffer, GstBuffer, GST_BUFFER, Gst::MiniObject, GstMiniObject)
 
 public:
-  static Glib::RefPtr<Buffer> create(const guint& size);
+  _WRAP_METHOD(static Glib::RefPtr<Buffer> create(), gst_buffer_new)
+  _WRAP_METHOD(static Glib::RefPtr<Buffer> create(guint size), gst_buffer_try_new_and_alloc)
 
   _WRAP_METHOD(guint get_flags() const, GST_BUFFER_FLAGS)
   _WRAP_METHOD(bool is_set_flag(BufferFlag flag) const, GST_BUFFER_FLAG_IS_SET)
@@ -92,12 +93,43 @@
   //This is const because it always returns a new buffer: (TODO: though maybe not: see the documentation. murrayc)
   _WRAP_METHOD(Glib::RefPtr<Buffer> merge(const Glib::RefPtr<Buffer>& other_buffer) const, gst_buffer_merge)
 
+  /** Get the data element of this buffer.
+   * @returns a pointer to the data element of this buffer.
+   */
   _MEMBER_GET(data, data, guint8*, guint8*)
+
+  /** Get the size of this buffer.
+   * @return The size in bytes of the data in this buffer.
+   */
   _MEMBER_GET(size, size, guint, guint)
+
+  /** Get the timestamp of this buffer.
+   * @return The timestamp in nanoseconds (as a GstClockTime) of the data in
+   * the buffer. Value will be CLOCK_TIME_NONE if the timestamp is unknown.
+   */
   _MEMBER_GET(timestamp, timestamp, ClockTime, GstClockTime)
+
+  /** Get duration of this buffer.
+   * @return he duration in nanoseconds (as a GstClockTime) of the data in the
+   * buffer. Value will be CLOCK_TIME_NONE if the duration is unknown.
+   */
   _MEMBER_GET(duration, duration, ClockTime, GstClockTime)
+
+  /** Get the offset of this buffer.
+   * @return The offset in the source file of the beginning of this buffer.
+   */
   _MEMBER_GET(offset, offset, guint64, guint64)
+
+  /** Get the offset end of this buffer.
+   * @return The offset in the source file of the end of this buffer.
+   */
   _MEMBER_GET(offset_end, offset_end, guint64, guint64)
+
+  /** Get the malloc data of this buffer.
+   * @return A pointer to any data allocated for this buffer using g_malloc().
+   * If this is non-NULL, this memory will be freed at the end of the buffer's
+   * lifecycle (i.e. when its refcount becomes zero).
+   */
   _MEMBER_GET(malloc_data, malloc_data, guint8*, guint8*)
 
   _IGNORE(gst_buffer_stamp)

Modified: gstreamermm/trunk/gstreamer/src/bus.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/bus.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/bus.hg	Thu Apr 17 03:22:34 2008
@@ -98,6 +98,10 @@
    */
   typedef sigc::slot< BusSyncReply, const Glib::RefPtr<Bus>&, const Glib::RefPtr<Message>& > SlotMessageSync;
 
+  /** Creates a new Gst::Bus instance.
+   *
+   * @return the new Gst::Bus instance
+   */
   _WRAP_CREATE()
 
   _WRAP_METHOD(bool post(const Glib::RefPtr<Message>& message), gst_bus_post)
@@ -152,7 +156,20 @@
   _WRAP_METHOD(Glib::RefPtr<Message> poll(MessageType message_type, ClockTimeDiff timeout), gst_bus_poll)
 
 #m4 _CONVERSION(`GstMessage*',`const Glib::RefPtr<Message>&', `Gst::Message::wrap($3, true)')
+
+  /** A message has been posted on the bus. This signal is emitted from a
+   * GSource added to the mainloop. this signal will only be emitted when there
+   * is a mainloop running.
+   */
   _WRAP_SIGNAL(void message(const Glib::RefPtr<Message>& message), "message")
+
+  /** A message has been posted on the bus. This signal is emitted from the
+   * thread that posted the message so one has to be careful with locking.
+   *
+   * This signal will not be emitted by default, you have to enable it with
+   * enable_sync_message_emission().
+   *
+   */
   _WRAP_SIGNAL(void sync_message(const Glib::RefPtr<Message>& message), "sync-message")
 
   _IGNORE(gst_bus_add_watch,

Modified: gstreamermm/trunk/gstreamer/src/caps.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/caps.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/caps.hg	Thu Apr 17 03:22:34 2008
@@ -29,7 +29,7 @@
 
 struct Structure;
 
-/** Caps â Structure describing sets of media formats.
+/** Caps â A structure describing sets of media formats.
  * Caps (capabilities) are lighweight refcounted objects describing media
  * types. They are composed of an array of Structure.
  *

Modified: gstreamermm/trunk/gstreamer/src/childproxy.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/childproxy.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/childproxy.hg	Thu Apr 17 03:22:34 2008
@@ -60,10 +60,21 @@
   void child_removed(const Glib::RefPtr<Gst::Object>& child);
 
 #m4 _CONVERSION(`GstObject*',`const Glib::RefPtr<Gst::Object>&',`Glib::wrap($3)')
+
+  /** Will be emitted after the object was added to the child_proxy.
+   */
   _WRAP_SIGNAL(void child_added(const Glib::RefPtr<Gst::Object>& object), "child-added")
+
+  /** Will be emitted after the object was removed from the child_proxy.
+   */
   _WRAP_SIGNAL(void child_removed(const Glib::RefPtr<Gst::Object>& object), "child-removed")
 
+  /** virtual method to fetch the child
+   */
   _WRAP_VFUNC(Glib::RefPtr<Gst::Object> get_child_by_index(guint index) const, "get_child_by_index")
+
+  /** virtual method to get the children count
+   */
   _WRAP_VFUNC(guint get_children_count() const, "get_children_count")
 
   _IGNORE(gst_child_proxy_get, gst_child_proxy_set)

Modified: gstreamermm/trunk/gstreamer/src/clock.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/clock.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/clock.hg	Thu Apr 17 03:22:34 2008
@@ -174,11 +174,30 @@
   _WRAP_PROPERTY("window-size", int)
   _WRAP_PROPERTY("window-threshold", int)
 
+  /** change the resolution of the clock. Not all values might be acceptable.
+   * The new resolution should be returned.
+   */
   _WRAP_VFUNC(ClockTime change_resolution(ClockTime old_resolution, ClockTime new_resolution), "change_resolution")
+
+  /** get the resolution of the clock.
+   */
   _WRAP_VFUNC(ClockTime get_resolution(), "get_resolution")
+
+  /** get the internal unadjusted time of the clock.
+   */
   _WRAP_VFUNC(ClockTime get_internal_time(), "get_internal_time")
+
+  /** perform an asynchronous wait for the given GstClockEntry.
+   */
   _WRAP_VFUNC(ClockReturn wait_async(const Glib::RefPtr<ClockID>& id), "wait_async")
+
+  /** unblock a blocking or async wait operation.
+   */
   _WRAP_VFUNC(void unschedule(const Glib::RefPtr<ClockID>& id), "unschedule")
+
+  /** perform a blocking wait on the given GstClockEntry and return the jitter.
+   * (Since: 0.10.10)
+   */
   _WRAP_VFUNC(ClockReturn wait_jitter(const Glib::RefPtr<ClockID>& id, ClockTimeDiff& jitter), "wait_jitter")
 };
 

Modified: gstreamermm/trunk/gstreamer/src/element.hg
==============================================================================
--- gstreamermm/trunk/gstreamer/src/element.hg	(original)
+++ gstreamermm/trunk/gstreamer/src/element.hg	Thu Apr 17 03:22:34 2008
@@ -58,7 +58,18 @@
 
 _WRAP_ENUM(StateChangeReturn, GstStateChangeReturn)
 
+/**  Gets a string representing the given state.
+ *
+ * @param state a Gst::State to get the name of.
+ * @return a Glib::ustring with the name of the state.
+ */
 Glib::ustring get_name(State s);
+
+/** Gets a string representing the given state change result.
+ *
+ * @param s a Gst::StateChangeReturn to get the name of.
+ * @return a Glib::ustring with the name of the state change result.
+ */
 Glib::ustring get_name(StateChangeReturn s);
 
 /** Element â Abstract base class for all pipeline elements.
@@ -186,11 +197,70 @@
 
   _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)
 
+  /** This signals that the element will not generate more dynamic pads.
+   */
   _WRAP_SIGNAL(void no_more_pads(), "no-more-pads")
 
 #m4 _CONVERSION(`GstPad*',`const Glib::RefPtr<Pad>&',`Glib::wrap($3, true)')
+
+  /** signals that a new Gst::Pad has been added to the element.
+   */
   _WRAP_SIGNAL(void pad_added(const Glib::RefPtr<Pad>& new_pad), "pad-added")
+
+  /** signals that a Gst::Pad has been removed from the element
+   */
   _WRAP_SIGNAL(void pad_removed(const Glib::RefPtr<Pad>& old_pad), "pad-removed")
+
+  /** called when a new pad is requested.
+   */
+  _WRAP_VFUNC(Glib::RefPtr<Pad> request_new_pad(const Glib::RefPtr<PadTemplate>& templ, const Glib::ustring& name), "request_new_pad")
+
+  /** called when a request pad is to be released
+   */
+  _WRAP_VFUNC(void release_pad(const Glib::RefPtr<Pad>& pad), "release_pad")
+
+  /** get the state of the element
+   */
+  _WRAP_VFUNC(StateChangeReturn get_state(State& state, State& pending, ClockTime timeout), "get_state")
+
+  /** set a new state on the element
+   */
+  _WRAP_VFUNC(StateChangeReturn set_state(State state), "set_state")
+
+  /** called by set_state to perform an incremental state change
+   */
+  _WRAP_VFUNC(StateChangeReturn change_state(StateChange transition), "change_state")
+
+  /** set a Gst::Bus on the element
+   */
+  _WRAP_VFUNC(void set_bus(const Glib::RefPtr<Bus>& bus), "set_bus")
+
+  /** gets the Gst::Clock provided by the element
+   */
+  _WRAP_VFUNC(Glib::RefPtr<Clock> provide_clock(), "provide_clock")
+
+  /** set the Gst::Clock on the element
+   */
+  _WRAP_VFUNC(bool set_clock(const Glib::RefPtr<Clock>& clock), "set_clock")
+
+  /** get a Gst::Index on the element
+   */
+  _WRAP_VFUNC(Glib::RefPtr<Index> get_index(), "get_index")
+
+  /** set the Gst::Index of an element
+   */
+  _WRAP_VFUNC(void set_index(const Glib::RefPtr<Index>& index), "set_index")
+
+  /** send a Gst::Event to the element
+   */
+  _WRAP_VFUNC(bool send_event(const Glib::RefPtr<Event>& event), "send_event")
+
+  //TODO: _WRAP_VFUNC(const GstQueryType* get_query_types(), "get_query_types")
+
+  /** perform a Gst::Query on the element 
+   */
+  _WRAP_VFUNC(bool query(const Glib::RefPtr<Query>& query), "query")
+
 };
 
 template <class T_Interface>

Modified: gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs
==============================================================================
--- gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs	(original)
+++ gstreamermm/trunk/gstreamer/src/gst_vfuncs.defs	Thu Apr 17 03:22:34 2008
@@ -89,3 +89,103 @@
    '("GstClockTimeDiff*" "jitter")
   )
 )
+
+; GstElement
+
+(define-vfunc request_new_pad
+  (of-object "GstElement")
+  (return-type "GstPad*")
+  (parameters
+   '("GstPadTemplate*" "templ")
+   '("const-gchar*" "name")
+  )
+)
+
+(define-vfunc release_pad
+  (of-object "GstElement")
+  (return-type "void")
+  (parameters
+   '("GstPad*" "pad")
+  )
+)
+
+(define-vfunc get_state
+  (of-object "GstElement")
+  (return-type "GstStateChangeReturn")
+  (parameters
+   '("GstState*" "state")
+   '("GstState*" "pending")
+   '("GstClockTime" "timeout")
+  )
+)
+
+(define-vfunc set_state
+  (of-object "GstElement")
+  (return-type "GstStateChangeReturn")
+  (parameters
+   '("GstState" "state")
+  )
+)
+
+(define-vfunc change_state
+  (of-object "GstElement")
+  (return-type "GstStateChangeReturn")
+  (parameters
+   '("GstStateChange" "transition")
+  )
+)
+
+(define-vfunc set_bus
+  (of-object "GstElement")
+  (return-type "void")
+  (parameters
+   '("GstBus*" "bus")
+  )
+)
+
+(define-vfunc provide_clock
+  (of-object "GstElement")
+  (return-type "GstClock*")
+)
+
+(define-vfunc set_clock
+  (of-object "GstElement")
+  (return-type "gboolean")
+  (parameters
+   '("GstClock*" "clock")
+  )
+)
+
+(define-vfunc get_index
+  (of-object "GstElement")
+  (return-type "GstIndex*")
+)
+
+(define-vfunc set_index
+  (of-object "GstElement")
+  (return-type "void")
+  (parameters
+   '("GstIndex*" "index")
+  )
+)
+
+(define-vfunc send_event
+  (of-object "GstElement")
+  (return-type "gboolean")
+  (parameters
+   '("GstEvent*" "event")
+  )
+)
+
+(define-vfunc get_query_types
+  (of-object "GstElement")
+  (return-type "GstQueryType*")
+)
+
+(define-vfunc query
+  (of-object "GstElement")
+  (return-type "gboolean")
+  (parameters
+   '("GstQuery*" "query")
+  )
+)

Modified: gstreamermm/trunk/tools/m4/convert_gst.m4
==============================================================================
--- gstreamermm/trunk/tools/m4/convert_gst.m4	(original)
+++ gstreamermm/trunk/tools/m4/convert_gst.m4	Thu Apr 17 03:22:34 2008
@@ -25,6 +25,7 @@
 #Bus
 _CONVERSION(`const Glib::RefPtr<Bus>&',`GstBus*', `Glib::unwrap($3)')
 _CONVERSION(`GstBus*',`Glib::RefPtr<Bus>',`Glib::wrap($3)')
+_CONVERSION(`GstBus*',`const Glib::RefPtr<Bus>&',`Glib::wrap($3)')
 
 #Caps
 _CONVERSION(`GstCaps*',`Glib::RefPtr<Caps>',`Glib::wrap($3)')
@@ -37,6 +38,8 @@
 _CONVERSION(`GstClock*',`Glib::RefPtr<const Clock>',`Glib::wrap($3)')
 _CONVERSION(`const Glib::RefPtr<Clock>&',`GstClock*', `Glib::unwrap($3)')
 _CONVERSION(`const Clock&',`GstClock*',`((GstClock*) (&($3)))')
+_CONVERSION(`Glib::RefPtr<Clock>',`GstClock*', `Glib::unwrap($3)')
+_CONVERSION(`GstClock*',`const Glib::RefPtr<Clock>&',`Glib::wrap($3)')
 
 #ClockID
 _CONVERSION(`GstClockID',`Glib::RefPtr<ClockID>',`Glib::wrap((GstClockEntry*)($3))')
@@ -55,13 +58,15 @@
 _CONVERSION(`GstElementFactory*',`Glib::RefPtr<ElementFactory>',`Glib::wrap($3)')
 
 #Event
-_CONVERSION(`const Glib::RefPtr<Event>&',`GstEvent*', `Glib::unwrap($3)')
+_CONVERSION(`const Glib::RefPtr<Event>&',`GstEvent*', `Gst::unwrap($3)')
+_CONVERSION(`GstEvent*',`const Glib::RefPtr<Event>&', `Gst::wrap($3)')
 
 #Index
 _CONVERSION(`GstIndex*',`Glib::RefPtr<Index>',`Glib::wrap($3)')
 _CONVERSION(`const Glib::RefPtr<Index>&',`GstIndex*',`Glib::unwrap($3)')
 _CONVERSION(`const IndexAssociation&',`const GstIndexAssociation*',`((GstIndexAssociation*)(&($3)))')
-_CONVERSION(`GstIndex*',`Glib::RefPtr<Index>',`Glib::wrap($3)')
+_CONVERSION(`GstIndex*',`const Glib::RefPtr<Index>&',`Glib::wrap($3)')
+_CONVERSION(`Glib::RefPtr<Index>',`GstIndex*',`Glib::unwrap($3)')
 
 #IndexEntry
 _CONVERSION(`GstIndexEntry*',`IndexEntry',`Glib::wrap($3)')
@@ -80,12 +85,13 @@
 #Pad
 _CONVERSION(`GstPad*',`Glib::RefPtr<Pad>',`Glib::wrap($3)')
 _CONVERSION(`GstPad*',`Glib::RefPtr<const Pad>',`Glib::wrap($3)')
-#_CONVERSION(`Glib::RefPtr<Pad>',`GstPad*', `Glib::unwrap($3)')
+_CONVERSION(`Glib::RefPtr<Pad>',`GstPad*', `Glib::unwrap($3)')
 _CONVERSION(`const Glib::RefPtr<Pad>&',`GstPad*', `Glib::unwrap($3)')
 
 #PadTemplate
 _CONVERSION(`const Glib::RefPtr<PadTemplate>&',`GstPadTemplate*', `Glib::unwrap($3)')
 _CONVERSION(`GstPadTemplate*',`Glib::RefPtr<PadTemplate>', `Glib::wrap($3)')
+_CONVERSION(`GstPadTemplate*',`const Glib::RefPtr<PadTemplate>&', `Glib::wrap($3)')
 
 #Plugin
 _CONVERSION(`const Glib::RefPtr<Plugin>&',`GstPlugin*',`Glib::unwrap($3)')
@@ -98,7 +104,8 @@
 _CONVERSION(`GstPluginFeature*',`const Glib::RefPtr<PluginFeature>&',`Glib::wrap($3)')
 
 #Query
-_CONVERSION(`const Glib::RefPtr<Query>&',`GstQuery*', `Glib::unwrap($3)')
+_CONVERSION(`const Glib::RefPtr<Query>&',`GstQuery*', `Gst::unwrap($3)')
+_CONVERSION(`GstQuery*',`const Glib::RefPtr<Query>&', `Gst::wrap($3)')
 
 #Registry
 _CONVERSION(`GstRegistry*',`Glib::RefPtr<Registry>', `Glib::wrap($3)')
@@ -127,6 +134,7 @@
 _CONVERSION(`Format&',`GstFormat*',`(($2) &($3))')
 _CONVERSION(`GstClockTimeDiff*',`ClockTimeDiff&',`(ClockTimeDiff&)(*($3))')
 _CONVERSION(`const GstQueryType*',`const QueryType*',`(QueryType*)($3)')
+_CONVERSION(`GstState*',`State&',`(State&)($3)')
 _CONVERSION(`GstTagFlag',`TagFlag',`(TagFlag)($3)')
 _CONVERSION(`guint64',`ClockTime',`(ClockTime ($3))')
 _CONVERSION(`const URIType',`const GstURIType',`(GstURIType($3))')



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