The jpeg_memsrcdest.c file implements jpeg_mem_src() and jpeg_mem_dest() when JPEG_LIB_VERSION < 80 in order to provide those functions to libv4lconvert when the libjpeg library being used is too old. However, the jpeg_memsrcdest.h file exposes the prototypes of those functions unconditionally. Until now, the prototype was matching the one of the functions exposed by libjpeg (when JPEG_LIB_VERSION >= 80), so there was no problem. But since the release of libjpeg 9b (in January 2016), they changed the second argument of jpeg_mem_src() from "unsigned char *" to "const unsigned char*". Therefore, there are two prototypes for the jpeg_mem_src() function: one from libjpeg, one from libv4l, and they conflict with each other. To resolve this situation, this patch modifies jpeg_memsrcdest.h to only expose the prototypes when libv4l is implementing the functions (i.e when JPEG_LIB_VERSION < 80). When JPEG_LIB_VERSION >= 80, the prototypes will come from <jpeglib.h>. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> --- lib/libv4lconvert/jpeg_memsrcdest.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/libv4lconvert/jpeg_memsrcdest.h b/lib/libv4lconvert/jpeg_memsrcdest.h index e971182..28a6477 100644 --- a/lib/libv4lconvert/jpeg_memsrcdest.h +++ b/lib/libv4lconvert/jpeg_memsrcdest.h @@ -1,5 +1,7 @@ #include <jpeglib.h> +#if JPEG_LIB_VERSION < 80 + void jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer, unsigned long bufsize); @@ -7,3 +9,5 @@ jpeg_mem_src (j_decompress_ptr cinfo, unsigned char * buffer, void jpeg_mem_dest (j_compress_ptr cinfo, unsigned char ** outbuffer, unsigned long * outsize); + +#endif -- 2.6.4 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html