public PluginInitFuncWrapper(Gst.PluginInitFunc managed) { this.managed = managed; if (managed != null) { NativeDelegate = new PluginInitFuncNative(NativeCallback); } }
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); }