예제 #1
0
        public void AddDependency(string[] env_vars, string[] paths, string[] names, Gst.PluginDependencyFlags flags)
        {
            int cnt_env_vars = env_vars == null ? 0 : env_vars.Length;

            IntPtr[] native_env_vars = new IntPtr [cnt_env_vars + 1];
            for (int i = 0; i < cnt_env_vars; i++)
            {
                native_env_vars [i] = GLib.Marshaller.StringToPtrGStrdup(env_vars[i]);
            }
            native_env_vars [cnt_env_vars] = IntPtr.Zero;
            int cnt_paths = paths == null ? 0 : paths.Length;

            IntPtr[] native_paths = new IntPtr [cnt_paths + 1];
            for (int i = 0; i < cnt_paths; i++)
            {
                native_paths [i] = GLib.Marshaller.StringToPtrGStrdup(paths[i]);
            }
            native_paths [cnt_paths] = IntPtr.Zero;
            int cnt_names = names == null ? 0 : names.Length;

            IntPtr[] native_names = new IntPtr [cnt_names + 1];
            for (int i = 0; i < cnt_names; i++)
            {
                native_names [i] = GLib.Marshaller.StringToPtrGStrdup(names[i]);
            }
            native_names [cnt_names] = IntPtr.Zero;
            gst_plugin_add_dependency(Handle, native_env_vars, native_paths, native_names, (int)flags);
        }
예제 #2
0
        public void AddDependencySimple(string env_vars, string paths, string names, Gst.PluginDependencyFlags flags)
        {
            IntPtr native_env_vars = GLib.Marshaller.StringToPtrGStrdup(env_vars);
            IntPtr native_paths    = GLib.Marshaller.StringToPtrGStrdup(paths);
            IntPtr native_names    = GLib.Marshaller.StringToPtrGStrdup(names);

            gst_plugin_add_dependency_simple(Handle, native_env_vars, native_paths, native_names, (int)flags);
            GLib.Marshaller.Free(native_env_vars);
            GLib.Marshaller.Free(native_paths);
            GLib.Marshaller.Free(native_names);
        }
예제 #3
0
 public void AddDependencySimple(Gst.PluginDependencyFlags flags)
 {
     AddDependencySimple(null, null, null, flags);
 }