amazon-chime-sdk-android
amazon-chime-sdk-android copied to clipboard
Enable video blur is crashed on release APK, debug APK works normally
Describe the bug When I enable blur background for local video, the blur function works normally on debug apk, but crashed on release apk. It crashed all times.
This is my code
override fun turnOnCamera(blur: Boolean) {
val cameraLocalManager = CameraLocalManager.instance
cameraLocalManager.cameraCaptureSource.removeVideoSink(backgroundBlurVideoFrameProcessor)
if (blur) {
cameraLocalManager.cameraCaptureSource.addVideoSink(backgroundBlurVideoFrameProcessor)
audioVideo?.startLocalVideo(backgroundBlurVideoFrameProcessor)
} else {
audioVideo?.startLocalVideo(cameraLocalManager.cameraCaptureSource)
}
cameraLocalManager.start()
}
When blur
is false
, it works normally. But the application turned to crash when blur
is true
, and only happened in release APK.
Expected behavior A clear and concise description of what you expected to happen.
Logs Attached in file crashed_log.txt
Test environment Info (please complete the following information):
- Device: Pixel 2XL
- OS: Android 11
- Version amazon-chime-sdk: 0.18.1
- Version amazon-chime-sdk-media: 0.18.1
- Version amazon-chime-sdk-machine-learning: 0.2.0
Hi @ngohado, sorry for late reply. Were you able to use our demo application here and see if this also crashes?
@hokyungh So sorry for lately reply. I downloaded latest demo, and using dependencies:
implementation 'software.aws.chimesdk:amazon-chime-sdk-media:0.18.2'
implementation 'software.aws.chimesdk:amazon-chime-sdk:0.18.2'
implementation "software.aws.chimesdk:amazon-chime-sdk-machine-learning:0.2.0"
Still be crashed on release APK, it doesn't happen on debug APK (No worry about emulator, it also happenned same on real device)
https://github.com/aws/amazon-chime-sdk-android/assets/9305301/029c63da-515e-4b44-9fe3-91980f37c069
@hokyungh Sorry, is there any update on it? Thank u
I'm reading the crash log, seems issue is from
runtime.cc:655] Pending exception java.lang.NoSuchFieldError: no "J" field "nativeObjectPointer" in class "Lcom/amazonaws/services/chime/cwt/TfLiteModel;" or its superclasses\
runtime.cc:655] at com.amazonaws.services.chime.cwt.ModelState com.amazonaws.services.chime.cwt.TfLiteModel.loadModelBytes(byte[], com.amazonaws.services.chime.cwt.InputModelConfig) (TfLiteModel.java:-2)\
runtime.cc:655] at void c0.c.d(int, int, c0.b) (SegmentationProcessor.kt:5)\
runtime.cc:655] at android.graphics.Bitmap c0.a.g(android.graphics.Bitmap) (BackgroundFilterVideoFrameProcessor.kt:8)\
runtime.cc:655] at android.graphics.Bitmap d0.b.s(android.graphics.Bitmap, b0.h) (BackgroundBlurVideoFrameProcessor.kt:4)\
runtime.cc:655] at void d0.b$b.run() (BackgroundBlurVideoFrameProcessor.kt:3)\
runtime.cc:655] at void android.os.Handler.handleCallback(android.os.Message) (Handler.java:938)\
runtime.cc:655] at void android.os.Handler.dispatchMessage(android.os.Message) (Handler.java:99)\
runtime.cc:655] at void android.os.Looper.loop() (Looper.java:223)\
runtime.cc:655] at void android.os.HandlerThread.run() (HandlerThread.java:67)\
I'll try to dive more deep, in the meantime, what are the difference between debug and release on your side?