gstregistry.h | gstregistry.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
* | * | |||
* You should have received a copy of the GNU Library General Public | * You should have received a copy of the GNU Library General Public | |||
* License along with this library; if not, write to the | * License along with this library; if not, write to the | |||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, | * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |||
* Boston, MA 02111-1307, USA. | * Boston, MA 02111-1307, USA. | |||
*/ | */ | |||
#ifndef __GST_REGISTRY_H__ | #ifndef __GST_REGISTRY_H__ | |||
#define __GST_REGISTRY_H__ | #define __GST_REGISTRY_H__ | |||
#include <stdio.h> /* FIXME: because of cache_file below */ | ||||
#include <gst/gstconfig.h> | #include <gst/gstconfig.h> | |||
#include <gst/gstplugin.h> | #include <gst/gstplugin.h> | |||
#include <gst/gstpluginfeature.h> | #include <gst/gstpluginfeature.h> | |||
G_BEGIN_DECLS | G_BEGIN_DECLS | |||
#define GST_TYPE_REGISTRY (gst_registry_get_type ()) | #define GST_TYPE_REGISTRY (gst_registry_get_type ()) | |||
#define GST_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_REGISTRY, GstRegistry)) | #define GST_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_REGISTRY, GstRegistry)) | |||
#define GST_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_REGISTRY)) | #define GST_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_REGISTRY)) | |||
#define GST_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G ST_TYPE_REGISTRY, GstRegistryClass)) | #define GST_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G ST_TYPE_REGISTRY, GstRegistryClass)) | |||
#define GST_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G ST_TYPE_REGISTRY)) | #define GST_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G ST_TYPE_REGISTRY)) | |||
#define GST_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G ST_TYPE_REGISTRY, GstRegistryClass)) | #define GST_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G ST_TYPE_REGISTRY, GstRegistryClass)) | |||
typedef struct _GstRegistry GstRegistry; | typedef struct _GstRegistry GstRegistry; | |||
typedef struct _GstRegistryClass GstRegistryClass; | typedef struct _GstRegistryClass GstRegistryClass; | |||
typedef struct _GstRegistryPrivate GstRegistryPrivate; | ||||
/** | /** | |||
* GstRegistry: | * GstRegistry: | |||
* | * | |||
* Opaque #GstRegistry structure. | * Opaque #GstRegistry structure. | |||
*/ | */ | |||
struct _GstRegistry { | struct _GstRegistry { | |||
GstObject object; | GstObject object; | |||
/*< private >*/ | /*< private >*/ | |||
GList *plugins; | GList *plugins; | |||
GList *features; | GList *features; | |||
GList *paths; | GList *paths; | |||
/* FIXME move these elsewhere */ | /* FIXME move these elsewhere */ | |||
int cache_file; | int cache_file; | |||
/* hash to speedup _lookup_feature_locked() */ | /* hash to speedup _lookup_feature_locked() */ | |||
GHashTable *feature_hash; | GHashTable *feature_hash; | |||
/* hash to speedup _lookup */ | ||||
GHashTable *basename_hash; | ||||
GstRegistryPrivate *priv; | ||||
/*< private >*/ | /*< private >*/ | |||
gpointer _gst_reserved[GST_PADDING-1]; | gpointer _gst_reserved[GST_PADDING-3]; | |||
}; | }; | |||
struct _GstRegistryClass { | struct _GstRegistryClass { | |||
GstObjectClass parent_class; | GstObjectClass parent_class; | |||
/* signals */ | /* signals */ | |||
void (*plugin_added) (GstRegistry *regist ry, GstPlugin *plugin); | void (*plugin_added) (GstRegistry *regist ry, GstPlugin *plugin); | |||
void (*feature_added) (GstRegistry *regist ry, GstPluginFeature *feature); | void (*feature_added) (GstRegistry *regist ry, GstPluginFeature *feature); | |||
/*< private >*/ | /*< private >*/ | |||
skipping to change at line 104 | skipping to change at line 108 | |||
GstPluginFilter fil ter, | GstPluginFilter fil ter, | |||
gboolean first, | gboolean first, | |||
gpointer user_data) ; | gpointer user_data) ; | |||
GList* gst_registry_feature_filter (GstRegistry *regist ry, | GList* gst_registry_feature_filter (GstRegistry *regist ry, | |||
GstPluginFeatureFil ter filter, | GstPluginFeatureFil ter filter, | |||
gboolean first, | gboolean first, | |||
gpointer user_data) ; | gpointer user_data) ; | |||
GList * gst_registry_get_feature_list (GstRegistry *regis try, | GList * gst_registry_get_feature_list (GstRegistry *regis try, | |||
GType type); | GType type); | |||
GList * gst_registry_get_feature_list_by_plugin (GstRegistr y *registry, const gchar *name); | GList * gst_registry_get_feature_list_by_plugin (GstRegistr y *registry, const gchar *name); | |||
guint32 gst_registry_get_feature_list_cookie (GstRegistry * registry); | ||||
GstPlugin* gst_registry_find_plugin (GstRegistry *regist ry, const gchar *name); | GstPlugin* gst_registry_find_plugin (GstRegistry *regist ry, const gchar *name); | |||
GstPluginFeature* gst_registry_find_feature (GstRegistry *regist ry, const gchar *name, GType type); | GstPluginFeature* gst_registry_find_feature (GstRegistry *regist ry, const gchar *name, GType type); | |||
GstPlugin * gst_registry_lookup (GstRegistry *regist ry, const char *filename); | GstPlugin * gst_registry_lookup (GstRegistry *regist ry, const char *filename); | |||
GstPluginFeature * gst_registry_lookup_feature (GstRegistry *regist ry, const char *name); | GstPluginFeature * gst_registry_lookup_feature (GstRegistry *regist ry, const char *name); | |||
/* FIXME 0.11: do we really want to export these? (If yes, we should add a | /* These are only here because at some point they were in a public header | |||
GError argument) */ | * (even though they should have been private) and we can't really remove | |||
* them now (FIXME: 0.11). They don't do anything other than return FALSE. | ||||
*/ | ||||
#ifndef GST_DISABLE_DEPRECATED | ||||
gboolean gst_registry_xml_read_cache (GstRegistry * regis try, const char *location); | gboolean gst_registry_xml_read_cache (GstRegistry * regis try, const char *location); | |||
gboolean gst_registry_xml_write_cache (GstRegistry * regis try, const char *location); | gboolean gst_registry_xml_write_cache (GstRegistry * regis try, const char *location); | |||
#endif | ||||
/* convinience defines for the default registry */ | /* convinience defines for the default registry */ | |||
/** | /** | |||
* gst_default_registry_add_plugin: | * gst_default_registry_add_plugin: | |||
* @plugin: the plugin to add | * @plugin: (transfer full): the plugin to add | |||
* | * | |||
* Add the plugin to the default registry. | * Add the plugin to the default registry. | |||
* The plugin-added signal will be emitted. | * The plugin-added signal will be emitted. | |||
* | * | |||
* Returns: TRUE on success. | * Returns: TRUE on success. | |||
*/ | */ | |||
#define gst_default_registry_add_plugin(plugin) \ | #define gst_default_registry_add_plugin(plugin) \ | |||
gst_registry_add_plugin (gst_registry_get_default(), plugin) | gst_registry_add_plugin (gst_registry_get_default(), plugin) | |||
/** | /** | |||
skipping to change at line 145 | skipping to change at line 154 | |||
* added, do nothing. | * added, do nothing. | |||
*/ | */ | |||
#define gst_default_registry_add_path(path) \ | #define gst_default_registry_add_path(path) \ | |||
gst_registry_add_path (gst_registry_get_default(), path) | gst_registry_add_path (gst_registry_get_default(), path) | |||
/** | /** | |||
* gst_default_registry_get_path_list: | * gst_default_registry_get_path_list: | |||
* | * | |||
* Get the list of paths for the default registry. | * Get the list of paths for the default registry. | |||
* | * | |||
* Returns: A Glist of paths as strings. g_list_free after use. | * Returns: (transfer container) (element-type char*): a #GList of paths as | |||
* strings. g_list_free() after use. | ||||
*/ | */ | |||
#define gst_default_registry_get_path_list() \ | #define gst_default_registry_get_path_list() \ | |||
gst_registry_get_path_list (gst_registry_get_default()) | gst_registry_get_path_list (gst_registry_get_default()) | |||
/** | /** | |||
* gst_default_registry_get_plugin_list: | * gst_default_registry_get_plugin_list: | |||
* | * | |||
* Get a copy of all plugins registered in the default registry. | * Get a copy of all plugins registered in the default registry. | |||
* | * | |||
* Returns: a copy of the list. Free after use. | * Returns: (transfer full) (element-type Gst.Plugin): a copy of the list. | |||
* Free after use. | ||||
*/ | */ | |||
#define gst_default_registry_get_plugin_list() \ | #define gst_default_registry_get_plugin_list() \ | |||
gst_registry_get_plugin_list (gst_registry_get_default()) | gst_registry_get_plugin_list (gst_registry_get_default()) | |||
/** | /** | |||
* gst_default_registry_find_feature: | * gst_default_registry_find_feature: | |||
* @name: the pluginfeature name to find | * @name: the pluginfeature name to find | |||
* @type: the pluginfeature type to find | * @type: the pluginfeature type to find | |||
* | * | |||
* Find the pluginfeature with the given name and type in the default regis try. | * Find the pluginfeature with the given name and type in the default regis try. | |||
* | * | |||
* Returns: The pluginfeature with the given name and type or NULL | * Returns: (transfer full): the pluginfeature with the given name and type | |||
* if the plugin was not found. | or | |||
* NULL if the plugin was not found. | ||||
*/ | */ | |||
#define gst_default_registry_find_feature(name,type) \ | #define gst_default_registry_find_feature(name,type) \ | |||
gst_registry_find_feature (gst_registry_get_default(),name,type) | gst_registry_find_feature (gst_registry_get_default(),name,type) | |||
/** | /** | |||
* gst_default_registry_find_plugin: | * gst_default_registry_find_plugin: | |||
* @name: the plugin name to find | * @name: the plugin name to find | |||
* | * | |||
* Find the plugin with the given name in the default registry. | * Find the plugin with the given name in the default registry. | |||
* The plugin will be reffed; caller is responsible for unreffing. | * The plugin will be reffed; caller is responsible for unreffing. | |||
* | * | |||
* Returns: The plugin with the given name or NULL if the plugin was not fo | * Returns: (transfer full): The plugin with the given name or NULL if the | |||
und. | * plugin was not found. | |||
*/ | */ | |||
#define gst_default_registry_find_plugin(name) \ | #define gst_default_registry_find_plugin(name) \ | |||
gst_registry_find_plugin (gst_registry_get_default(),name) | gst_registry_find_plugin (gst_registry_get_default(),name) | |||
/** | /** | |||
* gst_default_registry_feature_filter: | * gst_default_registry_feature_filter: | |||
* @filter: the filter to use | * @filter: the filter to use | |||
* @first: only return first match | * @first: only return first match | |||
* @user_data: user data passed to the filter function | * @user_data: user data passed to the filter function | |||
* | * | |||
* Runs a filter against all features of the plugins in the default registr y | * Runs a filter against all features of the plugins in the default registr y | |||
* and returns a GList with the results. | * and returns a GList with the results. | |||
* If the first flag is set, only the first match is | * If the first flag is set, only the first match is | |||
* returned (as a list with a single object). | * returned (as a list with a single object). | |||
* | * | |||
* Returns: a GList of plugin features, gst_plugin_feature_list_free after | * Returns: (transfer full) (element-type Gst.PluginFeature): a #GList of | |||
use. | * plugin features, gst_plugin_feature_list_free after use. | |||
*/ | */ | |||
#define gst_default_registry_feature_filter(filter,first,user_data) \ | #define gst_default_registry_feature_filter(filter,first,user_data) \ | |||
gst_registry_feature_filter (gst_registry_get_default(),filter,first,user _data) | gst_registry_feature_filter (gst_registry_get_default(),filter,first,user _data) | |||
/** | ||||
* gst_default_registry_get_feature_list_cookie: | ||||
* | ||||
* Returns the default registrys feature list cookie. This changes | ||||
* every time a feature is added or removed from the registry. | ||||
* | ||||
* Returns: the feature list cookie. | ||||
* | ||||
* Since: 0.10.26 | ||||
*/ | ||||
#define gst_default_registry_get_feature_list_cookie() \ | ||||
gst_registry_get_feature_list_cookie (gst_registry_get_default()) | ||||
gboolean gst_default_registry_check_feature_version (const g char *feature_name, | gboolean gst_default_registry_check_feature_version (const g char *feature_name, | |||
guint min_major, | guint min_major, | |||
guint min_minor, | guint min_minor, | |||
guint min_micro); | guint min_micro); | |||
G_END_DECLS | G_END_DECLS | |||
#endif /* __GST_REGISTRY_H__ */ | #endif /* __GST_REGISTRY_H__ */ | |||
End of changes. 14 change blocks. | ||||
13 lines changed or deleted | 38 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |