summaryrefslogtreecommitdiff
path: root/gstreamer-sharp/Plugin.custom
blob: d58449db654271c5df5a8fd7410b819e92bf63d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
[DllImport("libgstreamer-0.10.dll") ]
static extern IntPtr gst_plugin_load_file (IntPtr filename, out IntPtr gerror);

public static Gst.Plugin LoadFile (string filename) {
  IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (filename);
  IntPtr gerror;
  IntPtr raw_ret = gst_plugin_load_file (native_name, out gerror);
  Gst.Plugin ret = GLib.Object.GetObject (raw_ret, true) as Gst.Plugin;
  GLib.Marshaller.Free (native_name);
  if (gerror != IntPtr.Zero)
    throw new GLib.GException (gerror);
  return ret;
}