*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_REGISTRYCHUNKS_H__
#define __GST_REGISTRYCHUNKS_H__
/*
* we reference strings directly from the plugins and in this case set CONST to
- * avoid freeing them
+ * avoid freeing them. If g_free() should be used, the MALLOC flag is set,
+ * otherwise g_slice_free1() will be used!
*/
enum {
GST_REGISTRY_CHUNK_FLAG_NONE = 0,
- GST_REGISTRY_CHUNK_FLAG_CONST = 1
+ GST_REGISTRY_CHUNK_FLAG_CONST = 1,
+ GST_REGISTRY_CHUNK_FLAG_MALLOC = 2,
};
/*
gboolean align;
} GstRegistryChunk;
+typedef struct _GstRegistryChunkGlobalHeader
+{
+ guint32 filter_env_hash;
+} GstRegistryChunkGlobalHeader;
+
/*
* GstRegistryChunkPluginElement:
*
* GstRegistryChunkTypeFindFactory:
* @nextensions: stores the number of typefind extensions
*
- * A structure containing the element factory fields
+ * A structure containing the type find factory fields
*/
typedef struct _GstRegistryChunkTypeFindFactory
{
} GstRegistryChunkTypeFindFactory;
/*
+ * GstRegistryChunkDeviceProviderFactory:
+ *
+ * A structure containing the device provider factory fields
+ */
+typedef struct _GstRegistryChunkDeviceProviderFactory
+{
+ GstRegistryChunkPluginFeature plugin_feature;
+
+} GstRegistryChunkDeviceProviderFactory;
+
+/*
+ * GstRegistryChunkDynamicTypeFactory:
+ *
+ * A structure containing the dynamic type factory flags field
+ */
+typedef struct _GstRegistryChunkDynamicTypeFactory
+{
+ GstRegistryChunkPluginFeature plugin_feature;
+
+ guint type_flags;
+} GstRegistryChunkDynamicTypeFactory;
+
+/*
* GstRegistryChunkPadTemplate:
*
* A structure containing the static pad templates of a plugin feature
_priv_gst_registry_chunks_load_plugin (GstRegistry * registry, gchar ** in,
gchar *end, GstPlugin **out_plugin);
+void
+_priv_gst_registry_chunks_save_global_header (GList ** list,
+ GstRegistry * registry, guint32 filter_env_hash);
+
+gboolean
+_priv_gst_registry_chunks_load_global_header (GstRegistry * registry,
+ gchar ** in, gchar *end, guint32 * filter_env_hash);
+
+void
+_priv_gst_registry_chunk_free (GstRegistryChunk *chunk);
+
G_END_DECLS
#endif /* __GST_REGISTRYCHUNKS_H__ */