From c1eeb9c6bd684753cc587baf43561b71754792f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 18 Apr 2009 16:21:16 +0200 Subject: [PATCH] Implement Gst.MiniObject.Copy() manually to get the correct type from the instance --- gstreamer-sharp/Gstreamer.metadata | 3 +-- gstreamer-sharp/MiniObject.custom | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gstreamer-sharp/Gstreamer.metadata b/gstreamer-sharp/Gstreamer.metadata index 49b8426..f6fa05e 100644 --- a/gstreamer-sharp/Gstreamer.metadata +++ b/gstreamer-sharp/Gstreamer.metadata @@ -234,10 +234,9 @@ true 1 - 1 true GstMiniObjectFlags - true + 1 1 1 diff --git a/gstreamer-sharp/MiniObject.custom b/gstreamer-sharp/MiniObject.custom index 3972535..cded844 100644 --- a/gstreamer-sharp/MiniObject.custom +++ b/gstreamer-sharp/MiniObject.custom @@ -38,3 +38,14 @@ public void MakeWritable() { Owned = true; } +[DllImport ("gstreamer-0.10.dll") ] +static extern IntPtr gst_mini_object_copy (IntPtr raw); + +public Gst.MiniObject Copy() { + IntPtr raw_ret = gst_mini_object_copy (Handle); + GLib.GType type = new GLib.GType (gstsharp_g_type_from_instance (raw_ret)); + + Gst.MiniObject ret = raw_ret == IntPtr.Zero ? null : (Gst.MiniObject) GLib.Opaque.GetOpaque (raw_ret, (Type) type, true); + return ret; +} + -- 2.7.4