Hello, I hope this is the right place for this kind of question. As developper, i'm actually writing java interface to use libFLAC with JNA, to reproduce "flac -t" function, needed to validate/unvalidate flac files before sending them in our preservation system. . Everything is working fine between java and libFLAC.so. Callback are called, C API is smart with void* client_data parameter, which is useful to keep custom structure. My problem is : with JNA and libFLAC, I can't identify if error callback has been called, due to variable visibility restriction, because error_callback implementation in java cannot communicate with java main code (not without an ugly trick). With native implementaiton of FLAC (decoder.c or other samples), client_data sent to FLAC__stream_decoder_init_file is updated by error_callback. But java keep initial reference of this parameter and java main code never see this update after this step. Note : when error_callback is called, I update client_data sent in parameter, well received updated by native code stored in decoder variable. The only thing is missing to me, is a function to return client_data from decoder. This simple patch do the job for me : StreamDecoder.h : FLAC_API void *get_client_data_from_decoder(FLAC__StreamDecoder *decoder); StreamDecoder.c : void *get_client_data_from_decoder(FLAC__StreamDecoder *decoder) { return decoder->private_->client_data; } I finally can use this function after FLAC__stream_decoder_process_until_end_of_stream call to check client_data and assert no error happened. My question / suggestion : I would like to know if it could be insteresting to you (and us) to add this client_data return function in libFLAC ? Maybe some other developpers will have to use libFLAC with JNA, and continue to update the lib without having to patch it. Thanks for your attention and for your great work with flac development, Best regards, -- Christophe Dumont Bibliothèque nationale de France DSI Exposition Paysages français – Une aventure photographique (1984 - 2017) - du 24 octobre 2017 au 4 février 2018 - BnF - François-Mitterrand Avant d'imprimer, pensez à l'environnement. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.xiph.org/pipermail/flac-dev/attachments/20171122/94330518/attachment.html>