From c640f7ed12cb773e0f2050bef8bea6432480c99a Mon Sep 17 00:00:00 2001 From: 21pages <pages21@163.com> Date: Thu, 9 May 2024 22:53:01 +0800 Subject: [PATCH] fix android crash caused by outdated video frame ptr (#7996) Signed-off-by: 21pages <pages21@163.com> --- libs/scrap/src/android/ffi.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libs/scrap/src/android/ffi.rs b/libs/scrap/src/android/ffi.rs index 3c1ca87da..7079cb3b9 100644 --- a/libs/scrap/src/android/ffi.rs +++ b/libs/scrap/src/android/ffi.rs @@ -48,6 +48,8 @@ impl FrameRaw { fn set_enable(&mut self, value: bool) { self.enable = value; + self.ptr.store(std::ptr::null_mut(), SeqCst); + self.len = 0; } fn update(&mut self, data: *mut u8, len: usize) { @@ -141,11 +143,7 @@ pub extern "system" fn Java_ffi_FFI_setFrameRawEnable( } #[no_mangle] -pub extern "system" fn Java_ffi_FFI_init( - env: JNIEnv, - _class: JClass, - ctx: JObject, -) { +pub extern "system" fn Java_ffi_FFI_init(env: JNIEnv, _class: JClass, ctx: JObject) { log::debug!("MainService init from java"); if let Ok(jvm) = env.get_java_vm() { *JVM.write().unwrap() = Some(jvm);