// // Version.cs: Lightweight Version Object for GStreamer // // Authors: // Aaron Bockover (abockover@novell.com) // // Copyright (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.dll") ] private static extern void gst_version (out uint major, out uint minor, out uint micro, out uint nano); [DllImport ("gstreamer-0.10.dll") ] private static extern IntPtr gst_version_string(); } }