I'm trying to use liblzma to compress data using lzma1, but I'm having an issue where lzma_stream_encoder
returns LZMA_PROG_ERROR
before I get a chance.
I've tried modifying options and swapping in other filters, but I haven't been able to get the lzma_stream_encoder
to return anything other than 11 for lzma1. If I swap it out with the lzma2 it does work.
lzma_stream stream = LZMA_STREAM_INIT;
lzma_options_lzma options;
lzma_lzma_preset(&options, LZMA_PRESET_DEFAULT);
lzma_filter filters[] = {
{.id = LZMA_FILTER_LZMA1, .options = &options},
{.id = LZMA_VLI_UNKNOWN, .options = NULL}
};
// this returns LZMA_PROG_ERROR (11)
lzma_stream_encoder(&stream, filters, LZMA_CHECK_CRC64);
I solved my issue by using source from the original lzma implementation by Igor Pavlov instead of liblzma.