From 7bee3a8ef3671ae432296ee3c47b0fe63a4f1716 Mon Sep 17 00:00:00 2001 From: ShirosakiMio <852468399@qq.com> Date: Fri, 12 Apr 2024 13:45:05 +0800 Subject: [PATCH] add support for ffmpeg plugin --- FCL/src/main/AndroidManifest.xml | 4 +++- .../com/tungsten/fclauncher/FCLauncher.java | 5 ++++- .../fclauncher/plugins/FFmpegPlugin.java | 21 +++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 FCLauncher/src/main/java/com/tungsten/fclauncher/plugins/FFmpegPlugin.java diff --git a/FCL/src/main/AndroidManifest.xml b/FCL/src/main/AndroidManifest.xml index 557bba34..4ae00910 100644 --- a/FCL/src/main/AndroidManifest.xml +++ b/FCL/src/main/AndroidManifest.xml @@ -126,5 +126,7 @@ android:resource="@xml/provider_paths"/> - + + + \ No newline at end of file diff --git a/FCLauncher/src/main/java/com/tungsten/fclauncher/FCLauncher.java b/FCLauncher/src/main/java/com/tungsten/fclauncher/FCLauncher.java index 7b0fbe2d..f424606a 100644 --- a/FCLauncher/src/main/java/com/tungsten/fclauncher/FCLauncher.java +++ b/FCLauncher/src/main/java/com/tungsten/fclauncher/FCLauncher.java @@ -9,6 +9,7 @@ import android.util.ArrayMap; import com.jaredrummler.android.device.DeviceName; import com.tungsten.fclauncher.bridge.FCLBridge; +import com.tungsten.fclauncher.plugins.FFmpegPlugin; import com.tungsten.fclauncher.utils.Architecture; import java.io.BufferedReader; @@ -110,7 +111,8 @@ public class FCLauncher { "/hw" + split + - nativeDir; + nativeDir + + (FFmpegPlugin.isAvailable ? split + FFmpegPlugin.libraryPath : ""); } private static String[] rebaseArgs(FCLConfig config) throws IOException { @@ -224,6 +226,7 @@ public class FCLauncher { } private static void launch(FCLConfig config, FCLBridge bridge, String task) throws IOException { + FFmpegPlugin.discover(config.getContext()); printTaskTitle(bridge, task + " Arguments"); String[] args = rebaseArgs(config); boolean javaArgs = true; diff --git a/FCLauncher/src/main/java/com/tungsten/fclauncher/plugins/FFmpegPlugin.java b/FCLauncher/src/main/java/com/tungsten/fclauncher/plugins/FFmpegPlugin.java new file mode 100644 index 00000000..24c30132 --- /dev/null +++ b/FCLauncher/src/main/java/com/tungsten/fclauncher/plugins/FFmpegPlugin.java @@ -0,0 +1,21 @@ +package com.tungsten.fclauncher.plugins; + +import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.util.Log; + +public class FFmpegPlugin { + public static boolean isAvailable = false; + public static String libraryPath; + public static void discover(Context context) { + PackageManager manager = context.getPackageManager(); + try { + PackageInfo ffmpegPluginInfo = manager.getPackageInfo("net.kdt.pojavlaunch.ffmpeg", PackageManager.GET_SHARED_LIBRARY_FILES); + libraryPath = ffmpegPluginInfo.applicationInfo.nativeLibraryDir; + isAvailable = true; + }catch (Exception e) { + Log.i("FFmpegPlugin", "Failed to discover plugin", e); + } + } +}