gmio_amf: make z_stream alloc/free functions parametrizable
This commit is contained in:
parent
e7a36b4a60
commit
1b1b2f03ea
@ -898,6 +898,9 @@ int gmio_amf_write(
|
|||||||
mblock_halfsize,
|
mblock_halfsize,
|
||||||
NULL);
|
NULL);
|
||||||
context.z_crc32 = gmio_zlib_crc32_initial();
|
context.z_crc32 = gmio_zlib_crc32_initial();
|
||||||
|
context.z_stream.zalloc = opts->z_compress_options.func_alloc;
|
||||||
|
context.z_stream.zfree = opts->z_compress_options.func_free;
|
||||||
|
context.z_stream.opaque = opts->z_compress_options.opaque;
|
||||||
context.error =
|
context.error =
|
||||||
gmio_zlib_compress_init(
|
gmio_zlib_compress_init(
|
||||||
&context.z_stream, &opts->z_compress_options);
|
&context.z_stream, &opts->z_compress_options);
|
||||||
|
@ -81,6 +81,20 @@ struct gmio_zlib_compress_options
|
|||||||
* \c 1 uses minimum memory but is slow and reduces compression ratio
|
* \c 1 uses minimum memory but is slow and reduces compression ratio
|
||||||
* \c 9 uses maximum memory for optimal speed */
|
* \c 9 uses maximum memory for optimal speed */
|
||||||
uint8_t memory_usage;
|
uint8_t memory_usage;
|
||||||
|
|
||||||
|
/*! Optional pointer to a function used to allocate the internal state
|
||||||
|
* within \c z_stream structure.
|
||||||
|
* \sa z_stream::zalloc */
|
||||||
|
void* (*func_alloc)(void* opaque, unsigned int items, unsigned int size);
|
||||||
|
|
||||||
|
/*! Optional pointer to a function used to free the internal state within
|
||||||
|
* \c z_stream structure.
|
||||||
|
* \sa z_stream::zfree */
|
||||||
|
void (*func_free)(void* opaque, void* address);
|
||||||
|
|
||||||
|
/*! Optional private data object passed to func_alloc and func_free.
|
||||||
|
* \sa z_stream::opaque */
|
||||||
|
void* opaque;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* GMIO_ZLIB_COMPRESS_H */
|
#endif /* GMIO_ZLIB_COMPRESS_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user