Fix and cleanup Gst.Video bindings

This commit is contained in:
Sebastian Dröge 2009-06-06 13:14:11 +02:00
parent 484b1229c4
commit b4ded561e3
3 changed files with 36 additions and 1 deletions

View file

@ -1224,7 +1224,14 @@
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_size']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_new_caps']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_new_caps_interlaced']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_component_height']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_component_offset']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_component_width']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_pixel_stride']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<move-node path="/api/namespace/class[@name='Global']/method[@cname='gst_video_format_get_row_stride']">/api/namespace/class[@cname='GstVideoUtil']</move-node>
<attr path="/api/namespace/class[@cname='GstVideoUtil']/method[@name='FormatNewCapsInterlaced']" name="name">FormatNewCaps</attr>
<attr path="/api/namespace/class[@cname='GstVideoUtil']/method[@cname='gst_video_frame_rate']" name="hidden">1</attr>
<attr path="/api/namespace/class[@cname='GstVideoUtil']/method[@cname='gst_video_format_to_fourcc']" name="hidden">1</attr>
<attr path="/api/namespace/enum[@cname='GstVideoFormat']/member[@name='Yv12']" name="name">YV12</attr>
<attr path="/api/namespace/enum[@cname='GstVideoFormat']/member[@name='Yuy2']" name="name">YUY2</attr>
@ -1244,4 +1251,7 @@
<attr path="/api/namespace/enum[@cname='GstVideoFormat']/member[@name='Y42b']" name="name">Y42B</attr>
<attr path="/api/namespace/enum[@cname='GstVideoFormat']/member[@name='Yvyu']" name="name">YVYU</attr>
<attr path="/api/namespace/object[@cname='GstVideoSink']/method[@cname='gst_video_sink_center_rect']/parameters/parameter[@name='result']" name="pass_as">ref</attr>
</metadata>

View file

@ -114,7 +114,8 @@ customs = \
TunerChannel.custom \
Adapter.custom \
Controller.custom \
ControlSource.custom
ControlSource.custom \
VideoUtil.custom
build_customs = $(addprefix $(srcdir)/, $(customs))

View file

@ -0,0 +1,24 @@
[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 ();
GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (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);
}