039379f5fe
Replace the vendored MCAP Zstd chunk writer's ZSTD_compress2-based path with ZSTD_compressCCtx and keep the selected compression level on the wrapper state. The previous implementation crashed in Debug and real zed_svo_to_mcap runs on this machine when the first compressed chunk was flushed with --mcap-compression zstd. The same exports succeeded with none and lz4, which narrowed the failure to the shared vendored MCAP Zstd path rather than exporter sync logic. Also extend mcap_multi_record_tester to accept a compression argument so the Zstd path can be exercised directly during regression testing. Verified with: - ./build-debug/bin/mcap_multi_record_tester /tmp/mcap_multi_zstd_test.mcap zstd - ./build-debug/bin/zed_svo_to_mcap --input jump/experiment/2/2026-03-18T11-27-15/2026-03-18T11-27-15_zed1.svo2 --output /tmp/zed1_single_zstd_fixed.mcap --mcap-compression zstd --end-frame 1 - ./build-debug/bin/zed_svo_to_mcap --segment-dir jump/experiment/2/2026-03-18T11-27-15 --output /tmp/multi_zstd_fixed.mcap --mcap-compression zstd --end-frame 1
Third-Party Dependencies
All vendored dependencies in this repo live under third_party/.
Dependencies:
CLI11(git submodule): command-line parsing, targetCLI11::CLI11proxy(git submodule): proxy/rtti headers, targetmsft_proxy4::proxytomlplusplus(vendored source drop): TOML parsing, targettomlplusplus::tomlplusplusmcap(vendored source drop): MCAP headers, targetmcap::mcap
Bootstrap:
git submodule sync --recursivegit submodule update --init --recursive
Rule:
- New vendored dependencies must live under
third_party/and be exposed throughthird_party/CMakeLists.txt.