gst/gst.c: Create a registry if there is none also when the option for gst-disable-registry-update has been selected....

Original commit message from CVS:
* gst/gst.c:
Create a registry if there is none also when the option for
gst-disable-registry-update has been selected. Fixes #567002
This commit is contained in:
Stefan Kost 2009-01-08 13:41:19 +00:00
parent b8b0c80b29
commit 291c2822f8
2 changed files with 19 additions and 8 deletions

View file

@ -1,3 +1,9 @@
2009-01-08 Stefan Kost <ensonic@users.sf.net>
* gst/gst.c:
Create a registry if there is none also when the option for
gst-disable-registry-update has been selected. Fixes #567002
2009-01-06 Tim-Philipp Müller <tim.muller at collabora co uk> 2009-01-06 Tim-Philipp Müller <tim.muller at collabora co uk>
* gst/gst.c: (init_post): * gst/gst.c: (init_post):

View file

@ -903,6 +903,7 @@ ensure_current_registry (GError ** error)
gboolean ret = TRUE; gboolean ret = TRUE;
gboolean do_fork; gboolean do_fork;
gboolean do_update; gboolean do_update;
gboolean have_cache;
default_registry = gst_registry_get_default (); default_registry = gst_registry_get_default ();
registry_file = g_strdup (g_getenv ("GST_REGISTRY")); registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
@ -918,19 +919,23 @@ ensure_current_registry (GError ** error)
GST_INFO ("reading registry cache: %s", registry_file); GST_INFO ("reading registry cache: %s", registry_file);
#ifdef USE_BINARY_REGISTRY #ifdef USE_BINARY_REGISTRY
gst_registry_binary_read_cache (default_registry, registry_file); have_cache = gst_registry_binary_read_cache (default_registry, registry_file);
#else #else
gst_registry_xml_read_cache (default_registry, registry_file); have_cache = gst_registry_xml_read_cache (default_registry, registry_file);
#endif #endif
do_update = !_gst_disable_registry_update; if (have_cache) {
if (do_update) { do_update = !_gst_disable_registry_update;
const gchar *update_env; if (do_update) {
const gchar *update_env;
if ((update_env = g_getenv ("GST_REGISTRY_UPDATE"))) { if ((update_env = g_getenv ("GST_REGISTRY_UPDATE"))) {
/* do update for any value different from "no" */ /* do update for any value different from "no" */
do_update = (strcmp (update_env, "no") != 0); do_update = (strcmp (update_env, "no") != 0);
}
} }
} else {
do_update = TRUE;
} }
if (do_update) { if (do_update) {