wang-bin / mdk-sdk

multimedia development kit. download:
https://sourceforge.net/projects/mdk-sdk/files/
270 stars 32 forks source link

[Android]: SetGlobalOption("subtitles.fonts.dir", ...) does not work #233

Closed sbenmeddour closed 1 week ago

sbenmeddour commented 1 month ago

Describe the bug Set global option with "subtitle.fonts.file" is working fine, but "subtitles.fonts.dir" isn't working Mdk seems to correctly find the files, but not libass

To Reproduce mdk::SetGlobalOption("subtitles.fonts.dir", value);

I tried with java File path, asset path, no difference

Expected behavior Libass should try to use the provided dir, but it seems it searchs in /system/fonts dir

Environment:

Log

07:01:01.067 mdk-log                  I  [level=3, message=0.29.0 (git 0a3bd27) - Multimedia Development Kit. Copyright (c) 2016-2024 WangBin(QtAV author) <wbsecg1 at gmail.com>
                                         Build for: Android21/32 4KB ARMv8 AArch64; libc++170000; Clang17.0.2 (https://android.googlesource.com/toolchain/llvm-project d9f89f4d16663d5012e5c09495f3b30ece3d2362) NDK26.3.11579264; 12:06:38 Jul 21 2024

                                         ]
07:01:01.067 mdk-log                  I  [level=4, message=global option: subtitle.fonts.dir = /data/user/0/fr.dcs.mdk/files/fonts
07:01:02.313 mdk-log                  I  [level=4, message=Loaded libass runtime: libass.so
                                         ]
07:01:02.313 mdk-log                  I  [level=4, message=[ass] libass API version: 0x1702000]
07:01:02.313 mdk-log                  I  [level=4, message=[ass] libass source: commit: unknown. 0.17.2]
07:01:02.313 mdk-log                  I  [level=4, message=[ass] Shaper: FriBidi 1.0.13 (SIMPLE) HarfBuzz-ng 9.0.0 (COMPLEX)]
07:01:02.316 mdk-log                  I  [level=4, message=[ass] Loading font file '/data/user/0/fr.dcs.mdk/files/fonts/NotoSansArabic-Regular.ttf']
07:01:02.316 mdk-log                  I  [level=4, message=[ass] Loading font file '/data/user/0/fr.dcs.mdk/files/fonts/Roboto-Regular.ttf']
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                   '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.317 libass                   E  Error opening system font at '/system/fonts/Roboto-Regular.ttf
                                                 '
07:01:02.318 libass                   E  Error opening system font at '/system/fonts/DancingScript-Regular.ttf
                                                 '
07:01:02.322 mdk-log                  I  [level=4, message=[ass] Using font provider androidfonts]
07:01:02.322 mdk-log                  I  [level=4, message=0x7ad1a19d20 prepared callback is invoked
});

Crash use lldb, gdb, visual studio to show the call stack.

wang-bin commented 1 month ago

07:01:02.316 mdk-log I [level=4, message=[ass] Loading font file '/data/user/0/fr.dcs.mdk/files/fonts/NotoSansArabic-Regular.ttf'] 07:01:02.316 mdk-log I [level=4, message=[ass] Loading font file '/data/user/0/fr.dcs.mdk/files/fonts/Roboto-Regular.ttf']

it's libass log, font files are loaded

wang-bin commented 1 month ago

The libass.so in the sdk is a patched version, it does not support fontconfig. You can extract libass.so from kodi and try that one