Merge branch '0.10'
[platform/upstream/gstreamer.git] / gst / gst_private.h
index acc437d..19f02d3 100644 (file)
@@ -54,6 +54,9 @@ extern const char             g_log_domain_gstreamer[];
 /* for GstElement */
 #include "gstelement.h"
 
+/* for GstToc */
+#include "gsttoc.h"
+
 G_BEGIN_DECLS
 
 /* used by gstparse.c and grammar.y */
@@ -79,6 +82,7 @@ struct _GstPluginPrivate {
   GstStructure *cache_data;
 };
 
+/* FIXME: could rename all priv_gst_* functions to __gst_* now */
 gboolean priv_gst_plugin_loading_have_whitelist (void);
 
 guint32  priv_gst_plugin_loading_get_whitelist_hash (void);
@@ -91,33 +95,40 @@ gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
 
 gboolean _priv_gst_in_valgrind (void);
 
-/* Initialize GStreamer private quark storage */
-void _priv_gst_quarks_initialize (void);
-
-/* Other init functions called from gst_init().
- * FIXME 0.11: rename to _priv_gst_foo_init() so they don't get exported
- * (can't do this now because these functions used to be in our public
- * headers, so at least the symbols need to continue to be available unless
- * we want enterprise edition packagers dancing on our heads) */
-void  _gst_buffer_initialize (void);
-void  _gst_buffer_list_initialize (void);
-void  _gst_structure_initialize (void);
-void  _gst_caps_initialize (void);
-void  _gst_event_initialize (void);
-void  _gst_format_initialize (void);
-void  _gst_message_initialize (void);
-void  _gst_plugin_initialize (void);
-void  _gst_query_initialize (void);
-void  _gst_tag_initialize (void);
-void  _gst_value_initialize (void);
+/* init functions called from gst_init(). */
+void  _priv_gst_quarks_initialize (void);
+void  _priv_gst_mini_object_initialize (void);
+void  _priv_gst_buffer_initialize (void);
+void  _priv_gst_buffer_list_initialize (void);
+void  _priv_gst_structure_initialize (void);
+void  _priv_gst_caps_initialize (void);
+void  _priv_gst_event_initialize (void);
+void  _priv_gst_format_initialize (void);
+void  _priv_gst_message_initialize (void);
+void  _priv_gst_memory_initialize (void);
+void  _priv_gst_meta_initialize (void);
+void  _priv_gst_plugin_initialize (void);
+void  _priv_gst_query_initialize (void);
+void  _priv_gst_sample_initialize (void);
+void  _priv_gst_tag_initialize (void);
+void  _priv_gst_value_initialize (void);
+void  _priv_gst_debug_init (void);
+void  _priv_gst_toc_initialize (void);
+
+/* TOC functions */
+/* These functions are used to parse TOC messages, events and queries */
+GstToc*        __gst_toc_from_structure (const GstStructure *toc);
+GstStructure*  __gst_toc_to_structure (const GstToc *toc);
+gboolean       __gst_toc_structure_get_updated (const GstStructure * toc);
+void           __gst_toc_structure_set_updated (GstStructure * toc, gboolean updated);
+gchar*         __gst_toc_structure_get_extend_uid (const GstStructure * toc);
+void           __gst_toc_structure_set_extend_uid (GstStructure * toc, const gchar * extend_uid);
 
 /* Private registry functions */
 gboolean _priv_gst_registry_remove_cache_plugins (GstRegistry *registry);
 void _priv_gst_registry_cleanup (void);
 gboolean _gst_plugin_loader_client_run (void);
 
-void _priv_gst_pad_invalidate_cache (GstPad *pad);
-
 /* Used in GstBin for manual state handling */
 void _priv_gst_element_state_changed (GstElement *element, GstState oldstate,
     GstState newstate, GstState pending);
@@ -128,9 +139,14 @@ void _priv_gst_element_state_changed (GstElement *element, GstState oldstate,
 gboolean  priv_gst_structure_append_to_gstring (const GstStructure * structure,
                                                 GString            * s);
 /* registry cache backends */
-/* FIXME 0.11: use priv_ prefix */
-gboolean               gst_registry_binary_read_cache  (GstRegistry * registry, const char *location);
-gboolean               gst_registry_binary_write_cache (GstRegistry * registry, const char *location);
+gboolean               priv_gst_registry_binary_read_cache     (GstRegistry * registry, const char *location);
+gboolean               priv_gst_registry_binary_write_cache    (GstRegistry * registry, GList * plugins, const char *location);
+
+void      __gst_element_factory_add_static_pad_template (GstElementFactory    * elementfactory,
+                                                         GstStaticPadTemplate * templ);
+
+void      __gst_element_factory_add_interface           (GstElementFactory    * elementfactory,
+                                                         const gchar          * interfacename);
 
 /* used in gstvalue.c and gststructure.c */
 #define GST_ASCII_IS_STRING(c) (g_ascii_isalnum((c)) || ((c) == '_') || \
@@ -142,7 +158,7 @@ gint priv_gst_date_time_compare (gconstpointer dt1, gconstpointer dt2);
 
 #ifndef GST_DISABLE_REGISTRY
 /* Secret variable to initialise gst without registry cache */
-extern gboolean _gst_disable_registry_cache;
+GST_EXPORT gboolean _gst_disable_registry_cache;
 #endif
 
 /* provide inline gst_g_value_get_foo_unchecked(), used in gststructure.c */
@@ -168,8 +184,7 @@ DEFINE_INLINE_G_VALUE_GET_UNCHECKED(const gchar *,string,v_pointer)
 #ifndef GST_REMOVE_GST_DEBUG
 
 GST_EXPORT GstDebugCategory *GST_CAT_GST_INIT;
-GST_EXPORT GstDebugCategory *GST_CAT_AUTOPLUG; /* FIXME 0.11: remove? */
-GST_EXPORT GstDebugCategory *GST_CAT_AUTOPLUG_ATTEMPT; /* FIXME 0.11: remove? */
+GST_EXPORT GstDebugCategory *GST_CAT_MEMORY;
 GST_EXPORT GstDebugCategory *GST_CAT_PARENTAGE;
 GST_EXPORT GstDebugCategory *GST_CAT_STATES;
 GST_EXPORT GstDebugCategory *GST_CAT_SCHEDULING;
@@ -185,7 +200,6 @@ GST_EXPORT GstDebugCategory *GST_CAT_PIPELINE;
 GST_EXPORT GstDebugCategory *GST_CAT_PLUGIN_LOADING;
 GST_EXPORT GstDebugCategory *GST_CAT_PLUGIN_INFO;
 GST_EXPORT GstDebugCategory *GST_CAT_PROPERTIES;
-GST_EXPORT GstDebugCategory *GST_CAT_XML;
 GST_EXPORT GstDebugCategory *GST_CAT_NEGOTIATION;
 GST_EXPORT GstDebugCategory *GST_CAT_REFCOUNTING;
 GST_EXPORT GstDebugCategory *GST_CAT_ERROR_SYSTEM;
@@ -197,7 +211,7 @@ GST_EXPORT GstDebugCategory *GST_CAT_SIGNAL;
 GST_EXPORT GstDebugCategory *GST_CAT_PROBE;
 GST_EXPORT GstDebugCategory *GST_CAT_REGISTRY;
 GST_EXPORT GstDebugCategory *GST_CAT_QOS;
-GST_EXPORT GstDebugCategory *GST_CAT_TYPES; /* FIXME 0.11: remove? */
+GST_EXPORT GstDebugCategory *GST_CAT_META;
 
 /* Categories that should be completely private to
  * libgstreamer should be done like this: */
@@ -225,7 +239,6 @@ extern GstDebugCategory *_priv_GST_CAT_POLL;
 #define GST_CAT_PLUGIN_LOADING   NULL
 #define GST_CAT_PLUGIN_INFO      NULL
 #define GST_CAT_PROPERTIES       NULL
-#define GST_CAT_XML              NULL
 #define GST_CAT_NEGOTIATION      NULL
 #define GST_CAT_REFCOUNTING      NULL
 #define GST_CAT_ERROR_SYSTEM     NULL
@@ -239,6 +252,7 @@ extern GstDebugCategory *_priv_GST_CAT_POLL;
 #define GST_CAT_QOS              NULL
 #define GST_CAT_TYPES            NULL
 #define GST_CAT_POLL             NULL
+#define GST_CAT_META             NULL
 
 #endif