Question

I am using Java JNI to load native dll module (64 bit JVM, 64 bit dll, Windows 8.1). Module is used to decode H.264 file into byte array using libavcodec, which is in precompiled shared dlls.

When I played around in plain JNI (passing String to JNI and return byte[] back), I had no problem loading my DLL module. But when I added reference to avformat.dll, my dll won´t load causing unsatisfied link error: Can´t find dependant libraries.

I scoped avformat using DependencyWalker. It depends on advapi.dll which depends on several dlls reporting as missing. On of them is API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL. This dll is really missing on my Win installation.

So, now I am confused about 2 things:

1, Why does MS provided advapi.dll depend on dll which is not part of the system?.

2, When I previously tried using avformat library in form of standalone Win32 app (exe), DependencyWalker reported the same missing dlls, but it executed decoded frames without any problem. How is this possible if I am missing its dependency?

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top