| From d468d1bba973999f2f1103ebaf7df5c8440a5499 Mon Sep 17 00:00:00 2001 |
| From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| 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 <jpeglib.h>. |
| |
| Patch upstream at: |
| http://git.linuxtv.org/v4l-utils.git/commit/?id=0b33f4c87cb26644ea662455acbc1649858b151f. |
| |
| Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| --- |
| 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 |
| |