mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 16:26:39 +00:00
35 lines
1.2 KiB
Text
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);
|
|
}
|