#ifndef GST_DISABLE_REGISTRY
GList *_priv_gst_plugin_paths = NULL; /* for delayed processing in init_post */
+extern gboolean _priv_gst_disable_registry;
extern gboolean _priv_gst_disable_registry_update;
#endif
GST_INFO ("Using library installed in %s", libdir);
g_free (libdir);
+#ifndef GST_DISABLE_REGISTRY
+ {
+ const gchar *disable_registry;
+ if ((disable_registry = g_getenv ("GST_REGISTRY_DISABLE"))) {
+ _priv_gst_disable_registry = (strcmp (disable_registry, "yes") == 0);
+ }
+ }
+#endif
+
/* Print some basic system details if possible (OS/architecture) */
#ifdef HAVE_SYS_UTSNAME_H
{
break;
case ARG_PLUGIN_PATH:
#ifndef GST_DISABLE_REGISTRY
- split_and_iterate (arg, G_SEARCHPATH_SEPARATOR_S, add_path_func, NULL);
+ if (!_priv_gst_disable_registry)
+ split_and_iterate (arg, G_SEARCHPATH_SEPARATOR_S, add_path_func, NULL);
#endif /* GST_DISABLE_REGISTRY */
break;
case ARG_PLUGIN_LOAD:
break;
case ARG_REGISTRY_UPDATE_DISABLE:
#ifndef GST_DISABLE_REGISTRY
- _priv_gst_disable_registry_update = TRUE;
+ if (!_priv_gst_disable_registry)
+ _priv_gst_disable_registry_update = TRUE;
#endif
break;
case ARG_REGISTRY_FORK_DISABLE:
extern GSList *_priv_gst_preload_plugins;
#ifndef GST_DISABLE_REGISTRY
+/* Set to TRUE to disable registry, behaves similar to GST_DISABLE_REGISTRY */
+gboolean _priv_gst_disable_registry = FALSE;
/*set to TRUE when registry needn't to be updated */
gboolean _priv_gst_disable_registry_update = FALSE;
extern GList *_priv_gst_plugin_paths;
gboolean res;
#ifndef GST_DISABLE_REGISTRY
- GError *err = NULL;
+ if (!_priv_gst_disable_registry) {
+ GError *err = NULL;
- res = ensure_current_registry (&err);
- if (err) {
- GST_WARNING ("registry update failed: %s", err->message);
- g_error_free (err);
+ res = ensure_current_registry (&err);
+ if (err) {
+ GST_WARNING ("registry update failed: %s", err->message);
+ g_error_free (err);
+ } else {
+ GST_LOG ("registry update succeeded");
+ }
} else {
- GST_LOG ("registry update succeeded");
+ GST_INFO ("registry update disabled by environment");
+ res = TRUE;
}
#else