*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
+
+#ifndef __GST_VERSION_H__
+#define __GST_VERSION_H__
+
+#include <glib.h>
+
/**
* SECTION:gstversion
* @short_description: GStreamer version macros.
* Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer
* runtime checks if these plugin and core version match and refuses to use a
* plugin compiled against a different version of GStreamer.
- * You can also use the macros to keep the GStreamer version information in your
- * application.
+ * You can also use the macros to keep the GStreamer version information in
+ * your application.
*
- * Use the gst_version() function if you want to know which version of
+ * Use the gst_version() function if you want to know which version of
* GStreamer you are currently linked against.
*
* The version macros get defined by including "gst/gst.h".
*/
-#ifndef __GST_VERSION_H__
-#define __GST_VERSION_H__
-
G_BEGIN_DECLS
/**
* The micro version of GStreamer at compile time:
*/
#define GST_VERSION_MICRO (@GST_VERSION_MICRO@)
+/**
+ * GST_VERSION_NANO:
+ *
+ * The nano version of GStreamer at compile time:
+ * Actual releases have 0, GIT versions have 1, prerelease versions have 2-...
+ */
+#define GST_VERSION_NANO (@GST_VERSION_NANO@)
-void gst_version (guint *major, guint *minor, guint *micro);
+/**
+ * GST_CHECK_VERSION:
+ * @major: a number indicating the major version
+ * @minor: a number indicating the minor version
+ * @micro: a number indicating the micro version
+ *
+ * Check whether a GStreamer version equal to or greater than
+ * major.minor.micro is present.
+ */
+#define GST_CHECK_VERSION(major,minor,micro) \
+ (GST_VERSION_MAJOR > (major) || \
+ (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR > (minor)) || \
+ (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \
+ GST_VERSION_MICRO >= (micro)) || \
+ (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \
+ GST_VERSION_MICRO + 1 == (micro) && GST_VERSION_NANO > 0))
G_END_DECLS