element: Enforce that elements created by gst_element_factory_create/make() are floating
[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., 51 Franklin St, Fifth Floor,
20  * Boston, MA 02110-1301, USA.
21  */
22
23
24 #ifndef __GST_H__
25 #define __GST_H__
26
27 #include <glib.h>
28
29 #include <gst/glib-compat.h>
30
31 #include <gst/gstenumtypes.h>
32 #include <gst/gstversion.h>
33
34 #include <gst/gstatomicqueue.h>
35 #include <gst/gstbin.h>
36 #include <gst/gstbuffer.h>
37 #include <gst/gstbufferlist.h>
38 #include <gst/gstbufferpool.h>
39 #include <gst/gstcaps.h>
40 #include <gst/gstcapsfeatures.h>
41 #include <gst/gstchildproxy.h>
42 #include <gst/gstclock.h>
43 #include <gst/gstcontrolsource.h>
44 #include <gst/gstdatetime.h>
45 #include <gst/gstdebugutils.h>
46 #include <gst/gstdevice.h>
47 #include <gst/gstdevicemonitor.h>
48 #include <gst/gstdeviceprovider.h>
49 #include <gst/gstdynamictypefactory.h>
50 #include <gst/gstelement.h>
51 #include <gst/gstelementmetadata.h>
52 #include <gst/gsterror.h>
53 #include <gst/gstevent.h>
54 #include <gst/gstghostpad.h>
55 #include <gst/gstinfo.h>
56 #include <gst/gstiterator.h>
57 #include <gst/gstmessage.h>
58 #include <gst/gstmemory.h>
59 #include <gst/gstmeta.h>
60 #include <gst/gstminiobject.h>
61 #include <gst/gstobject.h>
62 #include <gst/gststreamcollection.h>
63 #include <gst/gstpad.h>
64 #include <gst/gstparamspecs.h>
65 #include <gst/gstpipeline.h>
66 #include <gst/gstplugin.h>
67 #include <gst/gstpoll.h>
68 #include <gst/gstpreset.h>
69 #include <gst/gstprotection.h>
70 #include <gst/gstquery.h>
71 #include <gst/gstregistry.h>
72 #include <gst/gstpromise.h>
73 #include <gst/gstsample.h>
74 #include <gst/gstsegment.h>
75 #include <gst/gststreams.h>
76 #include <gst/gststructure.h>
77 #include <gst/gstsystemclock.h>
78 #include <gst/gsttaglist.h>
79 #include <gst/gsttagsetter.h>
80 #include <gst/gsttask.h>
81 #include <gst/gsttaskpool.h>
82 #include <gst/gsttoc.h>
83 #include <gst/gsttocsetter.h>
84 #include <gst/gsttracer.h>
85 #include <gst/gsttracerfactory.h>
86 #include <gst/gsttracerrecord.h>
87 #include <gst/gsttypefind.h>
88 #include <gst/gsttypefindfactory.h>
89 #include <gst/gsturi.h>
90 #include <gst/gstutils.h>
91 #include <gst/gstvalue.h>
92
93 #include <gst/gstparse.h>
94
95 /* API compatibility stuff */
96 #include <gst/gstcompat.h>
97
98 G_BEGIN_DECLS
99
100 GST_API
101 void            gst_init                        (int *argc, char **argv[]);
102
103 GST_API
104 gboolean        gst_init_check                  (int *argc, char **argv[],
105                                                  GError ** err);
106 GST_API
107 gboolean        gst_is_initialized              (void);
108
109 GST_API
110 GOptionGroup *  gst_init_get_option_group       (void);
111
112 GST_API
113 void            gst_deinit                      (void);
114
115 GST_API
116 void            gst_version                     (guint *major, guint *minor,
117                                                  guint *micro, guint *nano);
118 GST_API
119 gchar *         gst_version_string              (void);
120
121 GST_API
122 gboolean        gst_segtrap_is_enabled          (void);
123
124 GST_API
125 void            gst_segtrap_set_enabled         (gboolean enabled);
126
127 GST_API
128 gboolean        gst_registry_fork_is_enabled    (void);
129
130 GST_API
131 void            gst_registry_fork_set_enabled   (gboolean enabled);
132
133 GST_API
134 gboolean        gst_update_registry             (void);
135
136 GST_API
137 const gchar *   gst_get_main_executable_path    (void);
138
139 G_END_DECLS
140
141 #endif /* __GST_H__ */