Files
cvmmap-streamer/third_party
crosstyan 039379f5fe fix: avoid zstd segfault in vendored mcap writer
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
2026-03-24 16:00:55 +08:00
..

Third-Party Dependencies

All vendored dependencies in this repo live under third_party/.

Dependencies:

  • CLI11 (git submodule): command-line parsing, target CLI11::CLI11
  • proxy (git submodule): proxy/rtti headers, target msft_proxy4::proxy
  • tomlplusplus (vendored source drop): TOML parsing, target tomlplusplus::tomlplusplus
  • mcap (vendored source drop): MCAP headers, target mcap::mcap

Bootstrap:

  • git submodule sync --recursive
  • git submodule update --init --recursive

Rule:

  • New vendored dependencies must live under third_party/ and be exposed through third_party/CMakeLists.txt.