gstreamer_core/gst/gst_private.h
branchRCL_3
changeset 29 567bb019e3e3
parent 0 0e761a78d257
child 30 7e817e7e631c
equal deleted inserted replaced
6:9b2c3c7a1a9c 29:567bb019e3e3
    18  * License along with this library; if not, write to the
    18  * License along with this library; if not, write to the
    19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    20  * Boston, MA 02111-1307, USA.
    20  * Boston, MA 02111-1307, USA.
    21  */
    21  */
    22 
    22 
    23 
       
    24 #ifndef __GST_PRIVATE_H__
    23 #ifndef __GST_PRIVATE_H__
    25 #define __GST_PRIVATE_H__
    24 #define __GST_PRIVATE_H__
    26 
    25 
    27 #ifdef HAVE_CONFIG_H
    26 #ifdef HAVE_CONFIG_H
       
    27 # ifndef GST_LICENSE   /* don't include config.h twice, it has no guards */
    28 #  include "config.h"
    28 #  include "config.h"
       
    29 # endif
    29 #endif
    30 #endif
    30 
    31 
    31 /* This needs to be before glib.h, since it might be used in inline
    32 /* This needs to be before glib.h, since it might be used in inline
    32  * functions */
    33  * functions */
    33 extern const char             g_log_domain_gstreamer[];
    34 extern const char             g_log_domain_gstreamer[];
    39 
    40 
    40 /* Needed for GstRegistry * */
    41 /* Needed for GstRegistry * */
    41 #include "gstregistry.h"
    42 #include "gstregistry.h"
    42 #include "gststructure.h"
    43 #include "gststructure.h"
    43 
    44 
       
    45 /* we need this in pretty much all files */
       
    46 #include "gstinfo.h"
       
    47 
       
    48 /* for the flags in the GstPluginDep structure below */
       
    49 #include "gstplugin.h"
       
    50 
    44 G_BEGIN_DECLS
    51 G_BEGIN_DECLS
       
    52 
       
    53 /* used by gstparse.c and grammar.y */
       
    54 struct _GstParseContext {
       
    55   GList * missing_elements;
       
    56 };
       
    57 
       
    58 /* used by gstplugin.c and gstregistrybinary.c */
       
    59 typedef struct {
       
    60   /* details registered via gst_plugin_add_dependency() */
       
    61   GstPluginDependencyFlags  flags;
       
    62   gchar **env_vars;
       
    63   gchar **paths;
       
    64   gchar **names;
       
    65 
       
    66   /* information saved from the last time the plugin was loaded (-1 = unset) */
       
    67   guint   env_hash;  /* hash of content of environment variables in env_vars */
       
    68   guint   stat_hash; /* hash of stat() on all relevant files and directories */
       
    69 } GstPluginDep;
       
    70 
       
    71 struct _GstPluginPrivate {
       
    72   GList *deps;    /* list of GstPluginDep structures */
       
    73   GstStructure *cache_data;
       
    74 };
       
    75 #ifdef __SYMBIAN32__
       
    76 IMPORT_C
       
    77 #endif
       
    78 
       
    79 
       
    80 gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin);
       
    81 #ifdef __SYMBIAN32__
       
    82 IMPORT_C
       
    83 #endif
       
    84 
       
    85 gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
       
    86 #ifdef __SYMBIAN32__
       
    87 IMPORT_C
       
    88 #endif
       
    89 
    45 
    90 
    46 gboolean _priv_gst_in_valgrind (void);
    91 gboolean _priv_gst_in_valgrind (void);
    47 
    92 
    48 /* Initialize GStreamer private quark storage */
    93 /* Initialize GStreamer private quark storage */
    49 #ifdef __SYMBIAN32__
    94 #ifdef __SYMBIAN32__
    64 void  _gst_buffer_initialize (void);
   109 void  _gst_buffer_initialize (void);
    65 #ifdef __SYMBIAN32__
   110 #ifdef __SYMBIAN32__
    66 IMPORT_C
   111 IMPORT_C
    67 #endif
   112 #endif
    68 
   113 
       
   114 void  _gst_buffer_list_initialize (void);
       
   115 #ifdef __SYMBIAN32__
       
   116 IMPORT_C
       
   117 #endif
       
   118 
    69 void  _gst_event_initialize (void);
   119 void  _gst_event_initialize (void);
    70 #ifdef __SYMBIAN32__
   120 #ifdef __SYMBIAN32__
    71 IMPORT_C
   121 IMPORT_C
    72 #endif
   122 #endif
    73 
   123 
   111 void _priv_gst_registry_cleanup (void);
   161 void _priv_gst_registry_cleanup (void);
   112 
   162 
   113 /* used in both gststructure.c and gstcaps.c; numbers are completely made up */
   163 /* used in both gststructure.c and gstcaps.c; numbers are completely made up */
   114 #define STRUCTURE_ESTIMATED_STRING_LEN(s) (16 + (s)->fields->len * 22)
   164 #define STRUCTURE_ESTIMATED_STRING_LEN(s) (16 + (s)->fields->len * 22)
   115 
   165 
       
   166 #ifdef __SYMBIAN32__
       
   167 IMPORT_C
       
   168 #endif
   116 gboolean  priv_gst_structure_append_to_gstring (const GstStructure * structure,
   169 gboolean  priv_gst_structure_append_to_gstring (const GstStructure * structure,
   117                                                 GString            * s);
   170                                                 GString            * s);
   118 
   171 
   119 /* registry cache backends */
   172 /* registry cache backends */
   120 /* FIXME 0.11: use priv_ prefix */
   173 /* FIXME 0.11: use priv_ prefix */
   121 #ifdef USE_BINARY_REGISTRY
   174 #ifdef __SYMBIAN32__
       
   175 IMPORT_C
       
   176 #endif
       
   177 
   122 gboolean 		gst_registry_binary_read_cache 	(GstRegistry * registry, const char *location);
   178 gboolean 		gst_registry_binary_read_cache 	(GstRegistry * registry, const char *location);
   123 #ifdef __SYMBIAN32__
   179 #ifdef __SYMBIAN32__
   124 IMPORT_C
   180 IMPORT_C
   125 #endif
   181 #endif
   126 
   182 
   127 gboolean 		gst_registry_binary_write_cache	(GstRegistry * registry, const char *location);
   183 gboolean 		gst_registry_binary_write_cache	(GstRegistry * registry, const char *location);
   128 /* FIXME 0.11: this is in registry.h for backwards compatibility
   184 
   129 #else 
   185 
   130 gboolean 		gst_registry_xml_read_cache 	(GstRegistry * registry, const char *location);
   186 /* used in gstvalue.c and gststructure.c */
   131 #ifdef __SYMBIAN32__
   187 #define GST_ASCII_IS_STRING(c) (g_ascii_isalnum((c)) || ((c) == '_') || \
   132 IMPORT_C
   188     ((c) == '-') || ((c) == '+') || ((c) == '/') || ((c) == ':') || \
   133 #endif
   189     ((c) == '.'))
   134 
       
   135 gboolean 		gst_registry_xml_write_cache 	(GstRegistry * registry, const char *location);
       
   136 */
       
   137 #endif
       
   138 
   190 
   139 /*** debugging categories *****************************************************/
   191 /*** debugging categories *****************************************************/
   140 
   192 
   141 #ifndef GST_DISABLE_GST_DEBUG
   193 #ifndef GST_REMOVE_GST_DEBUG
   142 
   194 
   143 #ifndef _MSC_VER
   195 GST_EXPORT GstDebugCategory *GST_CAT_GST_INIT;
   144 #define IMPORT_SYMBOL
   196 GST_EXPORT GstDebugCategory *GST_CAT_AUTOPLUG; /* FIXME 0.11: remove? */
   145 #else /* _MSC_VER */
   197 GST_EXPORT GstDebugCategory *GST_CAT_AUTOPLUG_ATTEMPT; /* FIXME 0.11: remove? */
   146 #ifndef LIBGSTREAMER_EXPORTS
   198 GST_EXPORT GstDebugCategory *GST_CAT_PARENTAGE;
   147 #define IMPORT_SYMBOL __declspec(dllimport)
   199 GST_EXPORT GstDebugCategory *GST_CAT_STATES;
   148 #else
   200 GST_EXPORT GstDebugCategory *GST_CAT_SCHEDULING;
   149 #define IMPORT_SYMBOL 
   201 GST_EXPORT GstDebugCategory *GST_CAT_BUFFER;
   150 #endif
   202 GST_EXPORT GstDebugCategory *GST_CAT_BUFFER_LIST;
   151 #endif
   203 GST_EXPORT GstDebugCategory *GST_CAT_BUS;
   152 
   204 GST_EXPORT GstDebugCategory *GST_CAT_CAPS;
   153 #include <gst/gstinfo.h>
   205 GST_EXPORT GstDebugCategory *GST_CAT_CLOCK;
   154 
   206 GST_EXPORT GstDebugCategory *GST_CAT_ELEMENT_PADS;
   155 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_GST_INIT;
   207 GST_EXPORT GstDebugCategory *GST_CAT_PADS;
   156 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_AUTOPLUG;
   208 GST_EXPORT GstDebugCategory *GST_CAT_PERFORMANCE;
   157 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_AUTOPLUG_ATTEMPT;
   209 GST_EXPORT GstDebugCategory *GST_CAT_PIPELINE;
   158 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PARENTAGE;
   210 GST_EXPORT GstDebugCategory *GST_CAT_PLUGIN_LOADING;
   159 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_STATES;
   211 GST_EXPORT GstDebugCategory *GST_CAT_PLUGIN_INFO;
   160 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_SCHEDULING;
   212 GST_EXPORT GstDebugCategory *GST_CAT_PROPERTIES;
   161 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_BUFFER;
   213 GST_EXPORT GstDebugCategory *GST_CAT_XML;
   162 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_BUS;
   214 GST_EXPORT GstDebugCategory *GST_CAT_NEGOTIATION;
   163 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_CAPS;
   215 GST_EXPORT GstDebugCategory *GST_CAT_REFCOUNTING;
   164 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_CLOCK;
   216 GST_EXPORT GstDebugCategory *GST_CAT_ERROR_SYSTEM;
   165 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_ELEMENT_PADS;
   217 GST_EXPORT GstDebugCategory *GST_CAT_EVENT;
   166 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PADS;
   218 GST_EXPORT GstDebugCategory *GST_CAT_MESSAGE;
   167 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PIPELINE;
   219 GST_EXPORT GstDebugCategory *GST_CAT_PARAMS;
   168 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PLUGIN_LOADING;
   220 GST_EXPORT GstDebugCategory *GST_CAT_CALL_TRACE;
   169 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PLUGIN_INFO;
   221 GST_EXPORT GstDebugCategory *GST_CAT_SIGNAL;
   170 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PROPERTIES;
   222 GST_EXPORT GstDebugCategory *GST_CAT_PROBE;
   171 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_XML;
   223 GST_EXPORT GstDebugCategory *GST_CAT_REGISTRY;
   172 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_NEGOTIATION;
   224 GST_EXPORT GstDebugCategory *GST_CAT_QOS;
   173 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_REFCOUNTING;
   225 GST_EXPORT GstDebugCategory *GST_CAT_TYPES; /* FIXME 0.11: remove? */
   174 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_ERROR_SYSTEM;
       
   175 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_EVENT;
       
   176 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_MESSAGE;
       
   177 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PARAMS;
       
   178 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_CALL_TRACE;
       
   179 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_SIGNAL;
       
   180 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_PROBE;
       
   181 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_REGISTRY;
       
   182 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_QOS;
       
   183 extern IMPORT_SYMBOL GstDebugCategory *GST_CAT_TYPES; /* FIXME 0.11: remove? */
       
   184 
   226 
   185 #else
   227 #else
   186 
   228 
   187 #define GST_CAT_GST_INIT         NULL
   229 #define GST_CAT_GST_INIT         NULL
   188 #define GST_CAT_AUTOPLUG         NULL
   230 #define GST_CAT_AUTOPLUG         NULL
   190 #define GST_CAT_PARENTAGE        NULL
   232 #define GST_CAT_PARENTAGE        NULL
   191 #define GST_CAT_STATES           NULL
   233 #define GST_CAT_STATES           NULL
   192 #define GST_CAT_SCHEDULING       NULL
   234 #define GST_CAT_SCHEDULING       NULL
   193 #define GST_CAT_DATAFLOW         NULL
   235 #define GST_CAT_DATAFLOW         NULL
   194 #define GST_CAT_BUFFER           NULL
   236 #define GST_CAT_BUFFER           NULL
       
   237 #define GST_CAT_BUFFER_LIST      NULL
   195 #define GST_CAT_BUS              NULL
   238 #define GST_CAT_BUS              NULL
   196 #define GST_CAT_CAPS             NULL
   239 #define GST_CAT_CAPS             NULL
   197 #define GST_CAT_CLOCK            NULL
   240 #define GST_CAT_CLOCK            NULL
   198 #define GST_CAT_ELEMENT_PADS     NULL
   241 #define GST_CAT_ELEMENT_PADS     NULL
   199 #define GST_CAT_PADS             NULL
   242 #define GST_CAT_PADS             NULL
       
   243 #define GST_CAT_PERFORMANCE      NULL
   200 #define GST_CAT_PIPELINE         NULL
   244 #define GST_CAT_PIPELINE         NULL
   201 #define GST_CAT_PLUGIN_LOADING   NULL
   245 #define GST_CAT_PLUGIN_LOADING   NULL
   202 #define GST_CAT_PLUGIN_INFO      NULL
   246 #define GST_CAT_PLUGIN_INFO      NULL
   203 #define GST_CAT_PROPERTIES       NULL
   247 #define GST_CAT_PROPERTIES       NULL
   204 #define GST_CAT_XML              NULL
   248 #define GST_CAT_XML              NULL