-
Notifications
You must be signed in to change notification settings - Fork 423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SIPSorceryMedia.Encoder BadImageFormatException/EntryPointNotFoundException #698
Comments
Sounds like it could be a ABI compatability issue. If your C runtime is different to the one I built the dll with you can get these sort of problems. Before going down that path below do a search of the issues. I do recall seeing this come up previously. Maybe that will provide an easier solution. You can build a verion of the |
Hi, |
Try using WSL, it's way better than msys or cygwin. |
Hi, Thank you for your Solution , In WSL "./configure --disable-static --disable-examples --disable-tools --disable-docs --target=x86-win32-vs17'" executed Successfully. Unhandled Exception: System.ApplicationException: Failed to initialise VP8 encoder, ABI version mismatch. From SIPSorceryMedia.Encoders got to know that VPX_ENCODER_ABI_VERSION = 23 Thanks |
I would have built the nuget package with Visual Studio 2019 and probably C++ SDK version v1.41. You don't need to use my verison though. If you can build vpxmd.dll then you can rebuild the .NET SIPSorceryMediaEncoders assembly using it. That way you can guarantee that all the relevant dll's are using the same SDK version. According to this article, since Visual Studio 2015 ABI has been preserved. If you install the latest Microsoft C++ runtime you should be able to run an app, or consume a library built with any version of the msvc toolset sicne VS 2015. I'm not completely convinced by the above article though. I regularly build another C++ prioject that uses a bunch of vcpkg dependencies. It's happended quite a few times that an updte to Visual Studio results in an ABI issue with one of the dependencies requiring them all o be rebuilt. This scenario is the biggest pain point with C++. Rebuilding complete dependency tress is not fun. It's why .NET is so great, that whole category of problems go away. For libvpx the hope is that one day VP8.Net will be production ready and vpxmd.dll will no longer be required. |
Hi, I have followed the approach you mentioned, but still facing same exception, can you please share VS build version details which is being used for building sipsorcery dll and related other dlls. Thanks |
Visual Studio 2019 Community Edition |
What is the platform toolset used in VS 2019. I still get
|
I run into this issue also, anyone can help? i have build vpxmd.dll using the instructions here. Do i need to regen the "vpxmd.g.cs"? i follow the "Vpx.AutoGen" project but failed, only get he empty "Std.cs" file... |
Hi Experts,
I am using SIPSorceryMedia.Encoder for streaming image frames as video and facing following problem.
Any pointer would help.
regards,
Suresh
The text was updated successfully, but these errors were encountered: