summaryrefslogtreecommitdiff
path: root/src/xine-engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine')
-rw-r--r--src/xine-engine/load_plugins.c3
-rw-r--r--src/xine-engine/xine.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index 8189592ba..c86cc5f6e 100644
--- a/src/xine-engine/load_plugins.c
+++ b/src/xine-engine/load_plugins.c
@@ -1326,7 +1326,8 @@ void _x_scan_plugins (xine_t *this) {
load_required_plugins (this);
- XINE_PROFILE(save_catalog (this));
+ if ((_x_flags & XINE_FLAG_NO_WRITE_CACHE) == 0)
+ XINE_PROFILE(save_catalog (this));
map_decoders (this);
}
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c
index 2a67d89b5..9a7e28a7f 100644
--- a/src/xine-engine/xine.c
+++ b/src/xine-engine/xine.c
@@ -83,6 +83,10 @@
#include "xine_private.h"
+/* FIXME-ABI Global variable. Done this way for ABI & API reasons... */
+int _x_flags = 0;
+
+
static void mutex_cleanup (void *mutex) {
pthread_mutex_unlock ((pthread_mutex_t *) mutex);
}
@@ -1742,6 +1746,12 @@ static void config_save_cb (void *this_gen, xine_cfg_entry_t *entry) {
this->save_path = entry->str_value;
}
+void xine_set_flags (xine_t *this, int flags)
+{
+ this = this; /* FIXME-ABI: one day, these will be in xine_t...? */
+ _x_flags = flags;
+}
+
void xine_init (xine_t *this) {
static const char *const demux_strategies[] = {"default", "reverse", "content",
"extension", NULL};