-
Notifications
You must be signed in to change notification settings - Fork 7
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
OrbbecSDKConfig_v1.0.xml
is not found when the solution is a DLL
#53
Comments
Firstly, did you download the XML configuration file from here (https://github.com/orbbec/OrbbecSDK/blob/main/misc/config/OrbbecSDKConfig_v1.0.xml) to ensure that the configuration file is correct? Is the XML configuration file located in the same directory as the OrbbecSDK.dll? |
Unfortunately, you did not read my original post above. Please read it again in detail. And also do the repro steps. You clearly did not do those steps. because you did not do these things, you are asking irrelevant questions. Your code is not loading the XML file in the same directory as your DLLs. I clearly wrote that above. And I provided proof of the locations in which you DO attempt to load the file. None of which are in the location you suggest. |
I updated the OP with additional details in the reproduction steps. I also included further confirmation of this bug when my customer tested it on their computer. |
While you are working on a fix for loading the XML file correctly, what workarounds are available to enumerate network devices? Your api docs write I could hardcode |
Checking back with you on this bug. A customer has paid for me to purchase two of your Femto sensors, I just ordered today. Are fixes or workarounds for this issue on your project list? |
While you are working on a fix for loading the XML file correctly, what workarounds are available to enumerate network devices? Your api docs write ob_enable_net_device_enumeration() can be called with an ob_context before ob_query_device_list(). I can see in your implementation https://github.com/orbbec/OrbbecSDK-K4A-Wrapper/blob/main/src/orbbec/ob_k4a_impl.cpp several calls to ob_query_device_list(). You hide the ob_context inside a ob_context_handler as in this example https://github.com/orbbec/OrbbecSDK-K4A-Wrapper/blob/main/src/orbbec/ob_k4a_impl.cpp#L228 I could hardcode ob_enable_net_device_enumeration() into the API when your code creates the context. But a better approach would be a wrapper API or parameter call that can enable net device enumberation. |
Due to the K4a wrapper, our initial design philosophy was to avoid changing the AKDK interface as much as possible. For your issue, need to add an interface to loader the xml config file or add a interface to enable the network. In future versions, we will consider adding this interface. |
Wrapper v1.9.1 does not find
OrbbecSDKConfig_v1.0.xml
when the compiled solution is a DLL.The Orbbec codebase only looks for
OrbbecSDKConfig_v1.0.xml
in the directory of the application EXE.My solution is a DLL. Meaning, I compile the wrapper and my code into a DLL. Not an EXE.
My solution is a plugin for a 3rd party application called Cycling74 Max. Therefore, the application is
Max.EXE
3rd party EXEs are in a different locations than user plugin DLLs,
OrbbecSDK.dll
, or your wrapperk4a.dll
.Setup
Repro
The primary scenario is a Windows app EXE that dynamically loads a plugin DLL. This bug may occur in other DLL scenarios, however, these repro steps focus only on the primary scenario.
C:\Program Files
C:\Users\myusername\Documents
OrbbecSDKConfig_v1.0.xml
. Change the value ofEnumerateNetDevice
from false to true.OrbbecSDKConfig_v1.0.xml
into the same read-write user location of step 4Result
The Femto Mega is not found.
Expected
Femto Mega is found because
OrbbecSDKConfig_v1.0.xml
was found and loadedNotes
The bug is that Orbbec code does not load/search for
OrbbecSDKConfig_v1.0.xml
in the same directory as the Orbbec DLLs.I used procmon and watched your code probe in the following locations. None of these are directories for my solution plugin DLL,
OrbbecSDK.dll
, or your wrapperk4a.dll
. Therefore, yourOrbbecSDK.dll
and wrapperk4a.dll
did not findOrbbecSDKConfig_v1.0.xml
which causes no settings to be loaded and the Femto Mega not found.My customer also reproduced this bug on their computer. They confirmed that it is required to move the OrbbecSDKConfig_v1.0.xml into the same folder as the app EXE. This confirms my above analysis.
My customer said they had to also make the app EXE directory read-write. You might want to check your code again and confirm that you are not accidentially requesting read-write permissions when opening your XML file.
The text was updated successfully, but these errors were encountered: