1 | /* GStreamer |
2 | * Copyright (C) 1999,2000 Erik Walthinsen <[email protected]> |
3 | * 2000 Wim Taymans <[email protected]> |
4 | * |
5 | * gstversion.h: Version information for GStreamer |
6 | * |
7 | * This library is free software; you can redistribute it and/or |
8 | * modify it under the terms of the GNU Library General Public |
9 | * License as published by the Free Software Foundation; either |
10 | * version 2 of the License, or (at your option) any later version. |
11 | * |
12 | * This library is distributed in the hope that it will be useful, |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 | * Library General Public License for more details. |
16 | * |
17 | * You should have received a copy of the GNU Library General Public |
18 | * License along with this library; if not, write to the |
19 | * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, |
20 | * Boston, MA 02110-1301, USA. |
21 | */ |
22 | |
23 | #ifndef __GST_VERSION_H__ |
24 | #define __GST_VERSION_H__ |
25 | |
26 | #include <glib.h> |
27 | |
28 | /** |
29 | * SECTION:gstversion |
30 | * @short_description: GStreamer version macros. |
31 | * |
32 | * Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer |
33 | * runtime checks if these plugin and core version match and refuses to use a |
34 | * plugin compiled against a different version of GStreamer. |
35 | * You can also use the macros to keep the GStreamer version information in |
36 | * your application. |
37 | * |
38 | * Use the gst_version() function if you want to know which version of |
39 | * GStreamer you are currently linked against. |
40 | * |
41 | * The version macros get defined by including "gst/gst.h". |
42 | */ |
43 | |
44 | G_BEGIN_DECLS |
45 | |
46 | /** |
47 | * GST_VERSION_MAJOR: |
48 | * |
49 | * The major version of GStreamer at compile time: |
50 | */ |
51 | #define GST_VERSION_MAJOR (1) |
52 | /** |
53 | * GST_VERSION_MINOR: |
54 | * |
55 | * The minor version of GStreamer at compile time: |
56 | */ |
57 | #define GST_VERSION_MINOR (16) |
58 | /** |
59 | * GST_VERSION_MICRO: |
60 | * |
61 | * The micro version of GStreamer at compile time: |
62 | */ |
63 | #define GST_VERSION_MICRO (0) |
64 | /** |
65 | * GST_VERSION_NANO: |
66 | * |
67 | * The nano version of GStreamer at compile time: |
68 | * Actual releases have 0, GIT versions have 1, prerelease versions have 2-... |
69 | */ |
70 | #define GST_VERSION_NANO (0) |
71 | |
72 | /** |
73 | * GST_CHECK_VERSION: |
74 | * @major: a number indicating the major version |
75 | * @minor: a number indicating the minor version |
76 | * @micro: a number indicating the micro version |
77 | * |
78 | * Check whether a GStreamer version equal to or greater than |
79 | * major.minor.micro is present. |
80 | */ |
81 | #define GST_CHECK_VERSION(major,minor,micro) \ |
82 | (GST_VERSION_MAJOR > (major) || \ |
83 | (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR > (minor)) || \ |
84 | (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \ |
85 | GST_VERSION_MICRO >= (micro)) || \ |
86 | (GST_VERSION_MAJOR == (major) && GST_VERSION_MINOR == (minor) && \ |
87 | GST_VERSION_MICRO + 1 == (micro) && GST_VERSION_NANO > 0)) |
88 | |
89 | G_END_DECLS |
90 | |
91 | #endif /* __GST_VERSION_H__ */ |
92 | |