summaryrefslogtreecommitdiff
path: root/gst/gstregistry.c
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2020-06-23 03:43:53 +0530
committerTim-Philipp Müller <tim@centricular.com>2020-06-23 12:16:45 +0100
commit43174bfe1d3f41f0ae99963b71b55d93ced013c1 (patch)
tree9b7d5b339b0b25edc7e3d1b9917a6a9050d8aa84 /gst/gstregistry.c
parent63c1945695474a8706909a7277d45b5c5d0c0a92 (diff)
registry: Use a toolchain-specific registry file on Windows
If we load a plugin registry for MinGW plugins when running with MSVC, we will have to write out the whole cache again, and vice-versa. Just use separate cache files so that the cache is actually useful. Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/427 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/542>
Diffstat (limited to 'gst/gstregistry.c')
-rw-r--r--gst/gstregistry.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gst/gstregistry.c b/gst/gstregistry.c
index 7ed85d77e2..3ef4d8642a 100644
--- a/gst/gstregistry.c
+++ b/gst/gstregistry.c
@@ -122,6 +122,19 @@
extern HMODULE _priv_gst_dll_handle;
#endif
+/* Use a toolchain-dependent suffix on Windows */
+#ifdef G_OS_WIN32
+# ifdef _MSC_VER
+# define GST_REGISTRY_FILE_SUFFIX TARGET_CPU "-msvc"
+# else
+# define GST_REGISTRY_FILE_SUFFIX TARGET_CPU "-mingw"
+# endif
+#else
+# define GST_REGISTRY_FILE_SUFFIX TARGET_CPU
+#endif
+#define GST_REGISTRY_FILE_NAME "registry." GST_REGISTRY_FILE_SUFFIX ".bin"
+
+
#define GST_CAT_DEFAULT GST_CAT_REGISTRY
struct _GstRegistryPrivate
@@ -1735,7 +1748,7 @@ ensure_current_registry (GError ** error)
registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
if (registry_file == NULL) {
registry_file = g_build_filename (g_get_user_cache_dir (),
- "gstreamer-" GST_API_VERSION, "registry." TARGET_CPU ".bin", NULL);
+ "gstreamer-" GST_API_VERSION, GST_REGISTRY_FILE_NAME, NULL);
}
if (!_gst_disable_registry_cache) {