[vlc-devel] [PATCH] modules: on winstore we cannot save plugins.dat in the plugins folder

Rémi Denis-Courmont remi at remlab.net
Tue Sep 26 15:46:23 CEST 2017


Le 26 septembre 2017 15:16:35 GMT+03:00, Steve Lhomme <robux4 at videolabs.io> a écrit :
>We can save it in the config folder.
>---
> src/modules/bank.c | 18 ++++++++++++++++--
> 1 file changed, 16 insertions(+), 2 deletions(-)
>
>diff --git a/src/modules/bank.c b/src/modules/bank.c
>index 4cc0e9a74e..41b320f101 100644
>--- a/src/modules/bank.c
>+++ b/src/modules/bank.c
>@@ -398,6 +398,17 @@ static void AllocatePluginDir (module_bank_t
>*bank, unsigned maxdepth,
> static void AllocatePluginPath(vlc_object_t *obj, const char *path,
>                                cache_mode_t mode)
> {
>+    const char *cache_path;
>+#if VLC_WINSTORE_APP
>+    cache_path = config_GetUserDir(VLC_CONFIG_DIR);
>+    if (cache_path == NULL)
>+    {
>+        msg_Warn(obj, "no suitable storage path for the plugins
>cache");
>+        return;
>+    }
>+#else
>+    cache_path = path;
>+#endif
>     module_bank_t bank =
>     {
>         .obj = obj,
>@@ -406,7 +417,7 @@ static void AllocatePluginPath(vlc_object_t *obj,
>const char *path,
>     };
> 
>     if (mode & CACHE_READ_FILE)
>-        bank.cache = vlc_cache_load(obj, path, &modules.caches);
>+        bank.cache = vlc_cache_load(obj, cache_path, &modules.caches);
>     else
>         msg_Dbg(bank.obj, "ignoring plugins cache file");
> 
>@@ -431,7 +442,10 @@ static void AllocatePluginPath(vlc_object_t *obj,
>const char *path,
>     }
> 
>     if (mode & CACHE_WRITE_FILE)
>-        CacheSave(obj, path, bank.plugins, bank.size);
>+        CacheSave(obj, cache_path, bank.plugins, bank.size);
>+#if VLC_WINSTORE_APP
>+    free((char*)cache_path);
>+#endif
> 
>     free(bank.plugins);
> }
>-- 
>2.12.1
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel

Well I don't really see why. The plugins and their cache should have the same permissions and lifetime, i.e. change only during (un)installation.

Generating the cache at run-time is a legacy hack that will be killed eventually.
-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.


More information about the vlc-devel mailing list