KlakNDI
KlakNDI copied to clipboard
Android target level 32 support
This PR fixes #190 and potentially also #166.
It adds a minimal .java plugin with a discovery listener and calls NsdManager.discoverServices for the NDI-specific UDP and TCP services on Android >= 31.
@hybridherbst Tried to get it running and tested your changes on my Google Pixel 8 Pro with Android 14 and I can't choose any NDI sources, when the app is running within the same WLAN on my notebook and my smartphone. Even adapted the update from #186. May Android 14 be the villain here?
Hi,
I am having this issue. My NDI streams are being now being detected (thanks to this PR) but not playing as they were on previous builds.... I suspect it's a permissions issue. Do you have the Android Manifest so I can compare?
It's truly overkill what I've added but this is what I've tried:
- Added Library:
<uses-library android:name="org.apache.http.legacy" android:required="false" />
- Added Permissions:
-
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-
<uses-permission android:name="android.permission.INTERNET" />
-
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
-
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
-
Hi @hybridherbst , thanks for your work on this!
I'm currently in a similar boat as @cieraej. Using Unity + Klak NDI + Android 32 build on Quest 2. I'm using VLC to playback via NDI from my Windows PC, on the same network as my Quest.
I can still see NDI streams in the dropdown, but once I select one, my Quest tanks and eventually crashes. In previous versions, making a selection correctly displays on the sample scene canvas.
Any chance you can share your Android manifest? At this point I'm convinced I'm either missing a permission or not waking the DNS provider or something.
Thanks!
@noartistavailable if you have a moment could you post the relevant parts of the manifest here to help others trying to get it to work?
I did solve the Android 14 issue by downloading the latest SDK from NDI website, and replaced the libndi.so file from arm64-v8a folder to KlakNDI\jp.keijiro.klak.ndi\Plugin\Android folder
This change is no longer needed with NDI SDK 6.0.