Rust-based plugin initialization hangs on Android with GStreamer 1.24.0
Describe your issue
For Android it is necessary to copy GStreamer.java
to your project and call its init
so it can in turn call nativeInit
that is injected by GStreamer. This worked fine on GStreamer 1.22.6 on a Meta Quest 2 for me, but with GStreamer 1.24.0 the call seems to get 'stuck' and never returns due to an unknown reason with no other code changes.
(Strictly related to 'application development', but since it worked before this sounds like a regression.)
Expected Behavior
The call doesn't get stuck and proceeds as was the case before.
Observed Behavior
The call never returns.
Setup
- Operating System:: Android
- Device: Mobile (Meta Quest 2)
- GStreamer Version: 1.24.0
- Command line: N.a.
Steps to reproduce the bug
Call init
from org.freedesktop.gstreamer.GStreamer
from your Android application on a Meta Quest 2 (might also fail elsewhere on Android, I have no other devices to test with).
How reproducible is the bug?
Every time.
Solutions you have tried
Disabling the call, but without it none of the hardware-accelerated video decoders are available, from what I understand.
Additional Information
Not sure if related to !4115 (merged). I checked the source code to see if there have been any changes to the way the native function is injected or what GStreamer.java
looks like, but no changes seem to have occurred to those files between 1.22.6 and 1.24.0.