ue4plugins / NdiMedia

Media Framework plug-in for NewTek's Network Device Interface (NDI).
BSD 3-Clause "New" or "Revised" License
108 stars 36 forks source link

Precompiled Header Issues #10

Closed ericapenk closed 7 years ago

ericapenk commented 7 years ago

All source files in module "NdiMediaFactory" must include the same precompiled header first. Currently "A:\Unreal Projects\NDI_Test_2\Plugins\NdiMedia-master\Source\NdiMediaFactory\Public\NdiMediaSettings.h" is included by most of the source files. The following source files are not including "A:\Unreal Projects\NDI_Test_2\Plugins\NdiMedia-master\Source\NdiMediaFactory\Public\NdiMediaSettings.h" as their first include: NDI_Test_2 A:\Unreal Projects\NDI_Test_2\Intermediate\ProjectFiles\EXEC 1

Attempted moving the "NdiMediaSettings.h" include statement to the top of the include statements in NdiMediaFactoryModule.cpp and that introduced several warnings.

The next precompile error was with the NdiMedia module. There's several cpp files with several headers to choose from, so that's still not resolved.

Some context:

I downloaded the newest NDI 2 SDK, created a new 4.13.2 c++ project (also tried 4.14 for good measure), created a Plugins folder, dropped the NdiMedia-master folder downloaded from github today into the plugins folder, right clicked the .uproject > Generate Visual Studio project files (just in case). Then I started compiling and trying to fix include statements. Is there anything I'm missing? I have not placed any additional files into any other directories, is that something I need to do?

Thanks so much!

gmpreussner commented 7 years ago

Hi Erica, please do not sync the Master branch, but sync to the label of your Engine version instead, i.e. 4.13.1 or 4.14. The code in Master compiles only against my working branch of UE4, and that is often even newer than the UE4 Master branch on GitHub.

gmpreussner commented 7 years ago

https://github.com/ue4plugins/NdiMedia/releases

ericapenk commented 7 years ago

ok, and where can I find the NdiMedia.dll, NdiMediaEditor.dll, and the NdiMediaFactory.dll ? Says they're either missing or made with the wrong version. At least for the 4.14 version I can say I know it's the right version.

I'm assuming I'm supposed to place those in the Binaries/Win64 folder like I did with Processing.NDI.Lib.x64.dll previously. I currently don't have the Processing dll in there because it's not erroring out on it like it was the previous time.

ERICA PENK TRICK 3D | TECHNICAL MANAGER w www.trick3d.com | e erica.penk@trick3d.com

On Tue, Nov 29, 2016 at 5:42 PM, Gerke Max Preussner < notifications@github.com> wrote:

https://github.com/ue4plugins/NdiMedia/releases

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ue4plugins/NdiMedia/issues/10#issuecomment-263724089, or mute the thread https://github.com/notifications/unsubscribe-auth/ALnFEEWW9iqO0S4d0htcu2I3OnEi_INZks5rDKo7gaJpZM4K_bq5 .

gmpreussner commented 7 years ago

You have to compile the NdiMedia plug-in code as part of your Engine, or your project. The DLLs will then be created. The Processing.NDI.xxxx DLLs are already included in the plug-in. You do not need to download them separately, nor do you need to copy them to Binaries. This all happens automatically as part of compiling the plug-in.

There is currently no ready-to-use binary version of NdiMedia, so you have to compile yourself. When I find some time, I'll publish NdiMedia on the UE4 Marketplace, but this may not happen before 4.15.

gmpreussner commented 7 years ago

PS: The easiest way to compile the plug-in is to either...

a) create a code project and place the plug-in into /YourProject/Plugins/NdiMedia, or b) compile the entire Engine from source and place the plug-in into /Engine/Plugins/NdiMedia

ericapenk commented 7 years ago

Ah I dumped the contents into the Plugin folder. I was missing the NdiMedia layer in the hierarchy when I was compiling.

Did the new SDK address the roaming port issue?

I typed in:

127.0.0.1:5353 into the NdiMediaSource but it's still a black screen.

ERICA PENK TRICK 3D | TECHNICAL MANAGER w www.trick3d.com | e erica.penk@trick3d.com

On Tue, Nov 29, 2016 at 6:34 PM, Gerke Max Preussner < notifications@github.com> wrote:

PS: The easiest way to compile the plug-in is to either...

a) create a code project and place the plug-in into /YourProject/Plugins/NdiMedia, or b) compile the entire Engine from source and place the plug-in into /Engine/Plugins/NdiMedia

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ue4plugins/NdiMedia/issues/10#issuecomment-263735171, or mute the thread https://github.com/notifications/unsubscribe-auth/ALnFEGkgB5-vhNMvhLAtdGviM5bUL7v2ks5rDLaLgaJpZM4K_bq5 .

gmpreussner commented 7 years ago

The roaming port issue is something that needs to be addressed in the NDI server. The test applications that ship with the latest SDK should have static ports now.

That being said, I had a discussion with Newtek about this, and the intent is that media sources should be looked up by name, not by IP:Port. It is assumed that NDI source names are unique per machine. I am going to change the NdiMedia source to use name based lookup instead.