tanersener / mobile-ffmpeg

FFmpeg for Android, iOS and tvOS. Not maintained anymore. Superseded by FFmpegKit.
https://tanersener.github.io/mobile-ffmpeg
GNU General Public License v3.0
3.85k stars 787 forks source link

Android - Crash on device (arm) when Config.ignoreSignal is called (mandatory for Unity usage) #584

Closed fernando-closs-clansoft closed 3 years ago

fernando-closs-clansoft commented 3 years ago

Description Android - Crash on device - AndroidJavaException: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__register_atfork" referenced by "libmobileffmpeg_abidetect.so"

Seems to be related to com.arthenica.mobileffmpeg.Config.ignoreSignal(Signal.SIGXCPU)

Expected behavior No error

Current behavior app crashes when com.arthenica.mobileffmpeg.Config.ignoreSignal(Signal.SIGXCPU); is called

E/Unity: AndroidJavaException: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "register_atfork" referenced by "libmobileffmpeg_abidetect.so"... java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "register_atfork" referenced by "libmobileffmpeg_abidetect.so"... at java.lang.Runtime.loadLibrary(Runtime.java:372) at java.lang.System.loadLibrary(System.java:988) at com.arthenica.mobileffmpeg.AbiDetect.(AbiDetect.java:33) at com.arthenica.mobileffmpeg.AbiDetect.getNativeAbi(Native Method) at com.arthenica.mobileffmpeg.Config.(Config.java:131) at com.clansoft.tacticalpad.TacticalPadAndroidActivity.startFFmpegVideo(TacticalPadAndroidActivity.java:1171)

Line 1171 of my java is com.arthenica.mobileffmpeg.Config.ignoreSignal(Signal.SIGXCPU);

Screenshots No screenshot

Logs Post logs here or paste them to Ghostbin and insert the link here.

Environment

Other After a little search, it looks like __register_atfork is available from API >= 24 (the aar minSDK is correctly set to 24, only the documentation here on github says 16)

alexcohn commented 3 years ago

You need one of the LTS builds to run mobile-ffmpeg on Android 5 (or whatever version with API level from 16 upto 23).

fernando-closs-clansoft commented 3 years ago

You need one of the LTS builds to run mobile-ffmpeg on Android 5 (or whatever version with API level from 16 upto 23).

Ok. Thanks. I will try that as soon as I can and check the ignoreSignal on LTS for <= API 23. Thanks.

github-actions[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.