gstreamer/gstreamer-sharp/VideoUtil.custom

35 lines
1.2 KiB
Text

[DllImport ("libgstvideo-0.10.dll") ]
static extern IntPtr gst_video_frame_rate (IntPtr pad);
public static Gst.Fraction GetFrameRate (Gst.Pad pad) {
IntPtr raw_ret = gst_video_frame_rate (pad == null ? IntPtr.Zero : pad.Handle);
if (raw_ret == IntPtr.Zero)
return new Gst.Fraction ();
Gst.GLib.Value ret = (Gst.GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (Gst.GLib.Value));
return (Gst.Fraction) ret.Val;
}
[DllImport ("libgstvideo-0.10.dll") ]
static extern uint gst_video_format_to_fourcc (int format);
public static Gst.Fourcc FormatToFourcc (Gst.Video.VideoFormat format) {
uint raw_ret = gst_video_format_to_fourcc ( (int) format);
uint ret = raw_ret;
return new Gst.Fourcc (ret);
}
public static Gst.Video.VideoFormat FormatFromFourcc (Gst.Fourcc fourcc) {
return FormatFromFourcc (fourcc.Val);
}
[DllImport ("gstreamersharpglue-0.10.dll") ]
static extern IntPtr gstsharp_gst_videoutil_get_template_caps (Gst.Video.VideoFormat fmt);
public static Gst.Caps FormatToTemplateCaps (Gst.Video.VideoFormat fmt) {
IntPtr raw_ret = gstsharp_gst_videoutil_get_template_caps (fmt);
if (raw_ret == IntPtr.Zero)
return null;
return (Gst.Caps) Gst.GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
}