[gst-cvs] gstreamer-sharp: Fix some more structure ownerships

Sebastian Dröge slomo at kemper.freedesktop.org
Sun Apr 19 11:36:22 PDT 2009


Module: gstreamer-sharp
Branch: master
Commit: 7fb126bfd17d26d5da8bebedd1d329e2f31de791
URL:    http://cgit.freedesktop.org/gstreamer/gstreamer-sharp/commit/?id=7fb126bfd17d26d5da8bebedd1d329e2f31de791

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Sun Apr 19 18:29:19 2009 +0200

Fix some more structure ownerships

---

 gstreamer-sharp/Gstreamer.metadata |    2 +-
 gstreamer-sharp/Message.custom     |   12 ++++++++++++
 gstreamer-sharp/Structure.custom   |    2 +-
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/gstreamer-sharp/Gstreamer.metadata b/gstreamer-sharp/Gstreamer.metadata
index 724b3e7..f924218 100644
--- a/gstreamer-sharp/Gstreamer.metadata
+++ b/gstreamer-sharp/Gstreamer.metadata
@@ -228,11 +228,11 @@
   <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_get_type']" name="new_flag">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/field[@name='Timestamp']" name="hidden">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/field[@name='Src']" name="hidden">1</attr>
+  <attr path="/api/namespace/boxed[@name='Message']/field[@name='Structure']" name="hidden">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_type_to_quark']" name="hidden">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_type_get_name']" name="hidden">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/constructor" name="hidden">1</attr>
   <attr path="/api/namespace/boxed[@name='Message']/method" name="hidden">1</attr>
-  <remove-attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_get_structure']" name="hidden" />
   <remove-attr path="/api/namespace/boxed[@name='Message']/method[@cname='gst_message_get_type']" name="hidden" />
 
   <attr path="/api/namespace/enum[@name='MessageType']" name="parent">uint</attr>
diff --git a/gstreamer-sharp/Message.custom b/gstreamer-sharp/Message.custom
index 953a87f..53a7331 100644
--- a/gstreamer-sharp/Message.custom
+++ b/gstreamer-sharp/Message.custom
@@ -66,6 +66,18 @@ public uint Seqnum {
   }
 }
 
+
+[DllImport ("gstreamer-0.10.dll") ]
+static extern IntPtr gst_message_get_structure (IntPtr raw);
+
+public Gst.Structure Structure {
+  get  {
+    IntPtr raw_ret = gst_structure_copy (gst_message_get_structure (Handle));
+    Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+    return ret;
+  }
+}
+
 [DllImport ("gstreamer-0.10.dll") ]
 static extern IntPtr gst_message_new_eos (IntPtr src);
 
diff --git a/gstreamer-sharp/Structure.custom b/gstreamer-sharp/Structure.custom
index 96fe7b6..a773b30 100644
--- a/gstreamer-sharp/Structure.custom
+++ b/gstreamer-sharp/Structure.custom
@@ -199,7 +199,7 @@ public IEnumerable Fields {
 
 public static Structure NewFromString (string structure) {
   IntPtr raw_ret = gst_structure_from_string (structure, IntPtr.Zero);
-  Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
+  Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
   return ret;
 }
 





More information about the Gstreamer-commits mailing list