public static Gst.ElementFactory[] ListFilter(GLib.List list, Gst.Caps caps, Gst.PadDirection direction, bool subsetonly)
        {
            IntPtr raw_ret = gst_element_factory_list_filter(list == null ? IntPtr.Zero : list.Handle, caps == null ? IntPtr.Zero : caps.Handle, (int)direction, subsetonly);

            Gst.ElementFactory[] ret = (Gst.ElementFactory[])GLib.Marshaller.ListPtrToArray(raw_ret, typeof(GLib.List), true, true, typeof(Gst.ElementFactory));
            return(ret);
        }
        public PadTemplate(string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps, GLib.GType pad_type) : base(IntPtr.Zero)
        {
            if (GetType() != typeof(PadTemplate))
            {
                var vals  = new List <GLib.Value> ();
                var names = new List <string> ();
                names.Add("name_template");
                vals.Add(new GLib.Value(name_template));
                names.Add("direction");
                vals.Add(new GLib.Value(direction));
                names.Add("presence");
                vals.Add(new GLib.Value(presence));
                if (caps != null)
                {
                    names.Add("caps");
                    vals.Add(new GLib.Value(caps));
                }
                CreateNativeObject(names.ToArray(), vals.ToArray());
                return;
            }
            IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup(name_template);

            Raw = gst_pad_template_new_with_gtype(native_name_template, (int)direction, (int)presence, caps == null ? IntPtr.Zero : caps.Handle, pad_type.Val);
            GLib.Marshaller.Free(native_name_template);
        }
Пример #3
0
        public GhostPad(string name, Gst.PadDirection dir) : base(IntPtr.Zero)
        {
            if (GetType() != typeof(GhostPad))
            {
                var vals  = new List <GLib.Value> ();
                var names = new List <string> ();
                names.Add("name");
                vals.Add(new GLib.Value(name));
                CreateNativeObject(names.ToArray(), vals.ToArray());
                return;
            }
            IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup(name);

            Raw = gst_ghost_pad_new_no_target(native_name, (int)dir);
            GLib.Marshaller.Free(native_name);
        }