From d74c04ea888b62ab90fe136021f1fa544749487d Mon Sep 17 00:00:00 2001 From: lizzie Date: Thu, 28 May 2026 03:56:10 +0000 Subject: [PATCH] changes :) --- src/android/app/src/main/jni/CMakeLists.txt | 2 +- src/android/app/src/main/jni/native.cpp | 15 +++++++++++++++ src/common/android/id_cache.cpp | 7 ++++--- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt index c68e206d24..0d4483ba9b 100644 --- a/src/android/app/src/main/jni/CMakeLists.txt +++ b/src/android/app/src/main/jni/CMakeLists.txt @@ -27,7 +27,7 @@ if (ARCHITECTURE_arm64) target_link_libraries(yuzu-android PRIVATE adrenotools) endif() -target_link_libraries(yuzu-android PRIVATE OpenSSL::SSL cpp-jwt::cpp-jwt) +target_link_libraries(yuzu-android PRIVATE FFmpeg::FFmpeg OpenSSL::SSL cpp-jwt::cpp-jwt) if (ENABLE_UPDATE_CHECKER) target_compile_definitions(yuzu-android PUBLIC ENABLE_UPDATE_CHECKER) endif() diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index abfc428919..16d86c0547 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -36,6 +36,11 @@ #include #include +extern "C" { +// Required for FFmpeg mediacodec +#include +} + #include "common/android/multiplayer/multiplayer.h" #include "common/android/android_common.h" #include "common/android/id_cache.h" @@ -680,6 +685,16 @@ const char* fallback_cpu_detection() { } // namespace +// referenced by common +extern "C" { + +jint InitFFmpegOnLoad(JavaVM *vm) { + av_jni_set_java_vm(vm, NULL); + return 0; +} + +} + extern "C" { void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance, diff --git a/src/common/android/id_cache.cpp b/src/common/android/id_cache.cpp index 634d4b1b20..71fe9b1620 100644 --- a/src/common/android/id_cache.cpp +++ b/src/common/android/id_cache.cpp @@ -11,8 +11,6 @@ #include "video_core/rasterizer_interface.h" #include "common/android/multiplayer/multiplayer.h" #include -// Required for FFmpeg mediacodec -#include static JavaVM *s_java_vm; static jclass s_native_library_class; @@ -428,9 +426,12 @@ namespace Common::Android { extern "C" { #endif + // see on src/android/app/src/main/jni/native.cpp + jint InitFFmpegOnLoad(JavaVM *vm); + jint JNI_OnLoad(JavaVM *vm, void *reserved) { s_java_vm = vm; - av_jni_set_java_vm(vm, NULL); + InitFFmpegOnLoad(vm); JNIEnv *env; if (vm->GetEnv(reinterpret_cast(&env), JNI_VERSION) != JNI_OK)