]> git.ipfire.org Git - thirdparty/libarchive.git/commit
Support producing multi-fragment zstd archives.
authorDag-Erling Smørgrav <des@des.no>
Tue, 22 Nov 2022 02:52:43 +0000 (02:52 +0000)
committerMartin Matuška <martin@matuska.de>
Mon, 9 Jan 2023 14:23:53 +0000 (15:23 +0100)
commita6b488c528b70be136cd5e60928a834081e2ec4d
treec91ec64a470913e532b6115f3ea4d67b84429bef
parent9de87afec611783439b260bc20f1fc088ad4bbc8
Support producing multi-fragment zstd archives.

When the `zstd:frame-per-file` option is specified, the zstd filter will start a new frame when flushed, i.e. for each file in the archive.

The `zstd:min-frame-size=N` option modifies the `zstd:frame-per-file` option in that it will not start a new frame unless the current one exceeds `N` bytes.

When the `zstd:max-frame-size=N` option is specified, the zstd filter will start a new frame any time the compressed size of the previous one exceeds `N` bytes.

These options decrease compression efficiency by a varying amount (depending on the exact composition of its contents) but render the tarball seekable, to a certain extent.
libarchive/archive_write_add_filter_zstd.c