// // Version.cs: Lightweight Version Object for GStreamer // // Authors: // Aaron Bockover (abockover@novell.com) // // (C) 2006 Novell, Inc. // using System; using System.Runtime.InteropServices; namespace Gst { public static class Version { private static uint major; private static uint minor; private static uint micro; private static uint nano; private static string version_string; static Version() { gst_version(out major, out minor, out micro, out nano); } public static string Description { get { if (version_string == null) { IntPtr version_string_ptr = gst_version_string(); version_string = GLib.Marshaller.Utf8PtrToString(version_string_ptr); } return version_string; } } public static uint Major { get { return major; } } public static uint Minor { get { return minor; } } public static uint Micro { get { return micro; } } public static uint Nano { get { return nano; } } [DllImport("gstreamer-0.10")] private static extern void gst_version(out uint major, out uint minor, out uint micro, out uint nano); [DllImport("gstreamer-0.10")] private static extern IntPtr gst_version_string(); } }