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);