diff options
Diffstat (limited to 'mkvlib/c')
| -rw-r--r-- | mkvlib/c/README.md | 4 | ||||
| -rw-r--r-- | mkvlib/c/exports.go | 8 | ||||
| -rw-r--r-- | mkvlib/c/sdk.cs | 7 | ||||
| -rw-r--r-- | mkvlib/c/sdk.py | 5 |
4 files changed, 15 insertions, 9 deletions
diff --git a/mkvlib/c/README.md b/mkvlib/c/README.md index 1cd976f..873a992 100644 --- a/mkvlib/c/README.md +++ b/mkvlib/c/README.md @@ -45,9 +45,9 @@ ### 缓存相关 - ```c - void Cache(char* p); + void Cache(char* ccs); //设置字体缓存(应在执行工作流之前调用) - //p: 缓存文件路径 + //p: 包含缓存文件路径的json化文本 ``` - ```c char* CreateFontsCache(char* dir, char* output, logCallback lcb); diff --git a/mkvlib/c/exports.go b/mkvlib/c/exports.go index 6652a0d..c728b69 100644 --- a/mkvlib/c/exports.go +++ b/mkvlib/c/exports.go @@ -160,11 +160,15 @@ func CopyFontsFromCache(subs, dist *C.char, lcb C.logCallback) bool { } //export Cache -func Cache(p *C.char) { +func Cache(ccs *C.char) { if !checkInstance() { return } - getter.GetProcessorInstance().Cache(gs(p)) + obj := make([]string, 0) + if json.Unmarshal([]byte(gs(ccs)), &obj) == nil { + _ccs := obj + getter.GetProcessorInstance().Cache(_ccs) + } } //export MKS diff --git a/mkvlib/c/sdk.cs b/mkvlib/c/sdk.cs index a9b5859..1958ae1 100644 --- a/mkvlib/c/sdk.cs +++ b/mkvlib/c/sdk.cs @@ -44,7 +44,7 @@ public static class mkvlib static extern IntPtr GetFontsList(IntPtr dir, logCallback lcb); [DllImport("mkvlib.so")] - static extern void Cache(IntPtr p); + static extern void Cache(IntPtr ccs); [DllImport("mkvlib.so")] static extern void MKS(bool mks); @@ -133,9 +133,10 @@ public static class mkvlib return JsonSerializer.Deserialize<string[]>(result); } - public static void Cache(string p) + public static void Cache(string[] ccs) { - Cache(cs(p)); + string _ccs = JsonSerializer.Serialize<string[]>(ccs); + Cache(cs(_ccs)); } public static void MKS(bool mks) diff --git a/mkvlib/c/sdk.py b/mkvlib/c/sdk.py index 06d4802..f9da485 100644 --- a/mkvlib/c/sdk.py +++ b/mkvlib/c/sdk.py @@ -79,9 +79,10 @@ def getFontsList(dir, lcb): return loads(call(dir.encode(), lcb).decode()) -def cache(p): +def cache(ccs): call = lib.Cache - call(p.encode()) + _ccs = dumps(ccs) + call(_ccs.encode()) def createFontsCache(dir, output, lcb): |
