Browse Source

changes :)

pull/4068/head
lizzie 2 weeks ago
parent
commit
d74c04ea88
  1. 2
      src/android/app/src/main/jni/CMakeLists.txt
  2. 15
      src/android/app/src/main/jni/native.cpp
  3. 7
      src/common/android/id_cache.cpp

2
src/android/app/src/main/jni/CMakeLists.txt

@ -27,7 +27,7 @@ if (ARCHITECTURE_arm64)
target_link_libraries(yuzu-android PRIVATE adrenotools) target_link_libraries(yuzu-android PRIVATE adrenotools)
endif() 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) if (ENABLE_UPDATE_CHECKER)
target_compile_definitions(yuzu-android PUBLIC ENABLE_UPDATE_CHECKER) target_compile_definitions(yuzu-android PUBLIC ENABLE_UPDATE_CHECKER)
endif() endif()

15
src/android/app/src/main/jni/native.cpp

@ -36,6 +36,11 @@
#include <frontend_common/content_manager.h> #include <frontend_common/content_manager.h>
#include <jni.h> #include <jni.h>
extern "C" {
// Required for FFmpeg mediacodec
#include <libavcodec/jni.h>
}
#include "common/android/multiplayer/multiplayer.h" #include "common/android/multiplayer/multiplayer.h"
#include "common/android/android_common.h" #include "common/android/android_common.h"
#include "common/android/id_cache.h" #include "common/android/id_cache.h"
@ -680,6 +685,16 @@ const char* fallback_cpu_detection() {
} // namespace } // namespace
// referenced by common
extern "C" {
jint InitFFmpegOnLoad(JavaVM *vm) {
av_jni_set_java_vm(vm, NULL);
return 0;
}
}
extern "C" { extern "C" {
void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance, void Java_org_yuzu_yuzu_1emu_NativeLibrary_surfaceChanged(JNIEnv* env, jobject instance,

7
src/common/android/id_cache.cpp

@ -11,8 +11,6 @@
#include "video_core/rasterizer_interface.h" #include "video_core/rasterizer_interface.h"
#include "common/android/multiplayer/multiplayer.h" #include "common/android/multiplayer/multiplayer.h"
#include <network/network.h> #include <network/network.h>
// Required for FFmpeg mediacodec
#include <libavcodec/jni.h>
static JavaVM *s_java_vm; static JavaVM *s_java_vm;
static jclass s_native_library_class; static jclass s_native_library_class;
@ -428,9 +426,12 @@ namespace Common::Android {
extern "C" { extern "C" {
#endif #endif
// see on src/android/app/src/main/jni/native.cpp
jint InitFFmpegOnLoad(JavaVM *vm);
jint JNI_OnLoad(JavaVM *vm, void *reserved) { jint JNI_OnLoad(JavaVM *vm, void *reserved) {
s_java_vm = vm; s_java_vm = vm;
av_jni_set_java_vm(vm, NULL);
InitFFmpegOnLoad(vm);
JNIEnv *env; JNIEnv *env;
if (vm->GetEnv(reinterpret_cast<void **>(&env), JNI_VERSION) != JNI_OK) if (vm->GetEnv(reinterpret_cast<void **>(&env), JNI_VERSION) != JNI_OK)

Loading…
Cancel
Save