public PluginInitFuncWrapper(Gst.PluginInitFunc managed)
 {
     this.managed = managed;
     if (managed != null)
     {
         NativeDelegate = new PluginInitFuncNative(NativeCallback);
     }
 }
コード例 #2
0
        public static bool RegisterStatic(int major_version, int minor_version, string name, string description, Gst.PluginInitFunc init_func, string version, string license, string source, string package, string origin)
        {
            IntPtr native_name        = GLib.Marshaller.StringToPtrGStrdup(name);
            IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup(description);

            GstSharp.PluginInitFuncWrapper init_func_wrapper = new GstSharp.PluginInitFuncWrapper(init_func);
            IntPtr native_version = GLib.Marshaller.StringToPtrGStrdup(version);
            IntPtr native_license = GLib.Marshaller.StringToPtrGStrdup(license);
            IntPtr native_source  = GLib.Marshaller.StringToPtrGStrdup(source);
            IntPtr native_package = GLib.Marshaller.StringToPtrGStrdup(package);
            IntPtr native_origin  = GLib.Marshaller.StringToPtrGStrdup(origin);
            bool   raw_ret        = gst_plugin_register_static(major_version, minor_version, native_name, native_description, init_func_wrapper.NativeDelegate, native_version, native_license, native_source, native_package, native_origin);
            bool   ret            = raw_ret;

            GLib.Marshaller.Free(native_name);
            GLib.Marshaller.Free(native_description);
            GLib.Marshaller.Free(native_version);
            GLib.Marshaller.Free(native_license);
            GLib.Marshaller.Free(native_source);
            GLib.Marshaller.Free(native_package);
            GLib.Marshaller.Free(native_origin);
            return(ret);
        }