When I am trying to add vendor specific members to the structure "jpeg_compress_struct" and try to run with standard applications or with gstreamer an error is occurs indicating structure size mismatch for the above mentioned structure.
Application sends structure size as 488 bytes whereas inside library structure size after adding vendor specific code becomes more than 488 resulting in structure size mismatch error.
In order to overcome this problem I see possibility of following solution.
-- Compile the client to libjpeg with the header files modified for vendor specific code.

But this does not sound to be a better solution as every application which is using libjpeg will need to be compiled with modified header files.

There is a void pointer "client_data" inside the mentioned structure. But this might not be useful as name suggests that it might be in use by applications.
We need to have additional void pointer inside the "jpeg_compress_struct" structure  to accommodate additional vendor specific members.

What could be the right solution to overcome this kind of problem?