KlakNDI icon indicating copy to clipboard operation
KlakNDI copied to clipboard

Android target level 32 support

Open hybridherbst opened this issue 1 year ago • 4 comments

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 avatar Aug 31 '23 15:08 hybridherbst

@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?

FireDragonGameStudio avatar Dec 16 '23 14:12 FireDragonGameStudio

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" />

cieraej avatar Feb 01 '24 17:02 cieraej

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!

eeease avatar Feb 12 '24 20:02 eeease

@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?

hybridherbst avatar Feb 13 '24 20:02 hybridherbst

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

tomsuperman avatar Jun 05 '24 12:06 tomsuperman

This change is no longer needed with NDI SDK 6.0.

keijiro avatar Jun 12 '24 12:06 keijiro