From 291c2822f898ea0fb42a434365fb04b96ae7b56e Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Thu, 8 Jan 2009 13:41:19 +0000 Subject: [PATCH] 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 --- ChangeLog | 6 ++++++ gst/gst.c | 21 +++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 588f247b9f..7673049615 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-01-08 Stefan Kost + + * 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 * gst/gst.c: (init_post): diff --git a/gst/gst.c b/gst/gst.c index 50710f4f68..ff18b0c6fa 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -903,6 +903,7 @@ ensure_current_registry (GError ** error) gboolean ret = TRUE; gboolean do_fork; gboolean do_update; + gboolean have_cache; default_registry = gst_registry_get_default (); 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); #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 - gst_registry_xml_read_cache (default_registry, registry_file); + have_cache = gst_registry_xml_read_cache (default_registry, registry_file); #endif - do_update = !_gst_disable_registry_update; - if (do_update) { - const gchar *update_env; + if (have_cache) { + do_update = !_gst_disable_registry_update; + if (do_update) { + const gchar *update_env; - if ((update_env = g_getenv ("GST_REGISTRY_UPDATE"))) { - /* do update for any value different from "no" */ - do_update = (strcmp (update_env, "no") != 0); + if ((update_env = g_getenv ("GST_REGISTRY_UPDATE"))) { + /* do update for any value different from "no" */ + do_update = (strcmp (update_env, "no") != 0); + } } + } else { + do_update = TRUE; } if (do_update) {