ZED SVO Playback unreliable

Hello, I’m using the CPP ZED SDK. I am trying to run it with a previously recorded SVO file as input. When I try to run the playback, the application seems to get stuck after these messages.

Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 279

The playback never proceeds after this. After killing the process and trying again a few more times(without changing any code or recompiling), it seems to proceed, with the above messages printing twice and then proceeding with normal execution. The execution pauses at the zed.open(init_params)
function. For a ballpark estimate(since is seems non-deterministic), the code runs once for every 5 tries, which is frustrating.

The same behavior seems to exist on the sample svo_playback sample for cpp from the zed installation directory, although (seemingly) less frequently.

During my experimentation to find the root of the problem, I found that not appending the TORCH CXX flags to the cmake flags helped reduce the frequency of the problem, but did not complete eliminate it.

Any suggestions on what could be causing this? I’m running the SDK on a Jetson Xavier 16GB, and my application contains libtorch (C++ implementation of PyTorch). I don’t execute any other applications on the Xavier during this. Happy to provide additional details if needed, thanks!

Hi @mnow97
Welcome to the Stereolabs community.
Can you please share the SVO and the code that you are using with the Stereolabs team by sending an email to support@stereolabs.com?
Please provide the more information as possible.

Hi Myzhar

I am facing this issue even on the samples/svo recording/playback/cpp/ example provided with the SDK, with the ZED2_Runners_H265.svo.

My code is pretty embedded in a larger framework but here’s a snippet of how my calls are structured.

init_params_.input.setFromSVOFile(filepath);
init_params_.depth_mode = DEPTH_MODE::PERFORMANCE;
init_params_.depth_minimum_distance = 1;
init_params_.coordinate_units = UNIT::METER;
auto returned_state = zed_.open(init_params_);

Execution gets stuck on the last line.