summaryrefslogtreecommitdiff
path: root/mkvlib
diff options
context:
space:
mode:
Diffstat (limited to 'mkvlib')
-rw-r--r--mkvlib/c/README.md4
-rw-r--r--mkvlib/c/exports.go8
-rw-r--r--mkvlib/c/sdk.cs7
-rw-r--r--mkvlib/c/sdk.py5
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):