Skip to content
This repository has been archived by the owner on Nov 10, 2024. It is now read-only.

possible conflict or bug-on-first-run with pre-installed NDI #3

Open
tokfrans03 opened this issue Apr 27, 2024 · 9 comments
Open

possible conflict or bug-on-first-run with pre-installed NDI #3

tokfrans03 opened this issue Apr 27, 2024 · 9 comments

Comments

@tokfrans03
Copy link

Hello,

First of all, this project is just what I need and is really easy to use!

The sending button works just fine on windows and macos, but the recive button does not do anything on windows.

I have experimented a bit and using the test button works fine, so the audio coming from the appliction works, but when recieving from NDI it for some reason does not. Using NDI studio monitor, I can confirm that there is audio coming from the NDI source.

Using the same setup but with a mac works perfectly.

System

Windows 10

Built from the latest source code as of this message 2024-04-27 with ASIO

Config

I am using Dante in ASIO mode to send audio to a mixer with a physical Dante card.

It also does not work with WDM, Direct audio, windows audio

Steps to reproduce

  1. Select a NDI source
  2. Enable recv
  3. no audio

I am able to offer monetary compensation if we can get this to work.

@ak5k
Copy link
Owner

ak5k commented Apr 27, 2024

Hi! If you built from source, you might still first need to install the release download. It will install the required NDI library.

@tokfrans03
Copy link
Author

Hello!

I've gotten it to work now by reinstalling the latest NDI runtime 5. I might've forgotten to write that I tried your release first, then trying my own build to get ASIO which should've worked.

Thanks for your help.

@ak5k ak5k closed this as completed Apr 28, 2024
@marcotasto
Copy link

Hi. Sorry to comment on a closed issue but I can replicate the same with a couple of Windows PCs with NDI Tools 6.0.0.0 already installed. The ndi-audio-io application was able to generate test tones through the settings panel, but seems not able to receive any audio from whathever NDI stream until I've updated NDI Tools 6.0.0.0 to NDI 6.0.1.0. NDI streams generated with the tool were ok before the upgrade. Thank you for your job.

@ak5k
Copy link
Owner

ak5k commented May 27, 2024

Hi! It would seem NDI Audio IO (NDI 5) and NDI 6 won't work together on same host machine. However, I was able to get test patterns connected between two separate machines with other running NDI 6 and other NDI Audio IO.

EDIT: Hmm. It does work on same host also. I just had the test pattern audio muted. After all, NDI Audio IO primarily tries to load and use system installed NDI runtime library, so there shouldn't be NDI version conflicts.

@whats0n0
Copy link

I work together with @tokfrans03.
I think something weird happens with the NDI versions, but I am not sure what. This is what seems to happen for us:

  • If NDI 6 is already installed on the PC and then NDI Audio IO is installed, receive does not work.
  • If you uninstall all NDI runtimes and THEN install NDI Audio IO, it works fine. You can then re-install NDI 6 and it will keep working.

Could it be caused by something like if NDI 6 is installed first it will try to load NDI 6 runtime which doesn't work and if NDI Audio IO is installed first it will use the NDI 5 runtime which does work?

@marcotasto
Copy link

Hi @whats0n0. Yes. I can confirm you I've found a similar behaviour. Also to mention that if you have NDI 6 already installed on the PC, and then NDI Audio IO is installed but receive does not work, by simply upgrading the NDI 6 to the very latest version solves the issue. This is, probably, because the NDI runtimes upgrade unistalls and re-installs the new NDI runtimes under the hood.
Thank you, and nice job.

@ak5k
Copy link
Owner

ak5k commented May 28, 2024

Hi! NDI Audio IO checks system for installed NDI runtime/tools, and during each start/load tries to load latest NDI library available. When NDI 6 is installed, NDI Audio IO will always try to load it. It might be beyond my scope trying to figure out why exactly NDI 6 won't load at first time. If no NDI 5 or 6 library are installed, NDI Audio IO will fall back to its internal NDI 5 library, which should work as before.

@ak5k ak5k changed the title Windows recv not working possible conflict or bug-on-first-run with pre-installed NDI May 28, 2024
@ak5k ak5k reopened this May 28, 2024
@whats0n0
Copy link

Could it be possible to always force the internal NDI 5 library to be used? As NDI 6 is fully backwards compatible, there shouldn't be an issue if NDI 5 is always used for NDI Audio IO.

Also, thanks a lot for your work!

@ak5k
Copy link
Owner

ak5k commented May 28, 2024

Could it be possible to always force the internal NDI 5 library to be used? As NDI 6 is fully backwards compatible, there shouldn't be an issue if NDI 5 is always used for NDI Audio IO.

Also, thanks a lot for your work!

Well, technically yes, but I'm not sure that would help. To my understanding/testing, only one library can be loaded on a host system at a time, so naturally internal library has to be the fallback library and loaded only when no other library exists. Also, technically, on a fresh system with NDI5/6 is pre-installed, a new install of NDI Audio IO never tries loading the internal library, only the pre-installed one. From NDI Audio IO perspective 'it never knows if tools/runtime was re-installed'; it only looks for NDI runtime dll file in NDI SDK specified path. So, this might be something NDI library operation related, or e.g. Windows operating system security.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants