gstreamer/gstreamer-sharp/TunerNorm.custom
Maarten Bosmans f665c749b6 Use libgst*.dll in DllImport attribute, instead of gst*.dll
Nescessary for .NET, which doesn't prefix the library filename
with lib automatically.
2009-05-25 12:09:52 +02:00

28 lines
1,008 B
Text

[DllImport ("gstreamersharpglue-0.10.dll") ]
extern static uint gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
static uint framerate_offset = gst__interfacessharp_gst__interfaces_tunernorm_get_framerate_offset ();
public Gst.Fraction Framerate {
get {
unsafe {
IntPtr raw_ptr = (IntPtr) ( ( (byte*) Handle) + framerate_offset);
GLib.Value v = (GLib.Value) Marshal.PtrToStructure (raw_ptr, typeof (GLib.Value));
return (Gst.Fraction) v.Val;
}
}
}
[DllImport("libgstreamer-0.10.dll") ]
private static extern void gst_value_set_fraction (IntPtr v, int numerator, int denominator);
public TunerNorm (string label, Gst.Fraction framerate) {
unsafe {
IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + label_offset);
*raw_ptr = GLib.Marshaller.StringToPtrGStrdup (label);
}
unsafe {
IntPtr raw_ptr = (IntPtr) ( ( (byte*) Handle) + framerate_offset);
gst_value_set_fraction (raw_ptr, framerate.Numerator, framerate.Denominator);
}
}