element: Enforce that elements created by gst_element_factory_create/make() are floating
[platform/upstream/gstreamer.git] / gst / gstversion.h.in
index c6dd5d3..a74c2d1 100644 (file)
  *
  * 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.
@@ -35,9 +41,6 @@
  * The version macros get defined by including "gst/gst.h".
  */
 
-#ifndef __GST_VERSION_H__
-#define __GST_VERSION_H__
-
 G_BEGIN_DECLS
 
 /**
@@ -45,26 +48,43 @@ G_BEGIN_DECLS
  *
  * The major version of GStreamer at compile time:
  */
-#define GST_VERSION_MAJOR (@PACKAGE_VERSION_MAJOR@)
+#define GST_VERSION_MAJOR (@GST_VERSION_MAJOR@)
 /**
  * GST_VERSION_MINOR:
  *
  * The minor version of GStreamer at compile time:
  */
-#define GST_VERSION_MINOR (@PACKAGE_VERSION_MINOR@)
+#define GST_VERSION_MINOR (@GST_VERSION_MINOR@)
 /**
  * GST_VERSION_MICRO:
  *
  * The micro version of GStreamer at compile time:
  */
-#define GST_VERSION_MICRO (@PACKAGE_VERSION_MICRO@)
+#define GST_VERSION_MICRO (@GST_VERSION_MICRO@)
 /**
  * GST_VERSION_NANO:
  *
  * The nano version of GStreamer at compile time:
- * Actual releases have 0, CVS versions have 1, prerelease versions have 2-...
+ * Actual releases have 0, GIT versions have 1, prerelease versions have 2-...
+ */
+#define GST_VERSION_NANO (@GST_VERSION_NANO@)
+
+/**
+ * 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_VERSION_NANO (@PACKAGE_VERSION_NANO@)
+#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