From: Sebastian Dröge Date: Tue, 10 Nov 2009 17:03:43 +0000 (+0100) Subject: registry: API: Add gst_{default,}_registry_get_feature_list_cookie() X-Git-Tag: RELEASE-0.10.26~193 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=039ef8352387646434f537138007797ac02c325c;p=platform%2Fupstream%2Fgstreamer.git registry: API: Add gst_{default,}_registry_get_feature_list_cookie() This returns the internal feature list cookie, which changes every time a feature is added or removed. This can be used by elements to check if they should update their cached feature lists. --- diff --git a/docs/gst/gstreamer-sections.txt b/docs/gst/gstreamer-sections.txt index 293bc61..9de1399 100644 --- a/docs/gst/gstreamer-sections.txt +++ b/docs/gst/gstreamer-sections.txt @@ -1945,6 +1945,7 @@ gst_buffering_mode_get_type GstRegistry gst_registry_get_default gst_registry_get_feature_list +gst_registry_get_feature_list_cookie gst_registry_get_feature_list_by_plugin gst_registry_get_path_list gst_registry_get_plugin_list @@ -1972,6 +1973,7 @@ gst_default_registry_add_path gst_default_registry_find_plugin gst_default_registry_find_feature gst_default_registry_get_plugin_list +gst_default_registry_get_feature_list_cookie gst_default_registry_feature_filter GstRegistryClass diff --git a/gst/gstregistry.c b/gst/gstregistry.c index 56f4744..b63d886 100644 --- a/gst/gstregistry.c +++ b/gst/gstregistry.c @@ -1653,3 +1653,21 @@ gst_update_registry (void) return res; } + +/** + * gst_registry_get_feature_list_cookie: + * + * Returns the 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 + */ +guint32 +gst_registry_get_feature_list_cookie (GstRegistry * registry) +{ + g_return_val_if_fail (GST_IS_REGISTRY (registry), 0); + + return registry->priv->cookie; +} diff --git a/gst/gstregistry.h b/gst/gstregistry.h index e740bf4..dee501b 100644 --- a/gst/gstregistry.h +++ b/gst/gstregistry.h @@ -107,6 +107,7 @@ GList* gst_registry_feature_filter (GstRegistry *registry, GList * gst_registry_get_feature_list (GstRegistry *registry, GType type); GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name); +guint32 gst_registry_get_feature_list_cookie (GstRegistry *registry); GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name); GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type); @@ -204,6 +205,19 @@ gboolean gst_registry_xml_write_cache (GstRegistry * registry, const char *lo #define gst_default_registry_feature_filter(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 gchar *feature_name, guint min_major, guint min_minor, diff --git a/win32/common/libgstreamer.def b/win32/common/libgstreamer.def index 7156163..c9e5069 100644 --- a/win32/common/libgstreamer.def +++ b/win32/common/libgstreamer.def @@ -827,6 +827,7 @@ EXPORTS gst_registry_get_default gst_registry_get_feature_list gst_registry_get_feature_list_by_plugin + gst_registry_get_feature_list_cookie gst_registry_get_path_list gst_registry_get_plugin_list gst_registry_get_type