+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>
* gst/gst.c: (init_post):
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"));
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) {