KlakNDI icon indicating copy to clipboard operation
KlakNDI copied to clipboard

No streams found on Android target API level 32

Open hybridherbst opened this issue 1 year ago • 4 comments

The requirements for Android target level are rising across app stores (e.g. Google Play Store requires 33, Quest Store requires 32). Unfortunately it seems that currently KlakNDI doesn't work then the target level is set to 31 or higher.

Concretely, receiving streams doesn't work / getting the list of available streams returns an empty list. Didn't try sending so far.

Are you aware of required changes to make this work? Maybe some permissions or networking details have changed?

hybridherbst avatar Aug 30 '23 11:08 hybridherbst

I did try to build a self-plugin to active NSD register service during startup. You can see my comments in #166. I just tried to build it under level 33, and NDI receiver worked. I do not know if this is the issue.

tomsuperman avatar Aug 30 '23 15:08 tomsuperman

Thanks @tomsuperman, that's helpful to know. Would you be able to share some more of what you had to do to get this work? I'm unfortunately not very familiar with making Android plugins. That would be awesome – thanks!

hybridherbst avatar Aug 31 '23 08:08 hybridherbst

Figured it out and made a PR @keijiro

hybridherbst avatar Aug 31 '23 15:08 hybridherbst

Figured it out and made a PR @keijiro

Works perfectly - thanks a lot!

@keijiro merging this would really help as many people will update their target API level to 32+ soon (requirement from Google Play to submit new app versions). As mentioned, this breaks the functionality of the NDI Sender without the fix from @hybridherbst .

marvpaul avatar Sep 18 '23 15:09 marvpaul

I updated the NDI SDK to 6.0.1, which no longer needs the NSD setup code.

From the SDK documentation:

In previous versions of the NDI library for Android, it was necessary to instantiate the “NsdManager” from the application layer to ensure the background Network Service Discovery Manager, for mDNS, was running. This is no longer necessary.

So I removed it from the plugin code. As far as I tested, it works properly.

I close this issue now as resolved. Please reopen it if it still reproduces with the latest version.

keijiro avatar Jun 12 '24 09:06 keijiro

... And thanks to the participants in this thread for providing information and solutions. I heard it helped those trying to use the plugin on Quest devices. I couldn’t be very helpful due to my lack of experience with those devices. I hope the new SDK solves the issue completely.

keijiro avatar Jun 12 '24 09:06 keijiro