mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-04 23:46:43 +00:00
294b5df8f7
Also rename and cleanup some PadTemplate members
32 lines
1.2 KiB
Text
32 lines
1.2 KiB
Text
[DllImport("gstreamer-0.10.dll")]
|
|
static extern IntPtr gst_pad_template_new(IntPtr name_template, int direction, int presence, IntPtr caps);
|
|
|
|
[DllImport("gstreamer-0.10.dll")]
|
|
static extern IntPtr gst_caps_ref (IntPtr handle);
|
|
|
|
public PadTemplate (string name_template, Gst.PadDirection direction, Gst.PadPresence presence, Gst.Caps caps) : base (IntPtr.Zero)
|
|
{
|
|
if (GetType () != typeof (PadTemplate)) {
|
|
ArrayList vals = new ArrayList();
|
|
ArrayList names = new ArrayList();
|
|
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 ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value)));
|
|
return;
|
|
}
|
|
IntPtr native_name_template = GLib.Marshaller.StringToPtrGStrdup (name_template);
|
|
if (caps != null)
|
|
gst_caps_ref (caps.Handle);
|
|
|
|
Raw = gst_pad_template_new(native_name_template, (int) direction, (int) presence, caps == null ? IntPtr.Zero : caps.Handle);
|
|
GLib.Marshaller.Free (native_name_template);
|
|
}
|
|
|