cd26f0f8075e45e573a04a5c93e62019e88893cd
[platform/upstream/gstreamer.git] / gst / gst.h
1 /* GStreamer
2  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
3  *                    2000 Wim Taymans <wtay@chello.be>
4  *
5  * gst.h: Main header for GStreamer, apps should include this
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., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23
24 #ifndef __GST_H__
25 #define __GST_H__
26
27 #ifndef GST_USE_UNSTABLE_API
28 #warning "The GStreamer 0.11 API is still unstable and will change in future."
29 #warning "Define GST_USE_UNSTABLE_API to avoid this warning."
30 #endif
31
32 #include <glib.h>
33
34 #include <gst/glib-compat.h>
35
36 #include <gst/gstenumtypes.h>
37 #include <gst/gstversion.h>
38
39 #include <gst/gstatomicqueue.h>
40 #include <gst/gstbin.h>
41 #include <gst/gstbuffer.h>
42 #include <gst/gstbufferlist.h>
43 #include <gst/gstbufferpool.h>
44 #include <gst/gstcaps.h>
45 #include <gst/gstchildproxy.h>
46 #include <gst/gstclock.h>
47 #include <gst/gstcontroller.h>
48 #include <gst/gstcontrolsource.h>
49 #include <gst/gstdatetime.h>
50 #include <gst/gstdebugutils.h>
51 #include <gst/gstelement.h>
52 #include <gst/gstelementmetadata.h>
53 #include <gst/gsterror.h>
54 #include <gst/gstevent.h>
55 #include <gst/gstghostpad.h>
56 #include <gst/gstindex.h>
57 #include <gst/gstindexfactory.h>
58 #include <gst/gstinfo.h>
59 #include <gst/gstiterator.h>
60 #include <gst/gstmarshal.h>
61 #include <gst/gstmessage.h>
62 #include <gst/gstmemory.h>
63 #include <gst/gstminiobject.h>
64 #include <gst/gstobject.h>
65 #include <gst/gstpad.h>
66 #include <gst/gstparamspecs.h>
67 #include <gst/gstpipeline.h>
68 #include <gst/gstplugin.h>
69 #include <gst/gstpoll.h>
70 #include <gst/gstpreset.h>
71 #include <gst/gstquery.h>
72 #include <gst/gstregistry.h>
73 #include <gst/gstsegment.h>
74 #include <gst/gststructure.h>
75 #include <gst/gstsystemclock.h>
76 #include <gst/gsttaglist.h>
77 #include <gst/gsttagsetter.h>
78 #include <gst/gsttask.h>
79 #include <gst/gsttaskpool.h>
80 #include <gst/gsttrace.h>
81 #include <gst/gsttypefind.h>
82 #include <gst/gsttypefindfactory.h>
83 #include <gst/gsturi.h>
84 #include <gst/gstutils.h>
85 #include <gst/gstvalue.h>
86
87 #include <gst/gstparse.h>
88
89 /* API compatibility stuff */
90 #include <gst/gstcompat.h>
91
92 G_BEGIN_DECLS
93
94 void            gst_init                        (int *argc, char **argv[]);
95 gboolean        gst_init_check                  (int *argc, char **argv[],
96                                                  GError ** err);
97 gboolean        gst_is_initialized              (void);
98 GOptionGroup *  gst_init_get_option_group       (void);
99 void            gst_deinit                      (void);
100
101 void            gst_version                     (guint *major, guint *minor,
102                                                  guint *micro, guint *nano);
103 gchar *         gst_version_string              (void);
104
105 gboolean        gst_segtrap_is_enabled          (void);
106 void            gst_segtrap_set_enabled         (gboolean enabled);
107
108 gboolean        gst_registry_fork_is_enabled    (void);
109 void            gst_registry_fork_set_enabled   (gboolean enabled);
110
111 gboolean        gst_update_registry (void);
112
113 G_END_DECLS
114
115 #endif /* __GST_H__ */