Hard resource ceilings for one import. More...
#include <dawproject_import.hpp>
Public Attributes | |
| std::size_t | max_xml_bytes = 64u * 1024u * 1024u |
| Raw project.xml bytes, checked before constructing the XML DOM. | |
| std::size_t | max_tracks = 16'384 |
| Maximum tracks across the whole document. | |
| std::size_t | max_clips = 1'000'000 |
| Maximum clips across the whole document. | |
| std::size_t | max_notes = 5'000'000 |
| Maximum notes across the whole document. | |
| std::size_t | max_media_assets = 16'384 |
| Maximum unique retained assets after content-hash deduplication. | |
| std::size_t | max_media_resolver_calls = 1'000'000 |
| Maximum resolver calls, including repeated paths or content. | |
| std::size_t | max_package_path_bytes = 4'096 |
| Maximum UTF-8 bytes in one package-relative path. | |
| std::uint64_t | max_media_bytes_per_resolver_call = 2ull * 1024ull * 1024ull * 1024ull |
| Maximum bytes returned by one successful resolver call. | |
| std::uint64_t | max_total_media_bytes = 16ull * 1024ull * 1024ull * 1024ull |
| Maximum bytes returned by all successful calls, including duplicates. | |
Hard resource ceilings for one import.
Limits are checked before XML parsing and before growing importer-owned structural collections. Media byte limits are checked immediately after a resolver returns, before inspection, hashing, or retention. A zero limit rejects any corresponding non-empty resource.
Resolvers still own the allocation used to produce their returned vector; callers handling untrusted packages should apply the same per-call byte ceiling while reading package entries.
| std::size_t pulp::timeline::DawProjectImportLimits::max_clips = 1'000'000 |
Maximum clips across the whole document.
| std::size_t pulp::timeline::DawProjectImportLimits::max_media_assets = 16'384 |
Maximum unique retained assets after content-hash deduplication.
| std::uint64_t pulp::timeline::DawProjectImportLimits::max_media_bytes_per_resolver_call = 2ull * 1024ull * 1024ull * 1024ull |
Maximum bytes returned by one successful resolver call.
| std::size_t pulp::timeline::DawProjectImportLimits::max_media_resolver_calls = 1'000'000 |
Maximum resolver calls, including repeated paths or content.
| std::size_t pulp::timeline::DawProjectImportLimits::max_notes = 5'000'000 |
Maximum notes across the whole document.
| std::size_t pulp::timeline::DawProjectImportLimits::max_package_path_bytes = 4'096 |
Maximum UTF-8 bytes in one package-relative path.
| std::uint64_t pulp::timeline::DawProjectImportLimits::max_total_media_bytes = 16ull * 1024ull * 1024ull * 1024ull |
Maximum bytes returned by all successful calls, including duplicates.
| std::size_t pulp::timeline::DawProjectImportLimits::max_tracks = 16'384 |
Maximum tracks across the whole document.
| std::size_t pulp::timeline::DawProjectImportLimits::max_xml_bytes = 64u * 1024u * 1024u |
Raw project.xml bytes, checked before constructing the XML DOM.