I'm working on integrating the OVRMRCLib 1.0 into the godot_oculus_mobile plugin https://github.com/NeoSpark314/godot_oculus_mobile/tree/mrc) for Oculus Quest.
I ran into an issue I'm not sure how to track down further. If this is the wrong channel to ask these questions please redirect me if you can and feel free to close the issue.
I'm using the Mixed Reality Capture tools 3.1 from https://developer.oculus.com/downloads/package/mixed-reality-capture-tools/
When I try to load the plugin inside OBS 24.0.3 the plugin can't be loaded with the following error
10:04:09.374: LoadLibrary failed for '../../obs-plugins/64bit/oculus-mrc.dll': The specified module could not be found.
10:04:09.374: (126)
10:04:09.374: Module '../../obs-plugins/64bit/oculus-mrc.dll' not loaded
In OBS 23.2.1 the plugin loads successfully:
10:05:47.397: [OculusMrcSource 'Oculus MRC']: Codec found. Capabilities 0x3022
I tested then capturing with Superhot and it works perfectly.
Now I'm trying to integrate OVRMRCLib (Version 1.0 from https://developer.oculus.com/downloads/package/ovrmrclib/) into the godot plugin.
I have the library initialized without error and set the activation mode to automatic. Querying ovrm_GetAPIs()->GetVersions(&majorVersion, &minorVersion, &patchVersion);
reports version 1.44.0
.
I call ovrmResult result = ovrm_GetAPIs()->Update();
without error each frame.
ovrmResult result = ovrm_GetAPIs()->IsMrcEnabled(&value);
returns value == true
and I get the correct camera parmaeters via ovrm_GetAPIs()->GetExternalCameraIntrinsics(cameraId, &cameraIntrinsics);
and ovrmResult result = ovrm_GetAPIs()->GetExternalCameraExtrinsics(cameraId, &cameraExtrinsics);
.
but when I now try to connect from the OBS 23.2.1 plugin I get the following error in the OBS log:
10:17:14.573: [OculusMrcSource 'Oculus MRC']: ConnectClicked
10:17:17.201: [OculusMrcSource 'Oculus MRC']: Unable to connect
10:17:17.201: [OculusMrcSource 'Oculus MRC']: Socket connected to 192.168.0.118:28734
10:17:17.201: [OculusMrcSource 'Oculus MRC']: m_codecContext constructed and opened
and no actual conneciton happens and ovrmResult result = ovrm_GetAPIs()->IsMrcActivated(&value);
report value == false
.
The adb logcat output for OVRMrcLib
is:
01-19 10:57:30.989 3743 3760 V GodotOVRMobile: OvrMrc: initializing ovrm version 1.44.0
01-19 10:57:30.989 3743 3760 D OVRMrcLib: [MediaManager] Set JavaVM to 0x7fa78e9040
01-19 10:57:30.993 3743 3760 I OVRMrcLib: GetExternalAppFilesPath() returns /storage/emulated/0/Android/data/org.godotengine.ovr_demo/files
01-19 10:57:30.993 3743 3760 D OVRMrcLib: MRC config file found: /storage/emulated/0/Android/data/org.godotengine.ovr_demo/files/mrc.xml
01-19 10:57:30.993 3743 3760 D OVRMrcLib: ExtractInt(, image_width) -> #1920#
01-19 10:57:30.993 3743 3760 D OVRMrcLib: ExtractInt(, image_height) -> #1080#
01-19 10:57:30.993 3743 3760 D OVRMrcLib: ImageSensorPixelResolution (w 1920, h 1080)
.
.
01-19 10:57:30.993 3743 3760 I OVRMrcLib: [MediaManager] MRC camera found
01-19 10:57:30.993 3743 3760 I OVRMrcLib: [MediaManager] MrcConfig: enabled 1 hq_mode 0, frame 2560 x 1080 image 1920 x 1080 tcp_port 28734 debugcamera 0 bitrate 8000000
01-19 10:57:30.993 3743 3760 E OVRMrcLib: [MediaManager] getaddrinfo error: No address associated with hostname (C:\cygwin\data\sandcastle\boxes\trunk-hg-ovrsource-full\Software\OculusSDK\Integrations\OVRPlugin\Main\1stParty\OVRMrcLib\Src\Util\MediaManager.cpp:607)
01-19 10:57:30.993 3743 3760 I OVRMrcLib: [MediaManager] GraphicsAPI set to GLES
01-19 10:57:30.993 3743 3760 E OVRMrcLib: [MediaManager] getaddrinfo error: No address associated with hostname (C:\cygwin\data\sandcastle\boxes\trunk-hg-ovrsource-full\Software\OculusSDK\Integrations\OVRPlugin\Main\1stParty\OVRMrcLib\Src\Util\MediaManager.cpp:607)
01-19 10:57:30.993 3743 3760 D OVRMrcLib: [MediaManager] SetMrcActivationMode 0 listening 0
Do you have maybe an idea what could be the reason and how to debug this? What does the error in the OVRMrcLib MediaManager mean and could this be related?
Regards,
Holger