Example #1
0
        public bool AddPlugin(Gst.Plugin plugin)
        {
            bool raw_ret = gst_registry_add_plugin(Handle, plugin == null ? IntPtr.Zero : plugin.Handle);
            bool ret     = raw_ret;

            return(ret);
        }
Example #2
0
        public static bool Register(Gst.Plugin plugin, string name, uint rank, Gst.TypeFindFunction func, string extensions, Gst.Caps possible_caps)
        {
            IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name);

            GstSharp.TypeFindFunctionWrapper func_wrapper = new GstSharp.TypeFindFunctionWrapper(func);
            IntPtr data;

            GLib.DestroyNotify data_notify;
            if (func == null)
            {
                data        = IntPtr.Zero;
                data_notify = null;
            }
            else
            {
                data        = (IntPtr)GCHandle.Alloc(func_wrapper);
                data_notify = GLib.DestroyHelper.NotifyHandler;
            }
            IntPtr native_extensions = GLib.Marshaller.StringToPtrGStrdup(extensions);
            bool   raw_ret           = gst_type_find_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, rank, func_wrapper.NativeDelegate, native_extensions, possible_caps == null ? IntPtr.Zero : possible_caps.Handle, IntPtr.Zero, data_notify);
            bool   ret = raw_ret;

            GLib.Marshaller.Free(native_name);
            GLib.Marshaller.Free(native_extensions);
            return(ret);
        }
Example #3
0
        public Gst.Plugin Load()
        {
            IntPtr raw_ret = gst_plugin_load(Handle);

            Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
            return(ret);
        }
Example #4
0
        public static bool DynamicTypeRegister(Gst.Plugin plugin, GLib.GType type)
        {
            bool raw_ret = gst_dynamic_type_register(plugin == null ? IntPtr.Zero : plugin.Handle, type.Val);
            bool ret     = raw_ret;

            return(ret);
        }
Example #5
0
        public static Gst.Plugin LoadByName(string name)
        {
            IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name);
            IntPtr raw_ret     = gst_plugin_load_by_name(native_name);

            Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
            GLib.Marshaller.Free(native_name);
            return(ret);
        }
Example #6
0
        public Gst.Plugin Lookup(string filename)
        {
            IntPtr native_filename = GLib.Marshaller.StringToPtrGStrdup(filename);
            IntPtr raw_ret         = gst_registry_lookup(Handle, native_filename);

            Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
            GLib.Marshaller.Free(native_filename);
            return(ret);
        }
Example #7
0
        public Gst.Plugin FindPlugin(string name)
        {
            IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name);
            IntPtr raw_ret     = gst_registry_find_plugin(Handle, native_name);

            Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
            GLib.Marshaller.Free(native_name);
            return(ret);
        }
Example #8
0
        public static bool Register(Gst.Plugin plugin, string name, GLib.GType type)
        {
            IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name);
            bool   raw_ret     = gst_tracer_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, type.Val);
            bool   ret         = raw_ret;

            GLib.Marshaller.Free(native_name);
            return(ret);
        }
Example #9
0
        public static unsafe Gst.Plugin LoadFile(string filename)
        {
            IntPtr native_filename = GLib.Marshaller.StringToFilenamePtr(filename);
            IntPtr error           = IntPtr.Zero;
            IntPtr raw_ret         = gst_plugin_load_file(native_filename, out error);

            Gst.Plugin ret = GLib.Object.GetObject(raw_ret, true) as Gst.Plugin;
            GLib.Marshaller.Free(native_filename);
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
Example #10
0
 private void InternalPluginAdded(Gst.Plugin plugin)
 {
     GLib.Value      ret             = GLib.Value.Empty;
     GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
     GLib.Value[]    vals            = new GLib.Value [2];
     vals [0] = new GLib.Value(this);
     inst_and_params.Append(vals [0]);
     vals [1] = new GLib.Value(plugin);
     inst_and_params.Append(vals [1]);
     g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
     foreach (GLib.Value v in vals)
     {
         v.Dispose();
     }
 }
        bool InvokeNative(Gst.Plugin plugin)
        {
            bool __result = native_cb(plugin == null ? IntPtr.Zero : plugin.Handle, __data);

            return(__result);
        }
Example #12
0
 public void RemovePlugin(Gst.Plugin plugin)
 {
     gst_registry_remove_plugin(Handle, plugin == null ? IntPtr.Zero : plugin.Handle);
 }
Example #13
0
 protected virtual void OnPluginAdded(Gst.Plugin plugin)
 {
     InternalPluginAdded(plugin);
 }