diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2020-06-23 03:43:53 +0530 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2020-06-23 12:16:45 +0100 |
commit | 43174bfe1d3f41f0ae99963b71b55d93ced013c1 (patch) | |
tree | 9b7d5b339b0b25edc7e3d1b9917a6a9050d8aa84 /gst/gstregistry.c | |
parent | 63c1945695474a8706909a7277d45b5c5d0c0a92 (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.c | 15 |
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) { |