From: Thomas Petazzoni Date: Thu, 21 Jan 2016 09:52:02 +0000 (+0100) Subject: libv4l: add patch to fix libjpeg build issue X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=343ec915e3f7cb6f83ef114cd6c5e5f3502d8f4a;p=buildroot.git libv4l: add patch to fix libjpeg build issue Since the bump of libjpeg to v9b, libv4l doesn't build anymore due to the change of the prototype of jpeg_mem_src(), which gets re-implemented in libv4l when the libjpeg is too old. Fixes: http://autobuild.buildroot.org/results/e7a/e7a2341cbbcf514f4cd6754a5a36cebd6556a757/ Signed-off-by: Thomas Petazzoni Acked-by: Gustavo Zacarias Tested-by: Gustavo Zacarias Signed-off-by: Thomas Petazzoni --- diff --git a/package/libv4l/0005-libv4lconvert-only-expose-jpeg_mem_-protoypes-when-J.patch b/package/libv4l/0005-libv4lconvert-only-expose-jpeg_mem_-protoypes-when-J.patch new file mode 100644 index 0000000000..d0d3624c85 --- /dev/null +++ b/package/libv4l/0005-libv4lconvert-only-expose-jpeg_mem_-protoypes-when-J.patch @@ -0,0 +1,53 @@ +From d468d1bba973999f2f1103ebaf7df5c8440a5499 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Thu, 21 Jan 2016 10:22:16 +0100 +Subject: [PATCH] libv4lconvert: only expose jpeg_mem_*() protoypes when + JPEG_LIB_VERSION < 80 + +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 . + +Signed-off-by: Thomas Petazzoni +--- + 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 + ++#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 +